openapi: 3.1.0 info: title: Demandbase API description: >- The Demandbase API provides programmatic access to account identification, firmographic data, and visitor intelligence to enable account-based experiences. Use this API to look up company information, enrich account records, and power ABM workflows. version: '1.0' contact: name: Demandbase Support url: https://support.demandbase.com/ termsOfService: https://www.demandbase.com/terms-of-service/ externalDocs: description: Demandbase API Documentation url: https://docs.demandbase.com/ servers: - url: https://api.demandbase.com description: Demandbase Production API tags: - name: Accounts description: Look up and retrieve account information - name: Enrichment description: Enrich account and contact records with B2B data - name: Firmographics description: Access firmographic data for companies - name: Identification description: Identify companies from various signals security: - apiKeyAuth: [] paths: /accounts/search: get: operationId: searchAccounts summary: Demandbase Search accounts description: >- Search for accounts by company name, domain, or other firmographic attributes. Returns matching account records with firmographic data. tags: - Accounts parameters: - name: query in: query required: true description: Search query string (company name, domain, etc.) schema: type: string - name: limit in: query required: false description: Maximum number of results to return schema: type: integer default: 10 maximum: 100 - name: offset in: query required: false description: Number of results to skip for pagination schema: type: integer default: 0 responses: '200': description: Matching accounts returned successfully content: application/json: schema: type: object properties: results: type: array items: $ref: '#/components/schemas/Account' total: type: integer description: Total number of matching results '400': description: Invalid search parameters '401': description: Unauthorized - invalid or missing API key '429': description: Rate limit exceeded /accounts/{accountId}: get: operationId: getAccount summary: Demandbase Get account by ID description: >- Retrieve detailed firmographic and account information for a specific account by its Demandbase account ID. tags: - Accounts parameters: - $ref: '#/components/parameters/accountId' responses: '200': description: Account details returned successfully content: application/json: schema: $ref: '#/components/schemas/Account' '401': description: Unauthorized '404': description: Account not found /accounts/domain/{domain}: get: operationId: getAccountByDomain summary: Demandbase Get account by domain description: >- Look up a company account by its web domain. Returns firmographic data and account attributes for the matched company. tags: - Accounts - Identification parameters: - name: domain in: path required: true description: Company web domain (e.g., acme.com) schema: type: string responses: '200': description: Account details returned successfully content: application/json: schema: $ref: '#/components/schemas/Account' '401': description: Unauthorized '404': description: No account found for the given domain /enrichment/account: post: operationId: enrichAccount summary: Demandbase Enrich account record description: >- Enrich an account record with Demandbase firmographic data, intent signals, and technographic information by providing a domain or company name. tags: - Enrichment requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnrichmentRequest' responses: '200': description: Enriched account data returned successfully content: application/json: schema: $ref: '#/components/schemas/Account' '400': description: Invalid request body '401': description: Unauthorized '404': description: No matching account found /firmographics/{domain}: get: operationId: getFirmographics summary: Demandbase Get firmographic data description: >- Retrieve firmographic data for a company by its domain, including employee count, revenue, industry, location, and corporate hierarchy. tags: - Firmographics parameters: - name: domain in: path required: true description: Company web domain schema: type: string responses: '200': description: Firmographic data returned successfully content: application/json: schema: $ref: '#/components/schemas/Firmographics' '401': description: Unauthorized '404': description: No firmographic data found for the given domain components: securitySchemes: apiKeyAuth: type: apiKey in: header name: Authorization description: API key provided as a bearer token in the Authorization header parameters: accountId: name: accountId in: path required: true description: Demandbase account unique identifier schema: type: string schemas: Account: type: object properties: account_id: type: string description: Unique Demandbase account identifier company_name: type: string description: Official company name domain: type: string description: Primary web domain industry: type: string description: Industry classification sub_industry: type: string description: Sub-industry classification employee_count: type: integer description: Number of employees employee_range: type: string description: Employee count range bucket revenue: type: number description: Annual revenue in USD revenue_range: type: string description: Revenue range bucket address: type: string description: Street address city: type: string description: City state: type: string description: State or province country: type: string description: Country zip: type: string description: Postal code phone: type: string description: Primary phone number website: type: string format: uri description: Company website URL stock_ticker: type: string description: Stock ticker symbol fortune_1000: type: boolean description: Whether the company is in the Fortune 1000 forbes_2000: type: boolean description: Whether the company is in the Forbes 2000 parent_company_id: type: string description: Demandbase ID of parent company ultimate_parent_company_id: type: string description: Demandbase ID of ultimate parent company Firmographics: type: object properties: domain: type: string description: Company web domain company_name: type: string description: Official company name employee_count: type: integer description: Number of employees employee_range: type: string description: Employee count range revenue: type: number description: Annual revenue in USD revenue_range: type: string description: Revenue range bucket industry: type: string description: Industry classification sub_industry: type: string description: Sub-industry classification country: type: string description: Country of headquarters state: type: string description: State or province of headquarters city: type: string description: City of headquarters sic_code: type: string description: SIC industry code naics_code: type: string description: NAICS industry code EnrichmentRequest: type: object properties: domain: type: string description: Company web domain for enrichment company_name: type: string description: Company name for matching description: Provide at least one of domain or company_name