BuiltWith Technology Changes API
Track technology additions and removals on websites
Track technology additions and removals on websites
openapi: 3.0.3
info:
title: BuiltWith Change Bulk Processing Technology Changes 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: Technology Changes
description: Track technology additions and removals on websites
paths:
/api.json:
get:
summary: Get technology changes for domain(s)
description: 'Returns technology additions and removals for one or more domains, with optional SINCE parameter to scope the detection window. AI-generated summaries explain the business significance of each change. 1 API credit per domain with changes; no charge for domains with none.
'
operationId: getDomainChanges
tags:
- Technology Changes
parameters:
- $ref: '#/components/parameters/KEY'
- $ref: '#/components/parameters/LOOKUP'
- $ref: '#/components/parameters/SINCE'
responses:
'200':
description: Technology changes for the requested domain(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ChangesResponse'
example:
Results:
- Lookup: example.com
Changes:
since_utc: '2026-05-01T00:00:00Z'
last_checked_utc: '2026-06-10T12:00:00Z'
summary: Example.com adopted HubSpot CRM and removed Salesforce.
events:
- type: technology_added
technology: HubSpot CRM
category:
- CRM
- Marketing Automation
tag: analytics
first_seen_utc: '2026-05-15T08:00:00Z'
importance: high
why_this_matters: Switching to HubSpot typically signals a focus on inbound marketing.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
ChangesResponse:
type: object
properties:
Results:
type: array
items:
$ref: '#/components/schemas/DomainChanges'
DomainChanges:
type: object
properties:
Lookup:
type: string
description: The queried domain
Changes:
$ref: '#/components/schemas/ChangeSet'
ChangeSet:
type: object
properties:
since_utc:
type: string
format: date-time
description: Detection window start
last_checked_utc:
type: string
format: date-time
description: Most recent scan timestamp
summary:
type: string
description: AI-generated overview of additions and removals
events:
type: array
items:
$ref: '#/components/schemas/ChangeEvent'
ChangeEvent:
type: object
properties:
type:
type: string
enum:
- technology_added
- technology_removed
description: Whether the technology was added or removed
technology:
type: string
description: Name of the technology
category:
type: array
items:
type: string
description: BuiltWith technology categories
tag:
type: string
description: Technology tag classification
first_seen_utc:
type: string
format: date-time
description: Timestamp when the addition was first detected
last_seen_utc:
type: string
format: date-time
description: Timestamp when the removal was last detected
importance:
type: string
enum:
- low
- medium
- high
description: Priority level of the change
why_this_matters:
type: string
description: AI-generated explanation of the business significance
ErrorResponse:
type: object
properties:
Errors:
type: array
items:
type: object
properties:
Code:
type: integer
Message:
type: string
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'
parameters:
SINCE:
name: SINCE
in: query
description: Time window for change detection; natural language or ISO 8601 date
required: false
schema:
type: string
example: last month
LOOKUP:
name: LOOKUP
in: query
description: Single domain or comma-separated list of domains
required: true
schema:
type: string
example: hotelscombined.com
KEY:
name: KEY
in: query
required: false
schema:
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
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