Domain API

BuiltWith Domain API

JSON and XML Feeds for Website Technology Profiles

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.

Client SDK

A Client SDK for C# is available at https://github.com/builtwith/BuiltWith-C-Client-API and can be installed via NuGet package 'BuiltWith'.

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 Axios
var axios = require("axios").default;
var options = {   method: 'GET',   url: 'https://api.builtwith.com/v19/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/v19/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/v19/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.