Introduction
The BuiltWith Domain API provides XML, JSON, CSV, XLSX access to the technology information of a website which includes all technical information as found on detailed lookups at builtwith.com and additional meta data where available.
The general access method is as follows -
https://api.builtwith.com/v21/api.[json|csv|xlsx]?KEY=[YOUR KEY]&LOOKUP=[DOMAIN]
Please note XML is not supported post v21 - you can use the XML version up to v20.
Authentication
You must provide your API key in each lookup. See the examples for how this works.
Login or Create a Free Account to get your API key.
Get Domain Example
XML Get Single Domain
https://api.builtwith.com/v20/api.xml?KEY=[YOUR KEY]&LOOKUP=hotelscombined.com
JSON Get Single Domain
https://api.builtwith.com/v21/api.json?KEY=[YOUR KEY]&LOOKUP=builtwith.com
CSV Get Single Domain
https://api.builtwith.com/v21/api.csv?KEY=[YOUR KEY]&LOOKUP=builtwith.com
Excel XLSX Get Single Domain
https://api.builtwith.com/v21/api.xlsx?KEY=[YOUR KEY]&LOOKUP=builtwith.com
Get Multiple Domains Example
Provide multiple LOOKUP domains as a CSV (up to 16)
https://api.builtwith.com/v21/api.json?KEY=[YOUR KEY]&LOOKUP=hotelscombined.com,builtwith.com
Provide multiple LOOKUP domains as a CSV (up to 16) get results as an Excel Spreadsheet with worksheets for each lookup
https://api.builtwith.com/v21/api.xlsx?KEY=[YOUR KEY]&LOOKUP=hotelscombined.com,builtwith.com
High Throughput Lookups
For bulk lookups use the BuiltWith Bulk Domain API or the BuiltWith Bulk File Drop Domain API.
For ultra fast high performance API lookups use the following syntax.
https://api.builtwith.com/v21/api.json?KEY=[YOUR KEY]&HIDETEXT=yes&NOMETA=yes&NOPII=yes&NOLIVE=yes&NOATTR=yes&LOOKUP=site1.com,site2.com,site3.com,site4.com,site5.com,site6.com,site7.com,site8.com,site9.com,site10.com,site11.com,site12.com,site13.com,site14.com,site15.com,site16.com
- 16 Root Domains or Subdomains Only Per Lookup - alphabetically random for performance improvements
- Text, Meta, Attributes, Contacts all removed
- Removes live lookup of results if not in our database
For even higher throughput contact us about dedicated endpoint solutions.
Rate Limiting
Maximum 8 concurrent requests - with maximum of 10 requests per second - please ensure you remain below this or you will get 403 errors. XLSX is not recommend for high throughput use CSV.
For rate limit removals contact us about dedicated endpoint solutions.
Get Specific Page Profile Example
Providing an internal URL or subdomain will get that specific page technology profile. Ensure you encode the LOOKUP parameter.
https://api.builtwith.com/v21/api.json?KEY=[YOUR KEY]&LOOKUP=hotelscombined.com%2FPlace%2FHawaii.htm
Reference
GET Request Parameters
Name |
Examples |
Required |
KEY |
Login or Create a Free Account to get your API key.
This is your key, use this for lookups.
|
Yes |
LOOKUP |
cnn.com
example.com%3Ftest
Escape paths and parameters for full urls
Multi-Lookup Option
When doing RAW domain lookups, you can parse up to 16 domains at once as a CSV. For example cnn.com,about.com,builtwith.com - this dramatically improves throughput.
|
Yes |
HIDETEXT |
yes
This will hide technology description, link, tag and category fields. |
No |
HIDEDL |
yes
This will hide technology description and link fields (but keep tag and categories). |
No |
LIVEONLY |
yes
This will only return technologies we consider to be live. |
No |
NOLIVE |
yes
This will not lookup the root domain website if we do not have it in our database. Improves performance. |
No |
TRUST |
yes
This is basically the same as making an additional Trust API call - adding this uses an additional API Credit. |
No |
NOMETA |
yes
No meta data (like address, names etc..) will be returned. Improves performance. |
No |
NOPII |
yes
Any people names and/or emails will be removed from data. Note EU and California PII is automatically removed. |
No |
NOATTR |
yes
No attributes data will be returned. Improves performance. |
No |
Response Object
The Domain API will respond with a document in the format -
Result->Paths[Path->Technologies[Technology]],Meta,Attributes
Results
Results is the top level response that identifies the lookup.
Name |
Example |
Description |
Lookup |
hotelscombined.com |
The domain that was looked up. |
Result |
The technology lookup |
Explained below. |
IsDB |
True/False/Misleading |
If the lookup used our database or had to visit the site to get the profile or if the profile is 'Misleading' i.e. user generated content site. |
Spend |
4364 |
The average monthly USD tech spend for the Domain based on the technologies detected |
SalesRevenue |
29853826 |
Estimated monthly USD sales revenue for core eCommerce businesses (will be 0 for non-eCommerce) |
SpendHistory |
[{"D":1140042000000,"S":100},...] |
D(ate) - S(pend) array of dates and USD monthly average spend across entire coverage of domain - seperated into maximum 60 periods between first and last indexed - gaps mean no change in spend during that period. |
Meta |
Meta object explained below. |
All of the meta data we have associated with this domain. |
Attributes |
Attributes object explained below. |
All of the attribute data we have associated with this domain. |
FirstIndexed |
2012-07-29T14:00:00Z (xml)
1378422000000 (json) |
The earliest index point for this entire domain. |
LastIndexed |
2014-07-29T14:00:00Z (xml)
1378822000000 (json) |
The most recent index point for this entire domain. |
Paths
Path is a result from a URL or collection of sub-pages on a domain if the Url field is "dd".
Name |
Example |
Description |
Domain |
disney.com |
The root domain |
Url |
dd |
A value of dd means this path technology data is built from multiple sub-pages
and is only relevant for domain only based lookups. |
SubDomain |
blog |
A subdomain of the domain, for example a value of blog and a domain of disney.com is the profile for blog.disney.com |
FirstIndexed |
2012-07-29T14:00:00Z (xml)
1378422000000 (json) |
The earliest index point for this particular path. |
LastIndexed |
2014-07-29T14:00:00Z (xml)
1378822000000 (json) |
The most recent index point for this particular path. |
Technology
A technology is a web technology result found on the site.
Name |
Example |
Description |
Name |
Twitter Platform |
The name of the technology found. |
Parent |
JQuery |
The name of the parent technology (for technology versions etc..). |
Description |
This page embeds the twitter platform in one method or another |
A description of the technology found on the page |
Link |
https://twitter.com/about/resources |
A link to the website for the technology |
IsPremium |
no |
Is this a paid-for technology (does it cost money to use this technology - excluding hosting) values can be yes, no or maybe |
Tag |
javascript |
The base category for the technology. See categories index data for all types. |
Categories (Array) |
Social SDK |
An array of sub-categories for the tag as listed under main tags on BuiltWith Trends. |
FirstDetected |
2012-07-29T14:00:00Z (xml)
1378422000000 (json) |
The date the technology was first detected on the site by BuiltWith. |
LastDetected |
2018-04-30T14:00:00Z (xml)
1378422000000 (json) |
The date the technology was last detected on the site by BuiltWith. See the update endpoint (json) for last data run. |
Meta
Meta data found on the lookup website - detailed lookups only will return meta data if found.
Name |
Example |
Description |
ARank |
2323213 |
Page Rank between 1 and 100,000,000 |
QRank |
12121 |
Transco Page Traffic Rank between 1 and 1,000,000 |
Majestic |
23231 |
Majestic Rank between 1 and 1,000,000 |
Umbrella |
6423 |
Umbrella Global Router Traffic Rank between 1 and 1,000,000 |
CompanyName |
Rodale Inc. |
A valid incorporated company name |
City |
San Francisco |
A valid city name for supported countries |
Postcode |
94105 |
A valid zip/postal code |
State |
CA |
A valid state/country |
Country |
US |
ISO 3166-1 alpha-2 country code for address |
Vertical |
Technology and Computing |
One of these categories or blank. |
[Telephones] |
+1-650-745-0728 |
Valid international telephone numbers |
[Emails] |
support@site.com |
Valid domain emails |
[Social] |
https://x.com/website |
Social presence |
[Names] |
Name->Joe Bloggs
Type->0
Email->joe.bloggs@twitter.com |
Names, emails and job titles for people. See titles index for codes |
Attributes
Attribute data found on the specific domain - detailed lookups only will return attribute data if found.
Name |
Example |
Description |
MJRank |
2312 |
Majestic Rank to 1m |
MJTLDRank |
323 |
Majestic Rank for TLD of Domain to 1m |
RefSN |
21 |
Referring Subnets to Domain from Majestic |
RefIP |
212 |
Referring IPs to Domain from Majestic |
Followers |
1000 |
Brand Followers - Groups i.e. 1000 is 1000+ but less than 2000 - Group List. |
Sitemap |
211 |
Amount of sites in an indexable sitemap |
GTMTags |
8 |
Amount of tags being loaded by Google Tag Manager |
QubitTags |
8 |
Amount of tags being loaded by Qubit Tag Manager |
TealiumTags |
4 |
Amount of tags being loaded by Tealium Tag Manager |
AdobeTags |
1 |
Amount of tags being loaded by Adobe Tag Manager |
CDimensions |
10 |
Amount of custom dimensions created by Google Analytics |
CGoals |
20 |
Amount of custom goals created by Google Analytics |
CMetrics |
20 |
Amount of custom metrics created by Google Analytics |
ProductCount |
40 |
SKU Product Count |
Headers
The following variables will be passed in the response header.
Name |
Example |
Description |
X-API-CREDITS-AVAILABLE |
10000000 |
The amount of lookup credits you have available under your ID. |
X-API-CREDITS-USED |
13231 |
The amount of lookup credits that you have used. |
X-API-CREDITS-REMAINING |
986769 |
The amount of lookup credits that you have used. |
Alternative JSON Endpoint
If you are working with other platforms to consume our Domain API you might like to try our alternative JSON endpoint.
The general access method is as follows -
https://api.builtwith.com/daltv1/api.json?KEY=[YOUR KEY]&LOOKUP=[DOMAIN]
This endpoint takes a single domain only and brings back a single array of live technologies only within root, nonroot and all groups and other properties simplified into a single JSON document structure.
Code Examples
JSON/XML have integrations in all modern programming languages. Here's some StackOverflow topics for various languages - Python, C#, Java, PHP, C++, TSQL and Ruby.
Node with Axiosvar axios = require("axios").default;
var options = {
method: 'GET',
url: 'https://api.builtwith.com/v21/api.json',
params: {KEY: '[YOUR KEY]',
LOOKUP: 'wayfair.com'}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
C#var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://api.builtwith.com/v21/api.json?KEY=[YOUR KEY]&LOOKUP=wayfair.com"),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
PHP
<?php
$request = new HttpRequest();
$request->setUrl('https://api.builwith.com/v21/api.json');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'KEY' => '[YOUR KEY]',
'LOOKUP' => 'wayfair.com'
]);
try {
$response =$request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
Error Codes
Note error messages in this format cannot be guaranteed, your implementation should also consider non-200 response codes as errors. The Lookup property will be null (json) or not provided (xml) if the error is server related. View all potential well-formed error codes.
Terms of Use
Our standard terms cover the use all of our APIs.
In general, you can use the API to enhance your product in many ways. The only limitation is you cannot resell the data as-is or provide duplicate functionality to builtwith.com and its associated services.