Skip to main content

Features

Searching for companies

This endpoint allows you to search for companies using various filters, and optionally retrieve additional company data.

POST https://api.linkedapi.io/data/companies.search

Body


{
  "searches": [
    {
      "searchId": "unique-id-1",
      "term": "Tech Inc",
      "limit": 2,
      "filter": {
        "sizes": ["51-200", "2001-500"],
        "locations": ["San Francisco", "New York"],
        "industries": ["Software Development", "Robotics Engineering"],
        "annualRevenue": {
          "min": "0",
          "max": "2.5"
        }
      },
      "include": {
        "basicInfo": {}
      }
    },
    {
      "searchId": "unique-id-2",
      "term": "Green Energy",
      "limit": 2,
      "filter": {
        "sizes": ["1-10", "11-50"],
        "locations": ["California", "Texas"],
        "industries": ["Renewable Energy", "Forestry and Logging"],
        "annualRevenue": {
          "min": "10",
          "max": "50"
        }
      }
    }
  ]
}
  • searches – array where each item represents a separate search query.
    • searchId (optional) – unique identifier to correlate searches with results. If not provided, matches can still be determined by the order of searches and results.
    • term (optional) – keyword or phrase to search.
    • limit (optional) – number of search results to return. Defaults to 10, with a maximum value of 10.
    • include (optional) – object specifying additional company data to retrieve, following the structure of the retrieving companies data documentation.
    • filter (optional) – filter configuration object, details are specified below.

Filter configuration object

  • sizes (optional) – array of enums representing employee count ranges. Matches if company’s size falls within any of the listed ranges. Options:
    • 1-10.
    • 11-50.
    • 51-200.
    • 201-500.
    • 501-1000.
    • 1001-5000.
    • 5001-10000.
    • 10001+.
  • locations (optional) – array of free-form strings representing locations. Matches if company is headquartered in any of the listed locations.
  • industries (optional) – array of enums representing industries. Matches if company operates in any of the listed industries. Takes specific values available in the LinkedIn interface.
  • annualRevenue (optional) – object representing company annual revenue range in million USD:
    • min – enum with options:
      • 0.
      • 0.5.
      • 1.
      • 2.5.
      • 5.
      • 10.
      • 20.
      • 50.
      • 100.
      • 500.
      • 1000.
    • max – enum with options:
      • 0.5.
      • 1.
      • 2.5.
      • 5.
      • 10.
      • 20.
      • 50.
      • 100.
      • 500.
      • 1000.
      • 1000+.
When multiple filter fields are specified, they are combined using AND logic.

Response

  1. If all searches are successful:

{
  "status": "complete",
  "completion": [
    {
      "searchId": "unique-id-1",
      "result": {
        "success": true,
        "data": [
          {
            "name": "TechCorp",
            "hashedUrl": "https://www.linkedin.com/company/12345678",
            "industry": "Information Technology",
            "employeeCount": 500,
            "include": {
              "basicInfo": { ... }
            }
          },
          {
            "name": "Techical Life",
            "hashedUrl": "https://www.linkedin.com/company/87654321",
            "industry": "Software Development",
            "employeeCount": 120,
            "include": {
              "basicInfo": { ... }
            }
          }
        ]
      }
    },
    {
      "searchId": "unique-id-2",
      "result": {
        "success": true,
        "data": [
          {
            "name": "EcoPower",
            "hashedUrl": "https://www.linkedin.com/company/44771122",
            "industry": "Services for Renewable Energy",
            "employeeCount": 100,
            "include": null
          },
          {
            "name": "GreenFlow",
            "hashedUrl": "https://www.linkedin.com/company/87654321",
            "industry": "Professional Services",
            "employeeCount": 55,
            "include": null
          }
        ]
      }
    }
  ]
}
  • name – name of the company.
  • hashedUrlhashed LinkedIn URL of the company.
  • industry – enum representing the company industry. Takes specific values available in the LinkedIn interface.
  • employeeCount – total number of employees associated with the company.
  • includenull or additional data retrieved using the include object.
  1. If some searches are unsuccessful:

{
  "status": "complete",
  "completion": [
    {
      "searchId": "unique-id-1",
      "result": {
        "success": false,
        "error": {
          "errorType": "searchingNotAllowed",
          "message": "LinkedIn has blocked performing the search."
        }
      }
    },
    {
      "searchId": "unique-id-2",
      "result": {
        "success": true,
        "data": [
          {
            "name": "EcoPower",
            "hashedUrl": "https://www.linkedin.com/company/44771122",
            "industry": "Services for Renewable Energy",
            "employeeCount": 100,
            "include": null
          },
          {
            "name": "GreenFlow",
            "hashedUrl": "https://www.linkedin.com/company/87654321",
            "industry": "Professional Services",
            "employeeCount": 55,
            "include": null
          }
        ]
      }
    }
  ]
}
  • errorType – enum with the following possible values:
    • searchingNotAllowed – LinkedIn has blocked performing the search due to unknown restrictions.

Throughout the documentation, for simplicity, only the request body and final response (when status is complete) are shown. Consider possible global errors and the result handling approach for proper implementation.