BuiltWith Tag Lookup API
Lookup domains by IP or attribute identifier
Lookup domains by IP or attribute identifier
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-tag-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 Change Bulk Processing Tag Lookup API
description: 'Track technology additions and removals on websites with business context. Returns AI-generated summaries explaining the business significance of technology changes. Credits are only consumed when changes are found.
'
version: change1
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/change1
description: BuiltWith Change API v1
security:
- apiKeyQuery: []
- apiKeyHeader: []
tags:
- name: Tag Lookup
description: Lookup domains by IP or attribute identifier
paths:
/api.json:
get:
summary: Get domains by tag/attribute (JSON)
description: 'Returns domains associated with the given attribute (IP address, publisher ID, etc.). Supports up to 16 comma-separated attribute values. Use TYPES=true to retrieve the list of available attribute types.
'
operationId: getTagDomainsJson
tags:
- Tag Lookup
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/TYPES'
responses:
'200':
description: Domains matching the attribute or list of attribute types
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TagResult'
- $ref: '#/components/schemas/TypesResult'
example:
Identifiers:
- Value: IP-98.158.194.127
Matches:
- Domain: example.com
First: '2020-01-01'
Last: '2026-06-01'
- Domain: example2.com
First: '2021-03-15'
Last: '2025-12-01'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api.xml:
get:
summary: Get domains by tag/attribute (XML)
operationId: getTagDomainsXml
tags:
- Tag Lookup
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/TYPES'
responses:
'200':
description: Tag domains in XML
content:
application/xml:
schema:
type: object
components:
parameters:
KEY:
name: KEY
in: query
required: false
schema:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
LOOKUP:
name: LOOKUP
in: query
description: 'Attribute value(s) to query, prefix with type (e.g. IP-98.158.194.127 or CA-PUB-1894893914772263). Up to 16 comma-separated values.
'
required: false
schema:
type: string
example: IP-98.158.194.127
TYPES:
name: TYPES
in: query
description: Set to 'true' to return list of available attribute types
required: false
schema:
type: string
enum:
- 'true'
schemas:
TypesResult:
type: object
description: Available attribute types
properties:
Types:
type: array
items:
type: object
properties:
Type:
type: string
description: Attribute type identifier
Description:
type: string
description: Human-readable description of the attribute type
TagIdentifier:
type: object
properties:
Value:
type: string
description: The queried attribute value
example: IP-98.158.194.127
Matches:
type: array
items:
$ref: '#/components/schemas/TagMatch'
TagMatch:
type: object
properties:
Domain:
type: string
description: Domain associated with the attribute
First:
type: string
format: date
description: First detection date (ISO 8601)
Last:
type: string
format: date
description: Last detection date (ISO 8601)
ErrorResponse:
type: object
properties:
Errors:
type: array
items:
type: object
properties:
Code:
type: integer
Message:
type: string
TagResult:
type: object
description: Results for tag/attribute lookup
properties:
Identifiers:
type: array
items:
$ref: '#/components/schemas/TagIdentifier'
responses:
Unauthorized:
description: Unauthorized — invalid or missing API key
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
apiKeyHeader:
type: apiKey
in: header
name: Authorization
description: 'Format: ''Authorization: API {key}'''
externalDocs:
description: BuiltWith Change API Documentation
url: https://api.builtwith.com/change-api