Explorium Business and Prospect Events API

Real-time business and prospect signals - funding rounds, hiring surges, office moves, leadership changes, and job changes. Enroll businesses or prospects for monitoring, fetch events, and register webhooks that push notifications to an HTTPS endpoint.

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