BuiltWith Domain Lookup API
Single or multi-domain technology detection endpoints
Single or multi-domain technology detection endpoints
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/builtwith-domain-lookup-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: BuiltWith Domain Domain Lookup API
description: Current and historical website technology information for single or multiple domains. Supports JSON, XML, and CSV response formats. Provides technology stack detection, metadata, attributes, and bulk processing capabilities across 491.9 million domains and 115,907 tracked web technologies.
version: v22
contact:
name: BuiltWith Support
url: https://builtwith.com/contact
termsOfService: https://builtwith.com/terms
license:
name: Commercial
url: https://builtwith.com/plans
servers:
- url: https://api.builtwith.com/v22
description: BuiltWith Domain API v22
security:
- apiKeyQuery: []
- apiKeyHeader: []
tags:
- name: Domain Lookup
description: Single or multi-domain technology detection endpoints
paths:
/api.json:
get:
summary: Lookup domain technologies (JSON)
description: Returns the technology stack and metadata for one or more domains in JSON format. Supports up to 16 domains as a comma-separated list.
operationId: getDomainTechnologiesJson
tags:
- Domain Lookup
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/HIDETEXT'
- $ref: '#/components/parameters/NOMETA'
- $ref: '#/components/parameters/NOPII'
- $ref: '#/components/parameters/LIVEONLY'
- $ref: '#/components/parameters/TRUST'
- $ref: '#/components/parameters/FDRANGE'
- $ref: '#/components/parameters/NOATTR'
- $ref: '#/components/parameters/CATEGORIES'
- $ref: '#/components/parameters/VERTICALS'
responses:
'200':
description: Technology profile for the requested domain(s)
content:
application/json:
schema:
$ref: '#/components/schemas/DomainResult'
example:
Results:
- Result:
Lookup: example.com
Meta:
CompanyName: Example Inc
Vertical: Business and Consumer Services
Paths:
- Technologies:
- Name: WordPress
Tag: cms
Categories:
- Category: CMS
FirstDetected: 1609459200000
LastDetected: 1748736000000
Live: true
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
/api.xml:
get:
summary: Lookup domain technologies (XML)
description: Returns domain technology profile in XML format.
operationId: getDomainTechnologiesXml
tags:
- Domain Lookup
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/HIDETEXT'
- $ref: '#/components/parameters/NOMETA'
- $ref: '#/components/parameters/NOPII'
- $ref: '#/components/parameters/LIVEONLY'
- $ref: '#/components/parameters/TRUST'
- $ref: '#/components/parameters/FDRANGE'
- $ref: '#/components/parameters/NOATTR'
responses:
'200':
description: Technology profile in XML format
content:
application/xml:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api.csv:
get:
summary: Lookup domain technologies (CSV)
description: Returns domain technology profile in CSV format.
operationId: getDomainTechnologiesCsv
tags:
- Domain Lookup
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/HIDETEXT'
- $ref: '#/components/parameters/NOMETA'
- $ref: '#/components/parameters/NOPII'
- $ref: '#/components/parameters/LIVEONLY'
responses:
'200':
description: Technology profile in CSV format
content:
text/csv:
schema:
type: string
components:
schemas:
DomainResult:
type: object
description: Top-level response wrapper for domain technology lookups
properties:
Results:
type: array
items:
$ref: '#/components/schemas/DomainResultItem'
Technology:
type: object
description: A detected web technology
properties:
Name:
type: string
example: WordPress
Description:
type: string
Link:
type: string
format: uri
Tag:
type: string
description: Primary technology category tag
example: cms
Categories:
type: array
items:
$ref: '#/components/schemas/TechCategory'
FirstDetected:
type: integer
format: int64
description: Unix timestamp (ms) of first detection
LastDetected:
type: integer
format: int64
description: Unix timestamp (ms) of last detection
Live:
type: boolean
description: Whether the technology is currently active
Attributes:
type: array
items:
$ref: '#/components/schemas/Attribute'
Attribute:
type: object
description: Additional attribute data for a technology
properties:
Field:
type: string
Value:
type: string
DomainResultItem:
type: object
properties:
Result:
$ref: '#/components/schemas/Result'
DomainMeta:
type: object
description: Company and domain metadata
properties:
CompanyName:
type: string
Vertical:
type: string
Telephones:
type: array
items:
type: string
Emails:
type: array
items:
type: string
City:
type: string
State:
type: string
Postcode:
type: string
Country:
type: string
Names:
type: array
items:
type: string
Result:
type: object
properties:
Lookup:
type: string
description: The queried domain
example: example.com
Meta:
$ref: '#/components/schemas/DomainMeta'
Paths:
type: array
items:
$ref: '#/components/schemas/Path'
Path:
type: object
properties:
Domain:
type: string
description: Sub-domain or path scanned
Technologies:
type: array
items:
$ref: '#/components/schemas/Technology'
TechCategory:
type: object
properties:
Category:
type: string
example: CMS
ErrorResponse:
type: object
properties:
Errors:
type: array
items:
type: object
properties:
Code:
type: integer
Message:
type: string
parameters:
TRUST:
name: TRUST
in: query
description: Set to 'yes' to include trust/safety data (uses additional API credits)
required: false
schema:
type: string
enum:
- 'yes'
KEY:
name: KEY
in: query
description: Your BuiltWith API authentication key (UUID format)
required: false
schema:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
NOATTR:
name: NOATTR
in: query
description: Set to 'yes' to exclude technology attributes
required: false
schema:
type: string
enum:
- 'yes'
LOOKUP:
name: LOOKUP
in: query
description: 'Domain or comma-separated list of up to 16 domains to look up. Use root domains only.
'
required: true
schema:
type: string
example: example.com
FDRANGE:
name: FDRANGE
in: query
description: Filter by detection date range in YYYY-MM-DD|YYYY-MM-DD format
required: false
schema:
type: string
example: 2025-01-01|2026-01-01
LIVEONLY:
name: LIVEONLY
in: query
description: Set to 'yes' to return only currently active technologies
required: false
schema:
type: string
enum:
- 'yes'
CATEGORIES:
name: CATEGORIES
in: query
description: Set to '1' to return technology category list instead of domain data
required: false
schema:
type: integer
enum:
- 1
VERTICALS:
name: VERTICALS
in: query
description: Set to '1' to return vertical list instead of domain data
required: false
schema:
type: integer
enum:
- 1
NOPII:
name: NOPII
in: query
description: Set to 'yes' to remove personally identifiable information (names/emails)
required: false
schema:
type: string
enum:
- 'yes'
HIDETEXT:
name: HIDETEXT
in: query
description: Set to 'yes' to exclude technology descriptions and links
required: false
schema:
type: string
enum:
- 'yes'
NOMETA:
name: NOMETA
in: query
description: Set to 'yes' to skip address and company metadata
required: false
schema:
type: string
enum:
- 'yes'
responses:
Unauthorized:
description: Unauthorized — invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: 'Too many requests — max 10 req/sec or 8 concurrent requests exceeded
'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request — invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
apiKeyQuery:
type: apiKey
in: query
name: KEY
description: API key passed as a query parameter
apiKeyHeader:
type: apiKey
in: header
name: Authorization
description: 'API key in header format: ''Authorization: API {key}'''
externalDocs:
description: BuiltWith Domain API Documentation
url: https://api.builtwith.com/domain-api