{"openapi":"3.1.0","info":{"title":"LinkFetch API","version":"2","summary":"LinkedIn jobs and company data, and LinkedIn actions through your connected accounts.","description":"Connect your LinkedIn accounts to Claude, Cursor and any MCP client and ask for competitor posts, prospects and company research, with safety limits on every account. Or buy LinkedIn jobs and company data without any LinkedIn account. Not affiliated with LinkedIn.\n\nAuthenticate with your API key from the dashboard as `Authorization: Bearer lf_…` (or the `x-api-key` header). JSON in and out.\n\nEach request costs a flat number of credits (`x-credits` on each operation); lookups that find nothing are free. The balance after a charged request comes back in the `x-credits-remaining` header. Errors are `{\"error\":{\"code\",\"message\"}}`.\n\nEndpoints under an account tag run through a LinkedIn account you connect; pick one with `?account_id=` (from GET /v1/accounts), or the default account is used. Every endpoint is also a tool on the MCP server.\n\nFull product facts for assistants: https://linkfetch.io/llms.txt","contact":{"name":"LinkFetch","email":"info@linkfetch.io","url":"https://linkfetch.io"},"termsOfService":"https://linkfetch.io/terms"},"servers":[{"url":"https://linkfetch.io"}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"tags":[{"name":"Jobs and companies","description":"LinkFetch's own LinkedIn data. No LinkedIn account needed."},{"name":"AI functions","description":"LinkFetch's own LinkedIn data. No LinkedIn account needed."},{"name":"Your leads","description":"LinkFetch's own LinkedIn data. No LinkedIn account needed."},{"name":"Accounts","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"People","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"Companies","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"Network","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"Messages","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"Posts","description":"Through a LinkedIn account you connect in the dashboard."},{"name":"Jobs","description":"Through a LinkedIn account you connect in the dashboard."}],"paths":{"/v1/jobs":{"get":{"operationId":"search_jobs","tags":["Jobs and companies"],"summary":"Search every job since April 2026 by title, company, country, seniority, employment type and posted date, or only jobs that list a salary.","description":"Search every job since April 2026 by title, company, country, seniority, employment type and posted date, or only jobs that list a salary.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `search_jobs`.","x-credits":1,"x-mcp-tool":"search_jobs","parameters":[{"name":"q","in":"query","description":"Keywords in the job title.","schema":{"type":"string"}},{"name":"company","in":"query","description":"Company name.","schema":{"type":"string"}},{"name":"country","in":"query","description":"ISO 3166-1 alpha-2 country code, uppercase (US, DE). Repeat for several.","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"}},"explode":true},{"name":"seniority","in":"query","description":"Seniority level. Repeat for several.","schema":{"type":"array","items":{"type":"string","enum":["internship","entry","associate","mid_senior","director","executive","not_applicable"]}},"explode":true},{"name":"employment","in":"query","description":"Job type. Repeat for several.","schema":{"type":"array","items":{"type":"string","enum":["full_time","part_time","contract","temporary","internship","volunteer","other"]}},"explode":true},{"name":"posted","in":"query","description":"Posted within this window.","schema":{"type":"string","enum":["24h","3d","7d","30d"]}},{"name":"salary","in":"query","description":"1 = only jobs that list a salary.","schema":{"type":"string","enum":["1"]}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"total_capped":{"type":"boolean","description":"True when total stopped counting at a cap."},"page":{"type":"integer"},"limit":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobListItem"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/jobs/{job_id}":{"get":{"operationId":"get_job","tags":["Jobs and companies"],"summary":"One job with its full description.","description":"One job with its full description.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `get_job`.","x-credits":1,"x-mcp-tool":"get_job","parameters":[{"name":"job_id","in":"path","required":true,"description":"Numeric LinkedIn job id.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"The job with its full description."}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/companies":{"get":{"operationId":"search_companies","tags":["Jobs and companies"],"summary":"Search companies in LinkFetch's dataset by name, industry, HQ country and minimum size.","description":"Search companies in LinkFetch's dataset by name, industry, HQ country and minimum size.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `search_companies`.","x-credits":1,"x-mcp-tool":"search_companies","parameters":[{"name":"q","in":"query","description":"Company name.","schema":{"type":"string"}},{"name":"industry","in":"query","description":"Industry.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Headquarters country, ISO 3166-1 alpha-2, uppercase. Repeat for several.","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"}},"explode":true},{"name":"size","in":"query","description":"Minimum company size (employees).","schema":{"type":"integer","minimum":1}},{"name":"hiring","in":"query","description":"1 = only companies that posted jobs in the last 30 days.","schema":{"type":"string","enum":["1"]}},{"name":"profiled","in":"query","description":"1 = only companies with a full profile.","schema":{"type":"string","enum":["1"]}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"total_capped":{"type":"boolean","description":"True when total stopped counting at a cap."},"page":{"type":"integer"},"limit":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CompanyListItem"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/companies/{company_id}":{"get":{"operationId":"get_company","tags":["Jobs and companies"],"summary":"One company's public profile with its jobs.","description":"One company's public profile with its jobs.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `get_company`.","x-credits":1,"x-mcp-tool":"get_company","parameters":[{"name":"company_id","in":"path","required":true,"description":"Numeric LinkedIn company id, or the slug from linkedin.com/company/<slug>/.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"jobs_total":{"type":"integer"},"jobs_total_capped":{"type":"boolean"},"latest_jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobListItem"},"description":"Up to 10 of the company's newest jobs."}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/ai/score":{"post":{"operationId":"ai_score","tags":["AI functions"],"summary":"Score up to 25 jobs or companies 0–100 against your criteria, with a reason each.","description":"Score up to 25 jobs or companies 0–100 against your criteria, with a reason each.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `ai_score`.","x-credits":1,"x-mcp-tool":"ai_score","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"records":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["job","company"]},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type","id"]}},"criteria":{"type":"string","minLength":3,"maxLength":2000}},"required":["records","criteria"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiResult"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/ai/classify":{"post":{"operationId":"ai_classify","tags":["AI functions"],"summary":"Sort up to 25 jobs or companies into categories you name.","description":"Sort up to 25 jobs or companies into categories you name.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `ai_classify`.","x-credits":1,"x-mcp-tool":"ai_classify","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"records":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["job","company"]},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type","id"]}},"categories":{"minItems":2,"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":60}},"instructions":{"type":"string","maxLength":2000}},"required":["records","categories"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiResult"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/ai/extract":{"post":{"operationId":"ai_extract","tags":["AI functions"],"summary":"Pull fields you name (tech stack, remote policy, tools) out of up to 25 records.","description":"Pull fields you name (tech stack, remote policy, tools) out of up to 25 records.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `ai_extract`.","x-credits":1,"x-mcp-tool":"ai_extract","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"records":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["job","company"]},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type","id"]}},"fields":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,39}$"},"description":{"type":"string","maxLength":200}},"required":["name","description"]}}},"required":["records","fields"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiResult"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/ai/write":{"post":{"operationId":"ai_write","tags":["AI functions"],"summary":"Write a short text per record, like a summary or an outreach opener.","description":"Write a short text per record, like a summary or an outreach opener.\n\n1 credit per request, however many rows come back.\n\nMCP tool: `ai_write`.","x-credits":1,"x-mcp-tool":"ai_write","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"records":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["job","company"]},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type","id"]}},"instructions":{"type":"string","minLength":3,"maxLength":2000}},"required":["records","instructions"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiResult"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/leads":{"get":{"operationId":"list_leads","tags":["Your leads"],"summary":"Your saved leads: companies, people and jobs, filterable by type and lead list (?list=).","description":"Your saved leads: companies, people and jobs, filterable by type and lead list (?list=).\n\nFree.\n\nMCP tool: `list_leads`.","x-credits":0,"x-mcp-tool":"list_leads","parameters":[{"name":"type","in":"query","description":"Only leads of this type.","schema":{"type":"string","enum":["company","person","job","post"]}},{"name":"list","in":"query","description":"Only leads in the lead list with this name (404 if there's none).","schema":{"type":"string"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["company","person","job","post"]},"ref":{"type":"string"},"saved_at":{"type":["string","null"]}},"additionalProperties":true,"description":"The lead's type and ref, plus the snapshot saved with it."}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"default":{"$ref":"#/components/responses/Error"}}},"post":{"operationId":"save_lead","tags":["Your leads"],"summary":"Save a company or job to your leads, optionally into a lead list by name.","description":"Save a company or job to your leads, optionally into a lead list by name.\n\nFree.\n\nMCP tool: `save_lead`.","x-credits":0,"x-mcp-tool":"save_lead","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["company","job"]},"id":{"oneOf":[{"type":"integer","minimum":1},{"type":"string","pattern":"^\\d+$"}],"description":"The company or job id."},"list":{"type":"string","minLength":1,"maxLength":80,"description":"Lead list name; created if it doesn't exist."}},"required":["type","id"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"saved":{"type":"boolean"},"type":{"type":"string"},"id":{"type":"integer"},"list":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/lead-lists":{"get":{"operationId":"list_lead_lists","tags":["Your leads"],"summary":"Your lead lists and how many leads each holds.","description":"Your lead lists and how many leads each holds.\n\nFree.\n\nMCP tool: `list_lead_lists`.","x-credits":0,"x-mcp-tool":"list_lead_lists","responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"leads":{"type":"integer"},"flow_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/accounts":{"get":{"operationId":"list_accounts","tags":["Accounts"],"summary":"Your connected LinkedIn accounts, their status and what's left of today's limits.","description":"Your connected LinkedIn accounts, their status and what's left of today's limits.\n\nFree.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `list_accounts`.","x-credits":0,"x-mcp-tool":"list_accounts","responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":["string","null"]},"public_identifier":{"type":["string","null"]},"picture_url":{"type":["string","null"]},"premium":{"type":["boolean","null"]},"status":{"type":"string"},"status_reason":{"type":["string","null"]},"is_default":{"type":"boolean"},"limits":{"type":"object","description":"Per action: today's cap and how much of it is used.","additionalProperties":{"type":"object","properties":{"per_day":{"type":"integer"},"used_today":{"type":"integer"}}}}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/accounts/{account_id}/me":{"get":{"operationId":"get_my_profile","tags":["Accounts"],"summary":"The connected account's own profile.","description":"The connected account's own profile.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_my_profile`.","x-credits":1,"x-mcp-tool":"get_my_profile","parameters":[{"name":"account_id","in":"path","required":true,"description":"A connected account id from GET /v1/accounts.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"object","additionalProperties":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/people":{"get":{"operationId":"search_people","tags":["People"],"summary":"Search people on LinkedIn by keywords (?q=), 10 per page.","description":"Search people on LinkedIn by keywords (?q=), 10 per page.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `search_people`.","x-credits":5,"x-mcp-tool":"search_people","parameters":[{"$ref":"#/components/parameters/account_id"},{"name":"q","in":"query","description":"Search keywords (keywords= also works).","schema":{"type":"string"},"required":true},{"$ref":"#/components/parameters/searchLimit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"}},"additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/people/{public_id}":{"get":{"operationId":"get_person","tags":["People"],"summary":"A person's profile: experience, education, skills.","description":"A person's profile: experience, education, skills.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_person`.","x-credits":5,"x-mcp-tool":"get_person","parameters":[{"name":"public_id","in":"path","required":true,"description":"The person's public id, from linkedin.com/in/<public_id>.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"object","additionalProperties":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/people/{public_id}/posts":{"get":{"operationId":"get_person_posts","tags":["People"],"summary":"A person's recent posts.","description":"A person's recent posts.\n\n3 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_person_posts`.","x-credits":3,"x-mcp-tool":"get_person_posts","parameters":[{"name":"public_id","in":"path","required":true,"description":"The person's public id, from linkedin.com/in/<public_id>.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/linkedin/companies":{"get":{"operationId":"search_linkedin_companies","tags":["Companies"],"summary":"Search every company on LinkedIn by name or keywords (?q=), including ones that never post jobs.","description":"Search every company on LinkedIn by name or keywords (?q=), including ones that never post jobs. 10 per page.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `search_linkedin_companies`.","x-credits":5,"x-mcp-tool":"search_linkedin_companies","parameters":[{"$ref":"#/components/parameters/account_id"},{"name":"q","in":"query","description":"Company name or keywords (keywords= also works).","schema":{"type":"string"},"required":true},{"$ref":"#/components/parameters/searchLimit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/companies/{company_id}/employees":{"get":{"operationId":"get_company_employees","tags":["Companies"],"summary":"People who work at a company, by its LinkedIn company id.","description":"People who work at a company, by its LinkedIn company id.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_company_employees`.","x-credits":5,"x-mcp-tool":"get_company_employees","parameters":[{"name":"company_id","in":"path","required":true,"description":"LinkedIn company id.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/companies/{company_id}/posts":{"get":{"operationId":"get_company_posts","tags":["Companies"],"summary":"A company's recent posts.","description":"A company's recent posts.\n\n3 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_company_posts`.","x-credits":3,"x-mcp-tool":"get_company_posts","parameters":[{"name":"company_id","in":"path","required":true,"description":"LinkedIn company id.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/companies/{company_id}/follow":{"post":{"operationId":"follow_company","tags":["Companies"],"summary":"Follow a company.","description":"Follow a company.\n\n2 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `follow_company`.","x-credits":2,"x-mcp-tool":"follow_company","parameters":[{"name":"company_id","in":"path","required":true,"description":"LinkedIn company id.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/connections":{"get":{"operationId":"list_connections","tags":["Network"],"summary":"The account's connections, newest first.","description":"The account's connections, newest first.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `list_connections`.","x-credits":1,"x-mcp-tool":"list_connections","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/invitations":{"get":{"operationId":"list_invitations","tags":["Network"],"summary":"Pending invitations, sent and received.","description":"Pending invitations, sent and received.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `list_invitations`.","x-credits":1,"x-mcp-tool":"list_invitations","parameters":[{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}},"post":{"operationId":"send_invitation","tags":["Network"],"summary":"Send a connection request.","description":"Send a connection request.\n\n10 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `send_invitation`.","x-credits":10,"x-mcp-tool":"send_invitation","parameters":[{"$ref":"#/components/parameters/account_id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"public_id":{"type":"string","description":"The person's public id, from linkedin.com/in/<public_id>."}},"required":["public_id"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/conversations":{"get":{"operationId":"list_conversations","tags":["Messages"],"summary":"The account's inbox, newest first, with unread counts.","description":"The account's inbox, newest first, with unread counts.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `list_conversations`.","x-credits":1,"x-mcp-tool":"list_conversations","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"},{"name":"cursor","in":"query","description":"Cursor from the previous page.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/conversations/{conversation_id}":{"get":{"operationId":"get_conversation","tags":["Messages"],"summary":"Messages in one conversation.","description":"Messages in one conversation.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_conversation`.","x-credits":1,"x-mcp-tool":"get_conversation","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/messages":{"post":{"operationId":"send_message","tags":["Messages"],"summary":"Message one of the account's connections.","description":"Message one of the account's connections.\n\n3 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `send_message`.","x-credits":3,"x-mcp-tool":"send_message","parameters":[{"$ref":"#/components/parameters/account_id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"public_id":{"type":"string","description":"The connection's public id, or their linkedin.com/in/ URL."},"text":{"type":"string","description":"The message."}},"required":["public_id","text"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/posts":{"get":{"operationId":"search_posts","tags":["Posts"],"summary":"Search posts on LinkedIn by keywords (?q=), 10 per page; ?posted=24h|week|month, ?sort=top|latest, ?from=<public id> for one person's posts.","description":"Search posts on LinkedIn by keywords (?q=), 10 per page; ?posted=24h|week|month, ?sort=top|latest, ?from=<public id> for one person's posts.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `search_posts`.","x-credits":5,"x-mcp-tool":"search_posts","parameters":[{"$ref":"#/components/parameters/account_id"},{"name":"q","in":"query","description":"Search keywords (keywords= also works).","schema":{"type":"string"},"required":true},{"name":"posted","in":"query","description":"Posted within this window.","schema":{"type":"string","enum":["24h","week","month"]}},{"name":"sort","in":"query","description":"Sort order.","schema":{"type":"string","enum":["top","latest"]}},{"name":"from","in":"query","description":"Only posts by this person: their public id or linkedin.com/in/ URL.","schema":{"type":"string"}},{"$ref":"#/components/parameters/searchLimit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/posts/{post_id}":{"get":{"operationId":"get_post","tags":["Posts"],"summary":"One post with its counts, by activity id (from the post URL).","description":"One post with its counts, by activity id (from the post URL).\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_post`.","x-credits":1,"x-mcp-tool":"get_post","parameters":[{"name":"post_id","in":"path","required":true,"description":"The post's numeric activity id (from the post URL) or urn:li:activity:<id>.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/posts/{post_id}/reactions":{"get":{"operationId":"get_post_reactions","tags":["Posts"],"summary":"Who reacted to a post.","description":"Who reacted to a post.\n\n3 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `get_post_reactions`.","x-credits":3,"x-mcp-tool":"get_post_reactions","parameters":[{"name":"post_id","in":"path","required":true,"description":"The post's numeric activity id (from the post URL) or urn:li:activity:<id>.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}},"post":{"operationId":"react_to_post","tags":["Posts"],"summary":"Like, celebrate or otherwise react to a post.","description":"Like, celebrate or otherwise react to a post.\n\n2 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `react_to_post`.","x-credits":2,"x-mcp-tool":"react_to_post","parameters":[{"name":"post_id","in":"path","required":true,"description":"The post's numeric activity id (from the post URL).","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reaction":{"type":"string","enum":["LIKE","PRAISE","EMPATHY","INTEREST","APPRECIATION","ENTERTAINMENT","FUNNY"],"default":"LIKE"}}}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"reaction":{"type":"string","enum":["LIKE","PRAISE","EMPATHY","INTEREST","APPRECIATION","ENTERTAINMENT","FUNNY"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/posts/{post_id}/comments":{"post":{"operationId":"comment_on_post","tags":["Posts"],"summary":"Comment on a post.","description":"Comment on a post.\n\n5 credits per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `comment_on_post`.","x-credits":5,"x-mcp-tool":"comment_on_post","parameters":[{"name":"post_id","in":"path","required":true,"description":"The post's numeric activity id (from the post URL).","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"The comment."}},"required":["text"]}}}},"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}},"/v1/jobs/{job_id}/save":{"post":{"operationId":"save_job","tags":["Jobs"],"summary":"Save a job to the account's LinkedIn saved jobs.","description":"Save a job to the account's LinkedIn saved jobs.\n\n1 credit per request, however many rows come back.\n\nRuns through a connected LinkedIn account, within its safety limits.\n\nMCP tool: `save_job`.","x-credits":1,"x-mcp-tool":"save_job","parameters":[{"name":"job_id","in":"path","required":true,"description":"Numeric LinkedIn job id.","schema":{"type":"string"}},{"$ref":"#/components/parameters/account_id"}],"responses":{"200":{"description":"OK","headers":{"x-credits-remaining":{"$ref":"#/components/headers/CreditsRemaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/OutOfCredits"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/Limited"},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your API key (lf_…) from the dashboard."},"apiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"The same API key, as a header."}},"headers":{"CreditsRemaining":{"description":"Your credit balance after this request, when it was charged.","schema":{"type":"integer"}}},"parameters":{"limit":{"name":"limit","in":"query","description":"Results per page.","schema":{"type":"integer","minimum":1,"maximum":50,"default":25}},"searchLimit":{"name":"limit","in":"query","description":"Results per page; LinkedIn search pages hold at most 10.","schema":{"type":"integer","minimum":1,"maximum":10,"default":10}},"page":{"name":"page","in":"query","description":"Page number, from 1.","schema":{"type":"integer","minimum":1,"default":1}},"offset":{"name":"offset","in":"query","description":"Alternative to page: rows to skip (rounded down to a whole page).","schema":{"type":"integer","minimum":0}},"account_id":{"name":"account_id","in":"query","description":"Which connected LinkedIn account to use (from GET /v1/accounts). Defaults to your default account.","schema":{"type":"string"}}},"responses":{"BadRequest":{"description":"Invalid input (`bad_request`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Missing, invalid or revoked API key (`unauthorized`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"OutOfCredits":{"description":"Out of credits (`out_of_credits`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Nothing found (`not_found`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Limited":{"description":"The account's safety limit or queue is full (`rate_limited`, `queue_full`); try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error":{"description":"Other errors: 409 account session needs attention, 428 no connected account (`no_account`), 501 not in the API yet (`coming_soon`), 502 LinkedIn failed (`upstream`), 503 `unavailable`, 500 `internal`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]},"JobListItem":{"type":"object","properties":{"id":{"type":"integer"},"url":{"type":"string","format":"uri"},"title":{"type":"string"},"company":{"type":"object","properties":{"id":{"type":["integer","null"]},"name":{"type":["string","null"]},"logo_url":{"type":["string","null"]}}},"location":{"type":["string","null"]},"country_code":{"type":["string","null"]},"posted_at":{"type":["string","null"],"format":"date-time"},"seniority":{"type":["string","null"]},"employment_type":{"type":["string","null"]},"salary":{"oneOf":[{"type":"object","properties":{"min":{"type":["number","null"]},"max":{"type":["number","null"]},"currency":{"type":["string","null"]},"period":{"type":["string","null"]}}},{"type":"null"}]},"applicant_count":{"type":["integer","null"]}}},"CompanyListItem":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"linkedin_url":{"type":"string","format":"uri"},"logo_url":{"type":["string","null"]},"industry":{"type":["string","null"]},"size":{"type":"object","properties":{"min":{"type":["integer","null"]},"max":{"type":["integer","null"]}}},"linkedin_members":{"type":["integer","null"]},"headquarters":{"type":"object","properties":{"city":{"type":["string","null"]},"country_code":{"type":["string","null"]}}},"website":{"type":["string","null"]},"jobs_last_30_days":{"type":"integer"},"last_job_seen_at":{"type":["string","null"],"format":"date-time"}}},"AiResult":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["job","company"]},"id":{"type":"integer"},"name":{"type":"string"},"value":{"type":"string","description":"The score (as text), category, extracted fields or written text."},"detail":{"type":["string","null"],"description":"The reason, when there is one."}}}}}}}}}