Enrich Company Intelligence API

IP-to-company resolution and LinkedIn company-follower scraping.

OpenAPI Specification

enrich-so-company-intelligence-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Enrich Account Company Intelligence API
  description: 'Enrich (enrich.so) is a person and company data enrichment API. From one REST interface it resolves professional profiles from an email address (reverse email lookup), finds and verifies professional email addresses, finds phone/mobile numbers, resolves a company and geolocation from an IP address, scrapes LinkedIn company followers, and searches a lead-finder database of people and organizations. All requests use the base URL https://dev.enrich.so/api/v3 and authenticate with an API key passed either in the `x-api-key` header or as `Authorization: Bearer`. Usage is metered against a prepaid credit balance; "not found" results are refunded.

    Grounding note: the single-lookup endpoints in this document (POST /reverse-lookup/lookup, POST /email-finder, POST /email-validation, GET /reverse-lookup/phones, POST /ip-to-company, POST /company-follower, POST /lead-finder/search, POST /lead-finder/reveal) and their credit costs are confirmed from the live Enrich documentation. The batch / progress / results sub-paths are modeled from the documented batch-and-poll pattern (submit -> check progress -> get results) and their exact URL segments should be confirmed against the current docs before code generation. Modeled operations are marked with `x-endpoint-modeled: true`.'
  version: '3.0'
  contact:
    name: Enrich
    url: https://www.enrich.so
  termsOfService: https://www.enrich.so/terms
servers:
- url: https://dev.enrich.so/api/v3
  description: Enrich API v3
security:
- apiKeyHeader: []
- bearerAuth: []
tags:
- name: Company Intelligence
  description: IP-to-company resolution and LinkedIn company-follower scraping.
paths:
  /ip-to-company:
    post:
      operationId: resolveCompanyFromIp
      tags:
      - Company Intelligence
      summary: Resolve company from IP
      description: Resolves company, organization, and geolocation information from an IPv4 or IPv6 address. Results are cached for 7 days. 100 credits per request; not charged when no domain is found.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IpToCompanyRequest'
      responses:
        '200':
          description: Company and geolocation resolved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IpToCompanyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/InsufficientCredits'
        '429':
          $ref: '#/components/responses/RateLimited'
  /company-follower:
    post:
      operationId: startCompanyFollowerScrape
      tags:
      - Company Intelligence
      summary: Start company follower scrape
      description: Starts an asynchronous scrape of a LinkedIn company's followers, with optional filters for country, state, job title, department, and seniority level. Credits are reserved upfront from max_limit and settled (excess refunded) when results are fetched. Returns a batchId.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyFollowerRequest'
      responses:
        '202':
          description: Scrape started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartCompanyFollowerResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/InsufficientCredits'
  /company-follower/{batchId}:
    get:
      operationId: getCompanyFollowerResults
      tags:
      - Company Intelligence
      summary: Check scrape progress and get follower results
      description: Returns scrape progress and, when complete, the follower profiles.
      x-endpoint-modeled: true
      parameters:
      - name: batchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Scrape status or follower results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyFollowerResultsResponse'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: No matching record was found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    RateLimited:
      description: Rate limit exceeded. Includes a Retry-After header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Unauthorized:
      description: Missing, invalid, or disabled API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    InsufficientCredits:
      description: Not enough credits to complete the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  schemas:
    EnrichmentMeta:
      type: object
      description: Metadata returned with every response, including remaining credit balance.
      properties:
        creditsCharged:
          type: integer
        creditsRemaining:
          type: integer
        cached:
          type: boolean
    CompanyFollowerRequest:
      type: object
      required:
      - companyUrl
      - max_limit
      properties:
        companyUrl:
          type: string
          description: LinkedIn company URL to scrape.
        max_limit:
          type: integer
          minimum: 1
          maximum: 50000
        countries:
          type: array
          items:
            type: string
        states:
          type: array
          items:
            type: string
        jobTitles:
          type: array
          items:
            type: string
        departments:
          type: array
          items:
            type: string
        levels:
          type: array
          items:
            type: string
        webhookUrl:
          type: string
        skipCache:
          type: boolean
    CompanyFollowerResultsResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            status:
              type: string
            followers:
              type: array
              items:
                type: object
    IpToCompanyRequest:
      type: object
      required:
      - ip
      properties:
        ip:
          type: string
          description: IPv4 or IPv6 address to resolve.
    StartCompanyFollowerResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            batchId:
              type: string
            creditsReserved:
              type: integer
            perItemCost:
              type: integer
    IpToCompanyResponse:
      type: object
      properties:
        success:
          type: boolean
        meta:
          $ref: '#/components/schemas/EnrichmentMeta'
        data:
          type: object
          properties:
            domain:
              type: string
            organization:
              type: string
            country:
              type: string
            region:
              type: string
            city:
              type: string
            latitude:
              type: number
            longitude:
              type: number
            timezone:
              type: string
            isp:
              type: string
            usageType:
              type: string
    ErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: API key (prefixed sk_) passed in the x-api-key header.
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Authorization Bearer token.
Where this information came from

This is an independent, third-party profile of Enrich Company Intelligence API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.