Company Data Company profile API
API health
- 24h health
- Normal
- 24h average time
- —
- Healthy / normal
- Available
- Limited
- Mostly down
Last 24 hours
Last 30 days
Read a company profile by domain: name, tagline, description, industry, type, headcount range, founding year, LinkedIn and social links, office locations and match confidence.
Price $10.4 per 1,000 requests ($0.0104 per call). Failed calls and empty results are not charged. Synchronous. For slow jobs add "mode": "async" to the body, take the job_id and poll.
AI prompt
Please help me write a data collection script with the EveryInfra Company Data Company profile endpoint (company_data/enrich).
How the endpoint works:
- Request: POST https://api.everyinfra.com/api/v1/social with the header Authorization: Bearer <API key>. Read the key from the EVERYINFRA_API_KEY environment variable and never hard-code it.
- In the request body, set platform to company_data and action to enrich, and put the parameters inside params.
- Required parameters:
- domain: A company domain or website link, such as stripe.com or https://www.notion.com/; the scheme, www. and any path are removed. Anything that is not a domain is rejected before any charge.
- Returns one object. Main fields: name (Company or brand name, as the dataset w…), domain (The company's main domain, such as stri…), headline (The company's one-line tagline (enrich)), description (What the company does), industry (Industry (enrich)), company_type (Company type (enrich), such as private…), size (Headcount range (enrich), such as 5001-…), founded (Year founded (enrich)), linkedin_url (The company's LinkedIn page (enrich)), socials (The company's social accounts (enrich),…), locations (Office locations (enrich), each with st…), match_confidence (How well the company matched the domain…).
- Example request body:
{
"platform": "company_data",
"action": "enrich",
"params": {
"domain": "stripe.com"
}
}
- Price: $10.4 per 1,000 requests; failed and empty results are not charged.
- For dozens or hundreds of targets, add "mode": "async" to the body: you get a job_id at once and poll GET https://api.everyinfra.com/api/v1/jobs/{job_id} for the result.
- On 422, fix the request using the suggested parameter names and allowed values in the error; on 429 or 503, wait for Retry-After and try again.
Before writing code, ask me which targets I need, how many, which fields, and what output format I want; then confirm the plan and the rough cost with me.Request parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
Authorization | header | string | Yes | - | Bearer followed by your API key. Create it in the console; never put it in a URL or a code repository. |
platform | body | string | Yes | company_data | Platform identifier, fixed value. |
action | body | string | Yes | enrich | Capability identifier, fixed value. |
domain | body.params | string | Yes | - | A company domain or website link, such as stripe.com or https://www.notion.com/; the scheme, www. and any path are removed. Anything that is not a domain is rejected before any charge. |
Code samples
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "company_data",
"action": "enrich",
"params": {
"domain": "stripe.com"
}
}'OpenAPI definition (JSON)Samples read the key from the EVERYINFRA_API_KEY environment variable; copied code never contains your key.
Response example
No sample response is available for these parameters yet. This preview shows the response shape and fields from the API definition, with … as placeholders; it is not the result of a live call.
{
"id": "req_…",
"platform": "company_data",
"action": "enrich",
"results": {
"name": …,
"domain": …,
"headline": …,
"description": …,
"industry": …,
"company_type": …,
"size": …,
"founded": …,
"linkedin_url": …,
"socials": …,
"locations": …,
"match_confidence": …,
"platform": …
},
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}Response fields
Business data is in results. The table lists the fields a record can contain; values the platform does not show are never made up.
| Field | Meaning |
|---|---|
name | Company or brand name, as the dataset writes it (enrich names are often lower case). |
domain | The company's main domain, such as stripe.com. |
headline | The company's one-line tagline (enrich). |
description | What the company does; for peers, how this company competes with the one you asked about. |
industry | Industry (enrich). |
company_type | Company type (enrich), such as private or public. |
size | Headcount range (enrich), such as 5001-10000. |
founded | Year founded (enrich). |
linkedin_url | The company's LinkedIn page (enrich). |
socials | The company's social accounts (enrich), each with network (such as x, facebook or crunchbase) and url. |
locations | Office locations (enrich), each with street_address, city, state, country, country_code, postal_code and primary (true for headquarters). |
match_confidence | How well the company matched the domain you gave (enrich): high, moderate or low. |
platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |
Errors and billing
- 401
- Missing or invalid key.
- 402
- Insufficient balance. Top up first.
- 422
- Invalid parameter name or value. Fix it using the suggestions in the error. No charge.
- 429
- Per-minute request limit reached. Wait for Retry-After, then try again.
- 503
- Could not complete. The held charge is returned to your balance. If the outcome is unknown, verify it before you retry.
- 200 empty
- No data. No charge.