Skip to main content
POST
/
v1
/
data
/
search
/
companies
Search Companies
curl --request POST \
  --url https://api.linkupapi.com/v1/data/search/companies \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '
{
  "keyword": "<string>",
  "industry": "<string>",
  "location": "<string>",
  "employee_range": "<string>",
  "founding_company": true,
  "total_results": 123
}
'
import requests

url = "https://api.linkupapi.com/v1/data/search/companies"

payload = {
"keyword": "<string>",
"industry": "<string>",
"location": "<string>",
"employee_range": "<string>",
"founding_company": True,
"total_results": 123
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
keyword: '<string>',
industry: '<string>',
location: '<string>',
employee_range: '<string>',
founding_company: true,
total_results: 123
})
};

fetch('https://api.linkupapi.com/v1/data/search/companies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.linkupapi.com/v1/data/search/companies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'keyword' => '<string>',
'industry' => '<string>',
'location' => '<string>',
'employee_range' => '<string>',
'founding_company' => true,
'total_results' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.linkupapi.com/v1/data/search/companies"

payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"industry\": \"<string>\",\n \"location\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"founding_company\": true,\n \"total_results\": 123\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v1/data/search/companies")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"industry\": \"<string>\",\n \"location\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"founding_company\": true,\n \"total_results\": 123\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.linkupapi.com/v1/data/search/companies")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\",\n \"industry\": \"<string>\",\n \"location\": \"<string>\",\n \"employee_range\": \"<string>\",\n \"founding_company\": true,\n \"total_results\": 123\n}"

response = http.request(request)
puts response.read_body
{
  "status": "success",
  "data": {
    "total_results": 2847,
    "companies": [
      {
        "url": "https://uk.linkedin.com/company/crm.com",
        "title": "CRM.COM - LinkedIn",
        "description": "CRM.COM is a global specialist in designing and developing commerce, fintech and subscription-based solutions, ideal for the new generation digital consumers."
      },
      {
        "url": "https://www.linkedin.com/company/recruitcrm",
        "title": "Recruit CRM - LinkedIn",
        "description": "Recruit CRM builds cloud-based software for the global Recruitment & Staffing industry. We are on a mission to help recruitment firms grow faster with cutting ..."
      },
      {
        "url": "https://www.linkedin.com/company/aesthetix-crm",
        "title": "Aesthetix CRM - LinkedIn",
        "description": "The #1 CRM platform for plastic surgeons and medical spas. Aesthetix CRM gives your practice access to all the tools you need to grow."
      }
    ]
  }
}

Description

This endpoint allows you to search LinkedIn company pages using various advanced filtering criteria.
Credit Usage: 1 credit per 10 results (or fraction thereof). For example:
  • 1-10 results = 1 credit
  • 11-20 results = 2 credits
  • 300 results = 30 credits

Headers

x-api-key
string
required
Your API key for authentication

Body Parameters

keyword
string
required
Keyword to search for (company name, industry, etc.)Also supports company_name for backward compatibility
industry
string
Industry sector (e.g., “technology”, “finance”, “healthcare”)
location
string
Location (e.g., “Paris”, “France”, “New York”)
employee_range
string
Employee count range (e.g., “1-50”, “51-200”, “201-1000”, “1000+”)
founding_company
boolean
Filter for founding companies
  • true: Search only founding companies
  • false: Exclude founding companies
total_results
integer
default:"10"
Number of results to return
  • Minimum: 1
  • Maximum: 50,000
  • Default: 10

Response

status
string
Response status (“success” or “error”)
data
object
message
string
Error message (if status = “error”)

Request Example

import requests

url = "https://api.linkupapi.com/v1/data/search/companies"

payload = {
    "keyword": "technology",
    "industry": "technology",
    "location": "Paris",
    "employee_range": "51-200",
    "founding_company": True,
    "total_results": 20
}
headers = {
    "x-api-key": "your-api-key-here",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
  "keyword": "technology",
  "industry": "technology",
  "location": "Paris",
  "employee_range": "51-200",
  "founding_company": true,
  "total_results": 20
}

Request Example with Arrays

import requests

url = "https://api.linkupapi.com/v1/data/search/companies"

payload = {
    "keyword": ["technology", "fintech", "startup"],
    "industry": ["technology", "finance", "healthcare"],
    "location": ["Paris", "Lyon", "Bordeaux"],
    "employee_range": ["1-50", "51-200", "201-1000"],
    "founding_company": True,
    "total_results": 30
}
headers = {
    "x-api-key": "your-api-key-here", 
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
  "keyword": ["technology", "fintech", "startup"],
  "industry": ["technology", "finance", "healthcare"],
  "location": ["Paris", "Lyon", "Bordeaux"],
  "employee_range": ["1-50", "51-200", "201-1000"],
  "founding_company": true,
  "total_results": 30
}

Response Example

{
  "status": "success",
  "data": {
    "total_results": 2847,
    "companies": [
      {
        "url": "https://uk.linkedin.com/company/crm.com",
        "title": "CRM.COM - LinkedIn",
        "description": "CRM.COM is a global specialist in designing and developing commerce, fintech and subscription-based solutions, ideal for the new generation digital consumers."
      },
      {
        "url": "https://www.linkedin.com/company/recruitcrm",
        "title": "Recruit CRM - LinkedIn",
        "description": "Recruit CRM builds cloud-based software for the global Recruitment & Staffing industry. We are on a mission to help recruitment firms grow faster with cutting ..."
      },
      {
        "url": "https://www.linkedin.com/company/aesthetix-crm",
        "title": "Aesthetix CRM - LinkedIn",
        "description": "The #1 CRM platform for plastic surgeons and medical spas. Aesthetix CRM gives your practice access to all the tools you need to grow."
      }
    ]
  }
}
{
  "status": "error",
  "message": "keyword (or company_name) is required"
}

Important Notes

  • Credit consumption is based on the number of results: 1 credit for 1-10 results, 2 credits for 11-20 results, etc.
  • Credits are only deducted on successful searches
  • The company_name parameter is supported for backward compatibility with keyword
  • Single keyword: Advanced search with optional filters for precise results
  • Multiple keywords: Automatically activates batch mode for parallel searching
  • Most search parameters support both single strings and arrays for flexible searching
  • When using multiple keywords, batch mode is automatically activated for optimal performance

Usage Examples

Basic search with keyword only

{
  "keyword": "artificial intelligence",
  "total_results": 10
}

Search with industry and location filters

{
  "keyword": "software",
  "industry": "technology",
  "location": "San Francisco",
  "total_results": 25
}

Search with employee range and founding filter

{
  "keyword": "fintech",
  "employee_range": "1-50",
  "founding_company": true,
  "total_results": 15
}

Batch search with multiple keywords

{
  "keyword": ["fintech", "blockchain", "cryptocurrency"],
  "industry": ["Finance", "Technology"],
  "location": ["New York", "San Francisco", "London"],
  "employee_range": ["51-200", "201-1000"],
  "total_results": 100
}

Advanced search with multiple industries and locations

{
  "keyword": "startup",
  "industry": ["Technology", "Healthcare", "Finance"],
  "location": ["Paris", "Lyon", "Marseille"],
  "employee_range": ["1-50", "51-200"],
  "founding_company": true,
  "total_results": 50
}

Search with specific number of results

{
  "keyword": "artificial intelligence",
  "industry": "Technology",
  "total_results": 10
}