Zooq
LinkedIn-data API и MCP сервер для AI-агентов: публичные профили, компании и посты в виде чистого JSON, без входа в систему, 300 бесплатных кредитов.
Документация
Now out of stealth: the missing link between AI agents and LinkedIn data.
Zooq's MCP server
Add Zooq to any MCP-compatible client (Claude Desktop, Cursor, Codex, Hermes, Openclaw) and your agent gets the full Zooq catalog: all 50 endpoints wrapped as credit-billed MCP tools.
Get your key + 300 free credits →
Install: pick your client
Install in Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows) and merge:
{ "mcpServers": { "zooq": { "url": "https://zooq.dev/api/mcp", "headers": { "X-API-Key": "zq_..." } } } }
Replace zq_... with your key from /dash. Restart Claude. The tools appear in the tools menu under "zooq".
Install in Cursor
Cursor settings → MCP → paste:
{ "mcp": { "servers": { "zooq": { "url": "https://zooq.dev/api/mcp", "headers": { "X-API-Key": "zq_..." } } } } }
Install in Codex
Edit ~/.codex/config.toml — append:
[mcp_servers.zooq] url = "https://zooq.dev/api/mcp" http_headers = { "X-API-Key" = "zq_..." }
Install in Hermes
Edit ~/.hermes/config.yaml — merge under mcp_servers:
mcp_servers: zooq: url: "https://zooq.dev/api/mcp" headers: X-API-Key: "zq_..." enabled: true
Install in Openclaw
Edit ~/.openclaw/openclaw.json — merge into the root object (or run openclaw mcp set zooq '<json>'):
{ "mcp": { "servers": { "zooq": { "url": "https://zooq.dev/api/mcp", "headers": { "X-API-Key": "zq_..." } } } } }
What your agent gets (50 tools)
The full catalog — 50 endpoints across 8 categories, every one of them callable from your MCP client. Tool names follow the convention category_endpoint (e.g. profile_full, companies_info_v2, search_jobs).
Comments (1)
comments_all
Comments authored by a person across posts. Cursor-paginated.
Companies (11)
companies_entity_id
Resolve a company slug to the numeric organization id used by the live company endpoints (posts, similar, affiliated, insights). Resolve once, reuse the id.
companies_universal_name_to_id
Resolve a company slug (the part after linkedin.com/company/) to its stable org_ id — the dataset id used by /companies/info. For the live company endpoints (posts, similar, affiliated, insights) use /api/v1/companies/entity-id instead; the two ids are not interchangeable. Returns the FULL company record (identical to /companies/info) — read `data.id`.
companies_info
Full company firmographics — description, industry, headcount, HQ, follower count, specialties.
companies_info_v2
Company firmographics as a flat company record (not nested under a `company` key). Identical payload to /companies/info.
companies_name_lookup
Search companies by name. Returns matching company records; pagination cursor not currently available on this endpoint.
companies_employees_data
People who work or worked at an organization (professional records, same shape as /search/people). Cursor-paginated.
companies_similar
Similar companies / peers (id, name, industry, followers, url). Keyed by the numeric organization id: pass `slug` and Zooq resolves it for you at no extra credit cost, or pass `id` from /api/v1/companies/entity-id to skip the lookup.
companies_affiliated_pages
Affiliated / subsidiary / showcase pages of a company. Keyed by the numeric organization id: pass `slug` and Zooq resolves it for you at no extra credit cost, or pass `id` from /api/v1/companies/entity-id to skip the lookup.
companies_insights
Employee-count total + distribution buckets (by department, seniority, location). Keyed by the numeric organization id: pass `slug` and Zooq resolves it for you at no extra credit cost, or pass `id` from /api/v1/companies/entity-id to skip the lookup.
companies_posts
A company's recent posts. data.activities[].entityId is the activity id consumed by /posts/info, /posts/comments, /posts/likes. Keyed by the numeric organization id: pass `slug` and Zooq resolves it for you at no extra credit cost, or pass `id` from /api/v1/companies/entity-id to skip the lookup.
companies_jobs
Open job postings across one or more organizations.
Email (5)
email_verify
Check whether an email address can receive mail, with a deliverability verdict and risk flags (catch-all, disposable, no-MX).
email_find
Discover a person's work email from their first name, last name, and company domain. Returns the address plus a confidence score.
email_find_by_profile
Identify a person and their current company from a professional profile URL (or handle), then find their work email — resolves name + domain for you.
email_reverse
Resolve the person and company behind a BUSINESS email address. Public/role/disposable mailboxes are rejected (422, no charge) before any work runs.
email_prospects
Page emails already known for a company domain. Cursor-paginated; returns up to 20 contacts per page with first/last name.
Jobs (5)
jobs_details_v2
Full job-posting details — title, description, functions, apply url, organization, location.
jobs_similar
Similar job postings (title, organization, location, salary range, posted date).
jobs_people_also_viewed
'People also viewed' postings (behavioral relatedness).
jobs_hiring_team
Hiring-team member profiles for a posting. Empty members can mean the posting genuinely lists no team OR the posting id was not recognized.
jobs_posted_by_profile
Job postings created by a person (e.g. a recruiter's or founder's open roles).
Lookups (3)
g_title_skills_lookup
Skill catalog search by name (partial match) — skills only, despite the endpoint name. Page-paginated. Use to find a skill's skl_ id or normalized_name for the /search/people skills filter.
g_institution_lookup
Resolve one institution by its normalized name — returns the school name, url, and stable inst_ id. Get the normalized_name from /api/v1/search/schools first.
g_skill_lookup
Resolve one skill by its stable skl_ id — returns the display name and normalized name. Get the id from /api/v1/g/title-skills-lookup (skill search).
Posts (5)
posts_featured
A person's activity feed (there is no separate 'featured' filter — returns the feed). Keyed by the person entityId: pass `handle` and Zooq resolves it for you at no extra credit cost, or pass `entityId` from /api/v1/profile/entity-id to skip the lookup.
posts_all
A person's recent posts / activity stream. Cursor- or offset-paginated. Keyed by the person entityId: pass `handle` and Zooq resolves it for you at no extra credit cost, or pass `entityId` from /api/v1/profile/entity-id to skip the lookup.
posts_info
Full content of one post (returned under data.post). For comments use /posts/comments.
posts_comments
Threaded comments/replies on a post.
posts_likes
People who reacted to a post + reaction type and total.
Profile (14)
profile_overview
Professional record by handle or stable prsn_ id (returns the full profile).
profile_full
Complete profile in one call — positions, education, skills, certifications.
profile_entity_id
Resolve a public handle to the person entityId used by the live person endpoints (posts, comments, interests, lookalikes). Resolve once, reuse the id.
profile_details
Full professional record by stable prsn_ id (or handle).
profile_about
Profile summary + location slice of the full record.
profile_full_experience
Full work history (full_positions slice of the profile record).
profile_education
Education history (education slice of the profile record).
profile_skills
Skills (skills slice of the profile record). An empty array is legitimate — some profiles list no skills.
profile_certifications
Certifications (certifications slice of the profile record). An empty array is legitimate — some profiles list none.
profile_social_matrix
Follower + connection counts and profile flags (slice of the record).
profile_username_to_urn
Resolve a public handle to its stable prsn_ profile id (the dataset id used by /profile/* lookups). For the live person endpoints — posts, comments, interests — use /api/v1/profile/entity-id instead; the two ids are not interchangeable. The response is the full profile record — read data.id; no second call needed.
profile_recommendations
Recommendations written for the person, with author details and text.
profile_similar
Similar professional profiles — expand a shortlist from one example.
profile_interests
Entities the person follows (companies, groups, people, newsletters).
Search (6)
search_people
Search professional records with rich filters — name, title, company, skills, education, tenure, geography. Cursor-paginated.
search_companies
Search organizations by name or website with firmographic filters. Cursor-paginated.
search_jobs
Job/opportunity search with the full filter set — location, salary, experience, work type, and more. Offset-paginated. data.jobs[].id is the opportunityEntityId consumed by /jobs/details-v2, /jobs/similar, /jobs/people-also-viewed, /jobs/hiring-team.
search_schools
Search institutions by name (partial match). Page-paginated. Use to discover an institution's inst_ id or normalized_name.
search_job_changes
Recent professional job-change events — people who joined, left, or changed titles at organizations. Page-paginated. Built for trigger-based prospecting and territory monitoring.
search_alumni
Alumni and current students of an institution (professional records + the education link). Page-paginated. Built for recruiting and warm-intro sourcing.
Every tool costs the same per-call rate as its REST counterpart — check your live balance and per-call cost on /dash.
What is MCP?
Model Context Protocol is Anthropic's open standard for letting AI clients (Claude, etc.) discover and call external tools at runtime. Instead of you writing API wrappers in your agent code, your agent reads a list of tools from an MCP server and calls them directly via JSON-RPC. Zooq exposes its data endpoints this way.
Why it's safe to install
Hourly burn cap
A leaked key can't drain your balance — the server enforces a max-credits-per-hour limit per user (default 10,000/h, ~1,000 calls). Even a compromised key's damage is bounded.
Atomic credit deduction
Every tool call deducts credits atomically. Upstream returns 5xx? Credits auto-refund within seconds. No retries that double-charge.
Strict arg whitelist
Tool arguments are matched against the endpoint's declared schema. Unknown keys are dropped; oversized values truncated. Stops injection attempts into the upstream proxy.
Revocable in one click
Suspect your key leaked? Open /dash and regenerate. The old key stops working immediately.
Usage examples
Once installed, your agent sees every tool listed above. Sample prompts and the tool the agent will pick:
- "Get me the full LinkedIn profile of
satyanadella" →profile_full - "What does Stripe's LinkedIn page say?" →
companies_name_lookupthencompanies_info - "Find 10 VPs of Engineering at SaaS companies in San Francisco" →
search_people - "Pull every open role at Microsoft" →
companies_universal_name_to_idthensearch_jobswithcompaniesfilter - "Map the headcount growth of company X over the last year" →
companies_insights
Agents can chain tools natively — the MCP protocol exposes the full parameter schema so the model knows which ID to pass where.
Pricing
Every MCP tool call deducts credits live, same as the REST API. No monthly minimum, no surcharge for MCP. See /pricing for the credit pack and subscription tiers.
Troubleshooting
- Tools don't appear in client: restart the app fully (quit, don't just close). Verify your config JSON is valid.
- "Invalid API key": double-check you copied the full key from /dash (it starts with
zq_). - "Insufficient credits" / "Payment required": top up at /billing.
- "Hourly credit cap reached": default is 10,000/h. Email hello@zooq.dev to raise it.
- Tool returns no data: the upstream might be temporarily degraded — check /status. If 5xx, your credits are auto-refunded.
Get an API key →