Ask API Usage

You need to login or signup to use the BuiltWith API.

Introduction

The BuiltWith Ask API converts natural language questions into BuiltWith list lookups and returns matching websites with the same core attributes as the Lists API.

A normal lookup always returns a sample. Add COMMIT=true to create and run a full Ask report, returned in sequence order with paging through NEXTOFFSET.

The general access method is as follows -
https://api.builtwith.com/ask1/api.[xml|json|txt|csv|tsv]?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain

AI Agent Prompt
Reference https://api.builtwith.com/llms.txt
Add the BuiltWith Ask API to my app. Make a call to ask1/api.json for "Magento websites in Spain" and page committed results with NEXTOFFSET.
Authentication

You must provide your API key in each Ask API lookup.

Your API key is
00000000-0000-0000-0000-000000000000.

Examples

JSON sample lookup
https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain

Queries can also use dash-separated words
https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento-websites-in-Spain

Create and run a full Ask report
https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain&COMMIT=true

Get the next committed page with the returned NextOffset value
https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain&NEXTOFFSET=[NextOffset]

Include metadata
https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain&COMMIT=true&META=yes

Reference
Parameters
The following GET parameters can be supplied for Ask API lookups
NameExamplesRequired
KEY00000000-0000-0000-0000-000000000000
This is your API key.
Yes
QUERYMagento websites in Spain
Natural language query. Spaces can be encoded as %20 or supplied as dashes.
Yes
COMMITtrue
Creates an Ask API report and returns the first full page of results.
No
NEXTOFFSETQWrd7gVNwFQCWb
Gets the next committed page. Use the exact value from NextOffset in the previous response. If NextOffset is END there are no more results.
No
METAyes
Brings back metadata with the results, including names, titles, social links, addresses, emails, telephone numbers and traffic ranks where available.
No
Responses
Format: Ask1(Explanation,NextOffset,Results[R12])
NameExampleDescription
ExplanationMatched websites using Magento with a Spain location signal.A short explanation of how the natural language query was interpreted.
NextOffsetQWrd7gVNwFQCWbEncrypted sequence anchor for the next page. Sample lookups return END.
Results[R12]Result objects explained below.Websites that match your Ask query.
Results
Ask API result objects provide the Lists API attributes, without LOS.
NameExampleDescription
Dexample.comA website that matches the query.
FD1495580400Epoch seconds technology was first detected.
LD1495580400Epoch seconds technology was last detected.
S323Monthly technology spend average in USD.
SKU1021Unique products found on the eCommerce portion of the site.
R5000Estimated sales revenue for eCommerce sites.
F5000Social followers.
E100Employee count.
A657Page Rank Top 100m Traffic Rank.
Q565Tranco Top 1m Traffic Rank.
M854Majestic Top 1m Link Rank.
U5460Umbrella Top 1m Traffic Rank.
CountryESISO 3166-1 alpha-2 country code.
METAMeta object.Supplied when META=yes parameter is used.
Meta
Metadata follows the Lists API metadata object when META=yes is supplied.
Code Examples

Examples for making Ask API requests:

var client = new HttpClient();
var url = "https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain";
var body = await client.GetStringAsync(url);
Console.WriteLine(body);
import requests
response = requests.get("https://api.builtwith.com/ask1/api.json", params={
    "KEY": "00000000-0000-0000-0000-000000000000",
    "QUERY": "Magento websites in Spain"
})
print(response.json())
const params = new URLSearchParams({
  KEY: '00000000-0000-0000-0000-000000000000',
  QUERY: 'Magento websites in Spain'
});
fetch('https://api.builtwith.com/ask1/api.json?' + params)
  .then(r => r.json())
  .then(console.log);
curl "https://api.builtwith.com/ask1/api.json?KEY=00000000-0000-0000-0000-000000000000&QUERY=Magento%20websites%20in%20Spain"
Special Domains

We maintain two lists of use for you when looking up domains. Ignore lists and BuiltWith Suffix lists.

Ignore List
This is our own internal list of domains we do not index. They are either blocked, contains too many misleading technologies or too many subdomains with user generated content.

BuiltWith Suffix List
This is based on the Public Suffix List but includes many additional entries for companies with subdomains that should be considered top level domains. This list provides us with better visibility for internal websites for example it brings northernbeaches.nsw.gov.au to the top level over nsw.gov.au.

Ignore Domains (XML, JSON or TXT)
https://api.builtwith.com/ignoresv1/api.json
Suffix Domains (XML, JSON or TXT)
https://api.builtwith.com/suffixv1/api.json
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.