openapi: 3.2.0 info: title: BuiltWith API (from llms.txt + samples) Agent Auth API version: '2026-05-08' description: OpenAPI spec generated from https://api.builtwith.com/llms.txt and sample payloads under https://api.builtwith.com/samples/*.json (where available). Endpoints not covered by a sample file use a generic JSON schema. servers: - url: https://api.builtwith.com security: - ApiKeyQuery: [] tags: - name: AgentAuth paths: /agent-auth/start: post: operationId: agent_auth_start tags: - AgentAuth summary: Start agent device-code authorization description: Starts a device-code authorization flow for AI agents. No API key is required. security: [] responses: '200': description: Device authorization started. content: application/json: schema: $ref: '#/components/schemas/AgentAuthStartResponse' /agent-auth/token: post: operationId: agent_auth_token tags: - AgentAuth summary: Poll agent device-code authorization description: Poll no faster than the interval returned by agent_auth_start. Denied and expired responses use HTTP 400 and include a JSON body. security: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentAuthTokenRequest' responses: '200': description: Token issued or authorization still pending. content: application/json: schema: $ref: '#/components/schemas/AgentAuthTokenResponse' '400': description: Access denied, expired token, or other authorization error. content: application/json: schema: $ref: '#/components/schemas/AgentAuthTokenResponse' components: schemas: AgentAuthStartResponse: type: object required: - device_code - verification_uri - expires_in - interval properties: device_code: type: string verification_uri: type: string format: uri expires_in: type: integer format: int32 interval: type: integer format: int32 additionalProperties: true AgentAuthTokenResponse: type: object properties: access_token: type: string description: Temporary bw- prefixed API token when authorization succeeds. token_type: type: string example: bearer expires_in: type: integer format: int32 error: type: string enum: - authorization_pending - access_denied - expired_token additionalProperties: true AgentAuthTokenRequest: type: object required: - device_code properties: device_code: type: string additionalProperties: false securitySchemes: ApiKeyQuery: type: apiKey in: query name: KEY description: BuiltWith API key (KEY). BearerAuth: type: http scheme: bearer description: BuiltWith API key or temporary bw- agent token in the Authorization header. externalDocs: description: 'Source: BuiltWith llms.txt' url: https://api.builtwith.com/llms.txt x-mcp: endpoint: https://api.builtwith.com/mcp server: builtwith version: 1.3.0 transport: streamable-http tools: - domain-lookup - domain-api - domain-api-json - change-api - relationships-api - free-api - company-to-url - tags-api - recommendations-api - redirects-api - keywords-api - keywords-search-api - trends-api - product-api - trust-api - financial-api - social-api - payment-balance - payment-config - payment-purchase - vector-api - ask-api - ask-api-json resources: - ui://widget/domain-technologies.html - ui://widget/ask-sites.html prompts: - analyze-tech-stack - find-related-websites - get-technology-recommendations - research-company - check-domain-trust - discover-technologies-by-concept x-live-feed-websocket: tag: LiveFeed servers: - url: wss://sync.builtwith.com connection_endpoints: - wss://sync.builtwith.com/wss/new?KEY=YOUR_KEY - wss://sync.builtwith.com/wss/channel/{TECH}?KEY=YOUR_KEY commands: - action: subscribe payload: action: subscribe channel: Shopify - action: unsubscribe payload: action: unsubscribe channel: Shopify - action: list_subscriptions payload: action: list_subscriptions