Enrich a company
Turn any LinkedIn company URL, domain, or ID into live firmographics.
POST
https://api.up2data.ai/v1/companies/enrichIdentify the company with one of url, domain, or linkedin_id; provide exactly one. For example, {"domain": "anthropic.com"} (host only, no scheme, no www, no path) resolves the same record as passing the company's LinkedIn URL. Restricting the response with fields does not reduce the cost.
Info
company_type is only returned when with_company_type is true.
Info
Send many as batch items at 1 credit each; with_company_type and fields go on the item and price it exactly like this call. See the batch endpoint.
#Request
| Field | Type | Notes |
|---|---|---|
url | string | Public company URL or slug. Provide url, domain, or linkedin_id. |
domain | string | Company website domain, e.g. anthropic.com. Provide url, domain, or linkedin_id. |
linkedin_id | string | Numeric LinkedIn company ID. Provide url, domain, or linkedin_id. |
fields | string[] | Restrict the response to these top-level fields. Same cost. |
with_company_type | boolean | Default false. Adds company_type via a second LinkedIn request. Raises the rate to 2 credits; extra latency. |
#Call it
curl -X POST "https://api.up2data.ai/v1/companies/enrich" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://linkedin.com/company/anthropic",
"with_company_type": true
}'import requests
url = "https://api.up2data.ai/v1/companies/enrich"
headers = {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"url": "https://linkedin.com/company/anthropic",
"with_company_type": True
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const url = "https://api.up2data.ai/v1/companies/enrich";
const headers = {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
};
const body = {
"url": "https://linkedin.com/company/anthropic",
"with_company_type": true
};
const response = await fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
});
const data = await response.json();
console.log(data);package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.up2data.ai/v1/companies/enrich"
body := bytes.NewBufferString(`{
"url": "https://linkedin.com/company/anthropic",
"with_company_type": true
}`)
req, err := http.NewRequest("POST", url, body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}#Response
{
"data": {
"url": "https://www.linkedin.com/company/anthropic",
"linkedin_id": "74126343",
"name": "Anthropic",
"website": "https://anthropic.com",
"description": "AI safety and research company.",
"tagline": "AI research and products that put safety at the frontier.",
"industry": "Research Services",
"industry_v2": "Research Services",
"company_type": "Privately Held",
"logo_url": "https://media.licdn.com/dms/image/v2/C560BAQExample/company-logo_400_400/0/anthropic",
"cover_image_url": "https://media.licdn.com/dms/image/v2/D563DAQExample/image-scale_191_1128/0/anthropic",
"phone": "+1 415 555 0100",
"headcount": 2841,
"headcount_growth_6m": 0.34,
"company_size": { "min": 1001, "max": 5000 },
"founded": 2021,
"hq": {
"city": "San Francisco",
"region": "California",
"country": "US",
"address": "500 Howard St",
"postal_code": "94105",
"latitude": 37.78797,
"longitude": -122.39653,
"raw": "US, San Francisco, California, 500 Howard St, 94105"
},
"locations": [
{ "city": "San Francisco", "region": "California", "country": "US", "address": "500 Howard St", "postal_code": "94105", "latitude": 37.78797, "longitude": -122.39653, "is_hq": true },
{ "city": "London", "region": "England", "country": "GB", "is_hq": false }
],
"specialties": ["Artificial Intelligence", "AI Safety"],
"funding": { "total_usd": 14300000000, "last_round": { "type": "Series F", "amount_usd": 3500000000, "date": "2026-03" } },
"scraped_at": "2026-07-07T14:00:03Z",
"followers_count": 1204800
},
"meta": { "creditsUsed": 1, "creditsRemaining": 98417, "billed": true, "reason": "company_found", "requestId": "req_4jd83mcy", "latencyMs": 2950 }
}#Errors
| Status | Type | When | Billed |
|---|---|---|---|
| 400 | invalid_request | Malformed body, unknown field, or bad URL format. | No |
| 401 | invalid_api_key | Missing, malformed, or revoked key. | No |
| 402 | insufficient_credits | Balance can't cover the call. | No |
| 422 | unprocessable_target | Target not found, private, deleted, or unreachable. | Yes |
| 429 | rate_limited | Over the 5,000 requests/min per-key limit. Honor Retry-After. | No |
| 500 | internal_error | Something broke on the server side. | No |
| 504 | upstream_timeout | The live scrape didn't complete in time. | No |
See the Errors guide for every error type this version can return.