Company data from LinkedIn, one call.
Give a LinkedIn company page and get its headcount, industry,
headquarters, website and latest posts as JSON, next to the French registry data you
already get from /entreprise.
Five endpoints
Company firmographics
2 credits per callPOST /linkedin-companyHeadcount and headcount bracket, industry, headquarters and offices, website and domain, founding year, description, specialities and company type, from the company's public LinkedIn page.
Company posts
2 credits per pagePOST /linkedin-company/postsOne page of the company page's posts (up to 50), newest first: text, date, type, reactions, comments and shares. Hiring drives, new sites, fundraising and appointments are visible here first.
Member posts
2 credits per pagePOST /linkedin-postsOne page of a decision maker's own posts (up to 50): text, date, engagement.
Post engagement
2 credits per pagePOST /linkedin-post/engagementWho commented on and reacted to a post: name, headline and profile URL, one page of comments and one page of reactions per call.
Member activity
2 credits per pagePOST /linkedin-profile/activityThe posts a member recently reacted to or commented on, with each post.
How it is billed
- Purchased credits only. These endpoints call a paid data provider
for every request, so they are paid from the credits you buy. The free monthly
credits do not apply; without purchased credits the call returns
402. - Billed only on success (
status: 200). A page that does not exist returnsstatus: 404and is not billed. - Company results are cached for one hour: repeating a lookup is still billed, but answers instantly.
- Check a batch before you run it with
POST /estimate(free).
- 1,000 credits: 40 EUR
- 10,000 credits: 400 EUR
- 5,000 credits: 200 EUR
Example
Request
curl -X POST https://tools.epsimo.org/linkedin-company \
-H "x-token: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"https://www.linkedin.com/company/doctolib"}'Response (trimmed)
{
"company": {
"name": "Doctolib",
"linkedin_url": "https://www.linkedin.com/company/doctolib/",
"website": "https://www.doctolib.fr/",
"domain": "doctolib.fr",
"industry": "Software Development",
"employee_count": 3714,
"employee_range": {"min": 1001, "max": 5000},
"founded_year": 2013,
"headquarters": {"city": "Levallois-Perret", "country": "FR", "...": "..."},
"...": "..."
},
"source": [{"name": "LinkedIn public company pages, via Fetchin", "...": "..."}],
"status": 200,
"error_message": null
}Questions
What can I pass as the company?
A LinkedIn company page URL (linkedin.com/company/<slug>, school
and showcase pages too), the slug alone, or a company URN.
Do you return people?
The member routes return personal data: name, headline and profile URL only (no
photo, contact details or location). Use them only with a lawful basis, typically
legitimate interest for B2B prospecting, and honour objections. Anyone can remove
themselves with POST /privacy/opt-out and their LinkedIn URL: they are then
absent from every response. Sentences, comments and people revealing a union role are
removed, and an activity item on such a post is dropped whole.
Where does the data come from?
Public LinkedIn company pages, fetched in real time through our data provider
Fetchin. Each response names its source.
What if the provider is unavailable?
The call returns 503 with a Retry-After header and is not
billed.
Can my AI agent use it?
Yes: the MCP server exposes enrich_company_linkedin and
get_company_linkedin_posts, get_linkedin_member_posts,
get_linkedin_post_engagement and get_linkedin_member_activity,
all documented in
llms-full.txt.