Search Companies
curl --request POST \
--url https://api.linkupapi.com/v2/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"keyword": "<string>",
"location": [
"<string>"
],
"sector": [
"<string>"
],
"company_size": [
"<string>"
],
"offset": 123,
"count": 123
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"keyword": "<string>",
"location": ["<string>"],
"sector": ["<string>"],
"company_size": ["<string>"],
"offset": 123,
"count": 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({
account_id: '<string>',
action: '<string>',
params: {
keyword: '<string>',
location: ['<string>'],
sector: ['<string>'],
company_size: ['<string>'],
offset: 123,
count: 123
}
})
};
fetch('https://api.linkupapi.com/v2/profiles', 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/v2/profiles",
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([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'keyword' => '<string>',
'location' => [
'<string>'
],
'sector' => [
'<string>'
],
'company_size' => [
'<string>'
],
'offset' => 123,
'count' => 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/v2/profiles"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\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/v2/profiles")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/profiles")
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 \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"companies": [
{
"company_name": "Testbytes",
"company_url": "https://www.linkedin.com/company/softwaretestingcompany/",
"industry": "IT Services and IT Consulting",
"location": "New York, NY",
"logo_url": "https://media.licdn.com/dms/image/...",
"subscribers": "114K followers",
"subscribers_count": 114000,
"job_offers": null,
"job_offers_count": null
}
],
"total_results": 1,
"total_available_results": 872258
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-28T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "At least one search parameter is required."
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Profiles
Search Companies
Search for company pages using various filters.
POST
/
v2
/
profiles
Search Companies
curl --request POST \
--url https://api.linkupapi.com/v2/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"keyword": "<string>",
"location": [
"<string>"
],
"sector": [
"<string>"
],
"company_size": [
"<string>"
],
"offset": 123,
"count": 123
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"keyword": "<string>",
"location": ["<string>"],
"sector": ["<string>"],
"company_size": ["<string>"],
"offset": 123,
"count": 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({
account_id: '<string>',
action: '<string>',
params: {
keyword: '<string>',
location: ['<string>'],
sector: ['<string>'],
company_size: ['<string>'],
offset: 123,
count: 123
}
})
};
fetch('https://api.linkupapi.com/v2/profiles', 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/v2/profiles",
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([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'keyword' => '<string>',
'location' => [
'<string>'
],
'sector' => [
'<string>'
],
'company_size' => [
'<string>'
],
'offset' => 123,
'count' => 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/v2/profiles"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\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/v2/profiles")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/profiles")
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 \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"keyword\": \"<string>\",\n \"location\": [\n \"<string>\"\n ],\n \"sector\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"offset\": 123,\n \"count\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"companies": [
{
"company_name": "Testbytes",
"company_url": "https://www.linkedin.com/company/softwaretestingcompany/",
"industry": "IT Services and IT Consulting",
"location": "New York, NY",
"logo_url": "https://media.licdn.com/dms/image/...",
"subscribers": "114K followers",
"subscribers_count": 114000,
"job_offers": null,
"job_offers_count": null
}
],
"total_results": 1,
"total_available_results": 872258
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-28T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "At least one search parameter is required."
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Overview
Search for company pages using keyword, location, sector, and size filters. Supports pagination for retrieving large result sets.This endpoint consumes 1 credit per 10 results returned. Ignore this if you’re on per-seat pricing: usage is unlimited.
Request
string
required
Your API key for authentication.
string
required
The unique identifier of the account to use.
string
required
Must be
"search_companies".object
Show params properties
Show params properties
string
General keyword to search for across company profiles.
string | string[]
Filter by company location. Accepts a single string or an array (e.g.,
["New York", "Germany"]).string | string[]
Filter by industry sector. Accepts a single string or an array.
string | string[]
Filter by company size range. Accepts a single string or an array (e.g.,
["11-50", "201-500"]).integer
default:0
Index of the first result to return (0-based). Combine with
count to paginate. Any value works — it does not have to align to a page boundary.integer
default:10
Number of results to return, starting at
offset.Response
boolean
Indicates whether the request was successful.
object
Show data properties
Show data properties
array
Matching companies.
Show company properties
Show company properties
string
Company name.
string
LinkedIn company page URL.
string
Industry, e.g.
"IT Services and IT Consulting".string
Headquarters location.
string
Company logo URL.
string
Follower count as displayed, e.g.
"114K followers".integer
Same count as a number.
string
Open jobs as displayed,
null when LinkedIn shows none.integer
Same count as a number,
null when unavailable.integer
Number of companies returned.
integer
Total number of matching companies available.
{
"success": true,
"data": {
"companies": [
{
"company_name": "Testbytes",
"company_url": "https://www.linkedin.com/company/softwaretestingcompany/",
"industry": "IT Services and IT Consulting",
"location": "New York, NY",
"logo_url": "https://media.licdn.com/dms/image/...",
"subscribers": "114K followers",
"subscribers_count": 114000,
"job_offers": null,
"job_offers_count": null
}
],
"total_results": 1,
"total_available_results": 872258
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-04-28T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "At least one search parameter is required."
},
"metadata": {
"action": "search_companies",
"account_id": "your-account-id",
"credits_consumed": 0,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Was this page helpful?