Explorium Matching API

High-accuracy entity resolution. Resolve up to 50 companies to Explorium business_id values from name, domain, URL, or LinkedIn URL, and resolve people to prospect_id values from name plus company, email, or LinkedIn URL. Matching is the first step before fetch and enrichment workflows.

OpenAPI Specification

explorium-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Explorium AgentSource API
  description: >-
    The Explorium AgentSource API is a single external-data and enrichment API
    for AI agents and go-to-market teams. It exposes match, fetch, statistics,
    autocomplete, enrichment, bulk enrichment, and event/enrollment endpoints
    over a business dataset (150M+ companies) and a prospect dataset (800M+
    people) aggregated from 100+ external sources. All endpoints are hosted at
    https://api.explorium.ai and authenticated with an API key sent in the
    API_KEY request header. Access is gated behind an Explorium account and a
    credit balance (a free developer tier of 100 credits is available), so this
    document is honestly modeled from Explorium's published OpenAPI index and
    reference pages - the endpoint paths and HTTP methods are confirmed from
    Explorium's own documentation, while request and response schemas are
    represented at a representative level. Not every one of the 30+ enrichment
    endpoints is enumerated here; a representative subset is included.
    endpointsModeled - request/response bodies are modeled; paths are confirmed.
  version: '1.0'
  contact:
    name: Explorium
    url: https://developers.explorium.ai
servers:
  - url: https://api.explorium.ai
    description: Explorium AgentSource API production
security:
  - apiKeyHeader: []
tags:
  - name: Businesses
    description: Match, fetch, stat, and autocomplete over the 150M+ company dataset.
  - name: Business Enrichments
    description: Firmographic, technographic, financial, and operational company enrichments.
  - name: Prospects
    description: Match, fetch, stat, and autocomplete over the 800M+ people dataset.
  - name: Prospect Enrichments
    description: Contact information, profile, and social enrichments for people.
  - name: Events
    description: Business and prospect event tracking plus enrollment management.
  - name: Webhooks
    description: Register endpoints that receive event notifications.
  - name: Credits
    description: Inspect the shared credit pool that meters all API usage.
paths:
  /v1/businesses/match:
    post:
      operationId: matchBusinesses
      tags:
        - Businesses
      summary: Match businesses
      description: >-
        Resolve up to 50 companies to Explorium business_id values from name,
        domain, URL, or LinkedIn URL. Returns a list the same length and order
        as the input.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessMatchRequest'
      responses:
        '200':
          description: Matched business identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatchResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses:
    post:
      operationId: fetchBusinesses
      tags:
        - Businesses
      summary: Fetch businesses
      description: >-
        Retrieve company records that match a set of filters such as industry,
        company size, location, or technology in use.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchRequest'
      responses:
        '200':
          description: A page of business records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/stats:
    post:
      operationId: fetchBusinessStats
      tags:
        - Businesses
      summary: Fetch business statistics
      description: >-
        Gauge the size and scope of a target audience for a set of filters
        before running large-scale fetches.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchRequest'
      responses:
        '200':
          description: Aggregate counts for the supplied filters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/autocomplete:
    get:
      operationId: autocompleteBusinesses
      tags:
        - Businesses
      summary: Autocomplete businesses
      description: >-
        Fuzzy search over business filter values (industries, technologies,
        locations) to build valid filter payloads.
      parameters:
        - name: field
          in: query
          required: true
          schema:
            type: string
          description: The filter field to autocomplete, for example country or naics_category.
        - name: query
          in: query
          required: true
          schema:
            type: string
          description: The partial text to match.
      responses:
        '200':
          description: Autocomplete suggestions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutocompleteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/firmographics/enrich:
    post:
      operationId: enrichFirmographics
      tags:
        - Business Enrichments
      summary: Enrich firmographics
      description: >-
        Return firmographic attributes (industry, size, revenue band, location,
        founding year) for a single matched business_id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichRequest'
      responses:
        '200':
          description: Firmographic enrichment record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/technographics/enrich:
    post:
      operationId: enrichTechnographics
      tags:
        - Business Enrichments
      summary: Enrich technographics
      description: Return the detected technology stack for a matched business_id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichRequest'
      responses:
        '200':
          description: Technographic enrichment record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/firmographics/bulk_enrich:
    post:
      operationId: bulkEnrichFirmographics
      tags:
        - Business Enrichments
      summary: Bulk enrich firmographics
      description: >-
        Enrich firmographics for up to 50 business_id values in a single
        request against the shared credit pool.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkEnrichRequest'
      responses:
        '200':
          description: Firmographic enrichment records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/businesses/events:
    post:
      operationId: fetchBusinessEvents
      tags:
        - Events
      summary: Fetch business events
      description: >-
        Retrieve real-time business signals such as funding rounds, hiring
        surges, office moves, and leadership changes.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventsRequest'
      responses:
        '200':
          description: A list of business events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/match:
    post:
      operationId: matchProspects
      tags:
        - Prospects
      summary: Match prospects
      description: >-
        Resolve people to Explorium prospect_id values from full name plus
        company, email, or LinkedIn URL.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProspectMatchRequest'
      responses:
        '200':
          description: Matched prospect identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatchResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects:
    post:
      operationId: fetchProspects
      tags:
        - Prospects
      summary: Fetch prospects
      description: >-
        Retrieve prospect records filtered by job level, department, title,
        seniority, or the business they work at.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchRequest'
      responses:
        '200':
          description: A page of prospect records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/stats:
    post:
      operationId: fetchProspectStats
      tags:
        - Prospects
      summary: Fetch prospect statistics
      description: Estimate the number of prospects matching a set of filters.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchRequest'
      responses:
        '200':
          description: Aggregate prospect counts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/autocomplete:
    get:
      operationId: autocompleteProspects
      tags:
        - Prospects
      summary: Autocomplete prospects
      description: Fuzzy search over prospect filter values such as job title or department.
      parameters:
        - name: field
          in: query
          required: true
          schema:
            type: string
        - name: query
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Autocomplete suggestions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutocompleteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/contacts_information/enrich:
    post:
      operationId: enrichProspectContacts
      tags:
        - Prospect Enrichments
      summary: Enrich contact information
      description: >-
        Return verified emails and phone numbers for a matched prospect_id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichRequest'
      responses:
        '200':
          description: Contact information enrichment record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/profiles/enrich:
    post:
      operationId: enrichProspectProfiles
      tags:
        - Prospect Enrichments
      summary: Enrich prospect profiles
      description: >-
        Return professional profile data - current role, seniority, work
        history - for a matched prospect_id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichRequest'
      responses:
        '200':
          description: Profile enrichment record.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/prospects/events:
    post:
      operationId: fetchProspectEvents
      tags:
        - Events
      summary: Fetch prospect events
      description: >-
        Retrieve real-time prospect signals such as job changes and role
        promotions.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventsRequest'
      responses:
        '200':
          description: A list of prospect events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/webhooks:
    post:
      operationId: addWebhook
      tags:
        - Webhooks
      summary: Add a webhook
      description: >-
        Register an HTTPS endpoint to receive event notifications for enrolled
        businesses or prospects.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookInput'
      responses:
        '200':
          description: The registered webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/credits:
    get:
      operationId: getActiveCredits
      tags:
        - Credits
      summary: Get active credits summary
      description: >-
        Return the active credit balance and expiry for the account. All match,
        fetch, enrich, and event calls draw down the same credit pool.
      responses:
        '200':
          description: Active credit summary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditsSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: API_KEY
      description: >-
        API key issued in the Explorium admin portal at
        https://admin.explorium.ai/api-key and sent in the API_KEY request
        header.
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    RequestContext:
      type: object
      description: Optional context passed with a request.
      properties:
        seller_id:
          type: string
    BusinessToMatch:
      type: object
      properties:
        name:
          type: string
        domain:
          type: string
        url:
          type: string
        linkedin_url:
          type: string
    BusinessMatchRequest:
      type: object
      required:
        - businesses_to_match
      properties:
        request_context:
          $ref: '#/components/schemas/RequestContext'
        businesses_to_match:
          type: array
          maxItems: 50
          items:
            $ref: '#/components/schemas/BusinessToMatch'
    ProspectToMatch:
      type: object
      properties:
        full_name:
          type: string
        company_name:
          type: string
        email:
          type: string
        linkedin_url:
          type: string
    ProspectMatchRequest:
      type: object
      required:
        - prospects_to_match
      properties:
        request_context:
          $ref: '#/components/schemas/RequestContext'
        prospects_to_match:
          type: array
          maxItems: 50
          items:
            $ref: '#/components/schemas/ProspectToMatch'
    MatchResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              matched_id:
                type: string
    FetchRequest:
      type: object
      properties:
        mode:
          type: string
          description: preview or full.
        size:
          type: integer
        page_size:
          type: integer
        page:
          type: integer
        filters:
          type: object
          additionalProperties: true
          description: Field-to-value filter map, for example country_code or company_size.
    FetchResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true
        total_results:
          type: integer
        page:
          type: integer
    StatsResponse:
      type: object
      properties:
        total_results:
          type: integer
        breakdown:
          type: object
          additionalProperties: true
    AutocompleteResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
              display:
                type: string
    EnrichRequest:
      type: object
      required:
        - business_id
      properties:
        business_id:
          type: string
          description: For prospect enrichments this is prospect_id instead.
    BulkEnrichRequest:
      type: object
      properties:
        business_ids:
          type: array
          maxItems: 50
          items:
            type: string
        prospect_ids:
          type: array
          maxItems: 50
          items:
            type: string
    EnrichResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true
    EventsRequest:
      type: object
      properties:
        business_ids:
          type: array
          items:
            type: string
        prospect_ids:
          type: array
          items:
            type: string
        event_types:
          type: array
          items:
            type: string
        timestamp_from:
          type: string
          format: date-time
    EventsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true
    WebhookInput:
      type: object
      required:
        - url
      properties:
        url:
          type: string
        event_types:
          type: array
          items:
            type: string
    Webhook:
      type: object
      properties:
        partner_id:
          type: string
        url:
          type: string
        event_types:
          type: array
          items:
            type: string
    CreditsSummary:
      type: object
      properties:
        active_credits:
          type: integer
        expires_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string