Skip to main content
POST
https://api.peoplecontext.com
/
v1
/
company
/
enrich
Company Enrichment API
curl --request POST \
  --url https://api.peoplecontext.com/v1/company/enrich \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "linkedin_slug": "<string>",
  "linkedin_id": "<string>",
  "linkedin_url": "<string>",
  "company_id": "<string>"
}
'
{
  "matched": true,
  "company": {
    "company_id": "<string>",
    "linkedin_slug": "<string>",
    "linkedin_id": "<string>",
    "profile": {
      "name": "<string>",
      "tagline": "<string>",
      "description": "<string>",
      "industry": "<string>",
      "company_size": "<string>",
      "employees": 123,
      "founded": 123,
      "website": "<string>",
      "phone": "<string>",
      "specialties": [
        {}
      ]
    },
    "headquarters": {
      "city": "<string>",
      "region": "<string>",
      "country": "<string>",
      "postal_code": "<string>",
      "line1": "<string>",
      "line2": "<string>"
    },
    "images": {
      "logo": "<string>",
      "cover": "<string>"
    }
  }
}

Endpoint

POST /v1/company/enrich
This endpoint enriches a company’s profile by searching LinkedIn company data using various identifiers.

Authentication

Authorization
string
required
Bearer token with your API key: Bearer YOUR_API_KEY
See the Authentication Guide for detailed setup instructions.

Request Parameters

Request Body (JSON)

At least one identifier is required:
linkedin_slug
string
LinkedIn company slug (e.g., from linkedin.com/company/openai).Example: "openai"
linkedin_id
string
LinkedIn’s internal company ID.Example: "11130470"
linkedin_url
string
Full LinkedIn company URL. The API will automatically extract the slug.Example: "linkedin.com/company/openai"Example: "https://www.linkedin.com/company/openai/"
company_id
string
Internal company ID from People Context API.Example: "abc123"
Identifier Priority: Identifiers are tried in this order: linkedin_slug > linkedin_id > linkedin_url (slug extracted) > company_id. The API returns as soon as a match is found.

Response

Success Response (200 OK)

Returns a JSON object containing the enriched company data.
matched
boolean
Whether a matching company was found in the database.
company
object | null
Company data object (null if no match found)
company_id
string
Internal company ID
linkedin_slug
string
LinkedIn company slug
linkedin_id
string
LinkedIn’s internal company ID
profile
object
Company profile information
name
string
Company name
tagline
string
Company tagline/description
description
string
Full company description
industry
string
Industry category
company_size
string
Company size range (e.g., “51-200 employees”)
employees
integer
Approximate employee count
founded
integer
Year founded
website
string
Company website URL
phone
string
Company phone number
specialties
array
Array of company specialties/focus areas
headquarters
object
Headquarters location information
city
string
City name
region
string
State/region code
country
string
Country name
postal_code
string
Postal/ZIP code
line1
string
Street address line 1
line2
string
Street address line 2
images
object
Company media assets
Company logo URL
cover
string
Cover/banner image URL
Additional fields may be present depending on the data available in the LinkedIn company profile.

No Match Response (200 OK)

When no matching company is found:
{
  "matched": false,
  "company": null
}

Error Responses

All error responses follow the standard format with a detail field:
{
  "detail": "Error message describing what went wrong"
}
Error Status Codes:
  • 401 Unauthorized - Missing or invalid API key
  • 403 Forbidden - Organization is inactive
  • 422 Unprocessable Entity - Validation error (missing required parameters or invalid values)
  • 429 Too Many Requests - Monthly request limit exceeded
  • 500 Internal Server Error - Unexpected server error (e.g., Elasticsearch connection failed)

Examples

# Enrich by LinkedIn slug
curl -X POST "https://api.peoplecontext.com/v1/company/enrich" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"linkedin_slug": "openai"}'

# Enrich by LinkedIn ID
curl -X POST "https://api.peoplecontext.com/v1/company/enrich" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"linkedin_id": "11130470"}'

# Enrich by LinkedIn URL (slug extracted automatically)
curl -X POST "https://api.peoplecontext.com/v1/company/enrich" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"linkedin_url": "linkedin.com/company/openai"}'

Sample Response

{
  "matched": true,
  "company": {
    "company_id": "abc123",
    "linkedin_slug": "openai",
    "linkedin_id": "11130470",
    "profile": {
      "name": "OpenAI",
      "tagline": "Creating safe AGI that benefits all of humanity.",
      "description": "OpenAI is an AI research and deployment company...",
      "industry": "Research Services",
      "company_size": "201-500 employees",
      "employees": 5701,
      "founded": 2015,
      "website": "https://openai.com",
      "phone": null,
      "specialties": [
        "Artificial Intelligence",
        "Machine Learning",
        "Natural Language Processing",
        "Research"
      ]
    },
    "headquarters": {
      "city": "San Francisco",
      "region": "CA",
      "country": "United States",
      "postal_code": "94110",
      "line1": "3180 18th St",
      "line2": null
    },
    "images": {
      "logo": "https://media.licdn.com/dms/image/...",
      "cover": "https://media.licdn.com/dms/image/..."
    }
  }
}

Best Practices

URL Flexibility: You can pass full LinkedIn URLs - the API automatically extracts the company slug. This is useful when scraping or working with raw LinkedIn links.
Rate Limits: API requests are subject to rate limits based on your organization’s plan. Monitor your monthly request count to avoid hitting limits.
Data Freshness: LinkedIn company data is refreshed monthly. Check the profile data for recent updates and employee counts.

Use Cases

  • Lead Enrichment: Enrich company information from LinkedIn URLs in your CRM
  • Market Research: Build company databases with detailed profile information
  • Sales Intelligence: Get company size, industry, and location data for targeting
  • Data Validation: Verify company information against LinkedIn’s authoritative data