Person Enrich API

LinkedIn enrichment docs your code can actually ship against.

Use the REST API when you are building a product, workflow, backend job, or data pipeline. Same primitive as MCP: accountless LinkedIn people, companies, lead-magnet posts, post engagers, profile posts, company posts, company employees, and credit balance.

Base URL
https://www.personenrich.com
Auth
Send x-api-key: $PERSONENRICH_API_KEY on every REST request.
Billing rule
Misses, empty results, cache hits, and provider errors do not spend credits.
Accountless lookup

Person and company enrichment run without the customer's LinkedIn session, cookies, or connected account.

Predictable credit spend

Every billable response includes cost.credits; balance responses expose the live price list.

Freshness stamps

Profile and company responses carry source, fetched_at, and stale_after so callers can decide when to refresh.

Quick start
curl https://www.personenrich.com/api/v1/enrich \
  -H "content-type: application/json" \
  -H "x-api-key: $PERSONENRICH_API_KEY" \
  -d '{
    "input": "https://www.linkedin.com/in/jane-doe",
    "include_email": true
  }'
Endpoints

REST API reference

JSON in, JSON out. Use HTTPS in production.
Enrich Person
POST/api/v1/enrich
1 credit profile · +10 credits verified work email

Turn a LinkedIn profile URL or slug into structured person data, including profile_picture_url (https, the largest photo we received). LinkedIn-hosted photo links carry an e= expiry in unix seconds. A cache hit returns the stored link until that time; once it has expired, the next call fetches a fresh one. Set include_email when you want the verified work-email waterfall.

Request body
{
  "input": "https://www.linkedin.com/in/jane-doe",
  "include_email": true,
  "include_posts": false
}
Example response
{
  "name": "Jane Doe",
  "headline": "VP Marketing at Acme",
  "company": "Acme",
  "location": "Austin, Texas",
  "profile_picture_url": "https://media.licdn.com/dms/image/profile-displayphoto-shrink_800_800/0/1?e=1790000000&v=beta&t=abc",
  "email_status": "pending",
  "source": "live",
  "fetched_at": "2026-08-19T07:40:00.000Z",
  "stale_after": "2026-09-18T07:40:00.000Z",
  "cost": { "credits": 1 },
  "balance": 249
}
Enrich Company
POST/api/v1/enrich/company
1 credit verified company

Resolve a LinkedIn Company Page into firmographics, website, industry, employee range, followers, and locations.

Request body
{
  "input": "https://www.linkedin.com/company/acme"
}
Example response
{
  "name": "Acme",
  "industry": "Software Development",
  "website": "https://acme.com",
  "employee_range": "51-200",
  "follower_count": 42117,
  "source": "live",
  "cost": { "credits": 1 }
}
Search Companies
POST/api/v1/search/companies
1 credit when a company comes back · empty searches free

Find a LinkedIn Company Page by name, website domain, or both. limit defaults to 5 and caps at 10. When domain is set, a page whose website matches sorts first and is marked domain_match. Pass linkedin_url into Enrich Company, company posts, or company employees.

Request body
{
  "query": "Zoomaa AI",
  "domain": "zoomaa.ai",
  "limit": 5
}
Example response
{
  "query": "Zoomaa AI",
  "domain": "zoomaa.ai",
  "results": [
    {
      "name": "Zoomaa AI",
      "linkedin_url": "https://www.linkedin.com/company/zoomaaai",
      "public_identifier": "zoomaaai",
      "website": "https://zoomaa.ai",
      "industry": "Software Development",
      "followers_count": 840,
      "logo": "https://cdn.example/logo.png",
      "domain_match": true
    }
  ],
  "source": "live",
  "cost": { "credits": 1 }
}
Discover Lead Magnets
POST/api/v1/discover
1 credit per returned result

Find LinkedIn posts already pulling comment-for-resource demand in a niche. limit defaults to 10 and caps at 25.

Request body
{
  "query": "AI automation for agencies",
  "limit": 3
}
Example response
{
  "query": "AI automation for agencies",
  "results": [
    {
      "post_url": "https://www.linkedin.com/posts/...",
      "author": "Jane Doe",
      "snippet": "Comment PLAYBOOK and I will send it...",
      "engagement": { "reactions": 184, "comments": 63 }
    }
  ],
  "cost": { "credits": 1 }
}
Get Post Engagers
POST/api/v1/engagers
1 credit per 25 engagers

Turn one LinkedIn post into a deduped warm lead list. limit defaults to 100 and caps at 500.

Request body
{
  "post_url": "https://www.linkedin.com/posts/...",
  "limit": 50
}
Example response
{
  "post_url": "https://www.linkedin.com/posts/...",
  "engagers": [
    {
      "name": "Sam Lee",
      "headline": "Founder",
      "profile_url": "https://www.linkedin.com/in/sam-lee",
      "signals": ["commented"]
    }
  ],
  "cost": { "credits": 1 }
}
Profile Posts
POST/api/v1/posts
1 credit per returned post

Pull recent public posts from a LinkedIn profile before enrichment or outreach. Each post includes attachments (img, video, or document) with url and unavailable. LinkedIn-hosted media links expire at e=. limit defaults to 10 and caps at 25. Media does not add credits.

Request body
{
  "profile": "jane-doe",
  "limit": 5
}
Example response
{
  "profile": "jane-doe",
  "posts": [
    {
      "url": "https://www.linkedin.com/posts/...",
      "text": "Here is what changed in our outbound motion...",
      "posted_at": "2026-08-18",
      "attachments": [
        {
          "type": "img",
          "url": "https://media.licdn.com/dms/image/v2/feedshare/0/1?e=1790000000&v=beta&t=abc",
          "unavailable": false,
          "size": { "width": 800, "height": 1066 }
        }
      ]
    }
  ],
  "cost": { "credits": 5 }
}
Company Posts
POST/api/v1/posts/company
1 credit per returned post

Pull recent public posts from a LinkedIn Company Page. Each post includes attachments (img, video, or document) with url and unavailable. LinkedIn-hosted media links expire at e=. limit defaults to 10 and caps at 25. Media does not add credits.

Request body
{
  "company": "acme",
  "limit": 5
}
Example response
{
  "company": "acme",
  "posts": [
    {
      "url": "https://www.linkedin.com/posts/...",
      "text": "We just shipped the new onboarding flow...",
      "posted_at": "2026-08-18",
      "attachments": [
        {
          "type": "img",
          "url": "https://media.licdn.com/dms/image/v2/feedshare/0/1?e=1790000000&v=beta&t=abc",
          "unavailable": false,
          "size": { "width": 800, "height": 1066 }
        }
      ]
    }
  ],
  "cost": { "credits": 5 }
}
Company Employees
POST/api/v1/company/employees
1 credit per returned person

Company URL in, a filtered decision-maker shortlist out. Each person includes profile_picture_url. LinkedIn-hosted photo links carry an e= expiry in unix seconds; refresh the portrait from /api/v1/enrich after that time. Pass linkedin_url values to /api/v1/enrich for a full profile or verified email. limit defaults to 25 and caps at 100. Fresh cache hits, empty sets, and provider errors cost nothing.

Request body
{
  "company": "linkedin.com/company/acme",
  "limit": 25,
  "locations": ["United States"],
  "job_titles": ["VP Sales", "Head of Sales"],
  "seniority": ["300", "310"]
}
Example response
{
  "company": "acme",
  "employees": [
    {
      "name": "Jane Doe",
      "headline": "VP Sales at Acme",
      "location": "New York, United States",
      "linkedin_url": "https://www.linkedin.com/in/jane-doe",
      "profile_picture_url": "https://media.licdn.com/dms/image/profile-displayphoto-shrink_800_800/0/1?e=1790000000&v=beta&t=abc",
      "current_title": "VP Sales",
      "current_company": "Acme"
    }
  ],
  "returned": 1,
  "source": "live",
  "cost": { "credits": 1 }
}
Get Balance
GET/api/v1/balance
free

Read the current API-key label, remaining credits, and price list before choosing a spending path.

Request body
No request body.
Example response
{
  "label": "production",
  "balance": 250,
  "pricing": {
    "profile": 1,
    "company": 1,
    "work_email": 10,
    "misses": 0,
    "cache_hits": 0
  }
}
API or MCP

Ship REST in your app. Give MCP to your agent.

The REST API is the stable integration surface for products and automations. MCP exposes the same primitive as callable tools inside agent clients.