BuiltWith Bulk Processing API
Asynchronous batch domain processing
Asynchronous batch domain processing
openapi: 3.0.3
info:
title: BuiltWith Change Bulk Processing 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: Bulk Processing
description: Asynchronous batch domain processing
paths:
/domain/bulk:
post:
summary: Bulk domain technology lookup
description: 'Submit a list of domains for batch processing. Small batches return synchronously; large batches return a job ID for polling.
'
operationId: bulkDomainLookup
tags:
- Bulk Processing
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkRequest'
example:
KEY: 00000000-0000-0000-0000-000000000000
LOOKUP:
- example.com
- shopify.com
- wordpress.org
responses:
'200':
description: Bulk results or async job reference
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DomainResult'
- $ref: '#/components/schemas/BulkJobResponse'
components:
schemas:
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'
DomainResult:
type: object
description: Top-level response wrapper for domain technology lookups
properties:
Results:
type: array
items:
$ref: '#/components/schemas/DomainResultItem'
BulkRequest:
type: object
required:
- KEY
- LOOKUP
properties:
KEY:
type: string
format: uuid
description: API authentication key
LOOKUP:
type: array
items:
type: string
description: List of domains to look up
maxItems: 500
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
TechCategory:
type: object
properties:
Category:
type: string
example: CMS
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'
Path:
type: object
properties:
Domain:
type: string
description: Sub-domain or path scanned
Technologies:
type: array
items:
$ref: '#/components/schemas/Technology'
BulkJobResponse:
type: object
description: Async job reference for large bulk batches
properties:
JobId:
type: string
description: Job identifier for polling status
Status:
type: string
enum:
- queued
- processing
- complete
- error
Attribute:
type: object
description: Additional attribute data for a technology
properties:
Field:
type: string
Value:
type: string
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