{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:25:27.341Z","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp","markdownUrl":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp.md","server":{"slug":"com-prospectapis-prospectapis-mcp","name":"ProspectAPIs","registryName":"com.prospectapis/prospectapis-mcp","description":"Funding rounds, LinkedIn data and actions, email verification and cited research briefs.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"prospectapis-mcp","type":"npm","identifier":"prospectapis-mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp","version":"0.17.0","transport":"stdio","scoredAt":"2026-11-05T06:59:30.589Z"},"score":{"total":64,"tier":"medium","status":"scored","weekDelta":-7,"history":[{"date":"2026-11-05","total":64},{"date":"2026-11-04","total":49},{"date":"2026-11-03","total":49},{"date":"2026-11-02","total":49},{"date":"2026-11-01","total":74},{"date":"2026-10-31","total":74},{"date":"2026-10-30","total":63},{"date":"2026-10-29","total":71},{"date":"2026-10-28","total":71},{"date":"2026-10-27","total":71},{"date":"2026-10-26","total":56}]},"categories":[{"name":"Supply Chain Security","score":63,"verdict":"unverified","reasons":["No malware found by supply-chain analysis.","Known CVEs could not be checked: the version this server declares is not published in its registry.","No install/post-install scripts declared.","Dependency health could not be checked: the version this server declares is not published in its registry."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.inconclusive","args":{"reason":"root_version_missing"}},{"code":"installscript.none","args":{}},{"code":"dephealth.inconclusive","args":{"reason":"root_version_missing"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 0 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":77,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 16635 tokens (~161/item across 103 items; 99 tools + 4 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"161","items":"103","tools":"99","tokens":"16635","resources":"4"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":33,"verdict":"partial","reasons":["Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"10"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 101 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"11","destructive":"11"}},{"code":"toolsafety.manipulation_clean","args":{"units":"101","judged":"101"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["Known CVEs could not be checked: the version this server declares is not published in its registry.","Dependency health could not be checked: the version this server declares is not published in its registry."],"malware":[],"components":[{"slug":"api","type":"remote","identifier":"https://api.prospectapis.com/mcp","withdrawn":false,"score":36,"current":false,"url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/api","markdownUrl":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/api.md"},{"slug":"prospectapis-mcp","type":"npm","identifier":"prospectapis-mcp","withdrawn":false,"score":64,"current":true,"url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp","markdownUrl":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"prospectapis-mcp"},{"label":"Version","value":"0.17.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"funding_search","title":"Search Funding Rounds","description":"Search funding rounds (venture rounds, debt, grants, IPOs), newest announcement first. Costs $0.009 per record returned, drawn from your balance (every account starts with a free $1); a search that matches nothing is free. Page with `cursor`: pass back `next_cursor` exactly as returned; a null `next_cursor` means there are no more matches. Narrow with filters before raising `limit`. Each record gives the headquarters as `location` (the place as the source states it, often a city) and `country` (the country name), plus `country_code` (the ISO 3166-1 alpha-2 code). Coverage: funding rounds are complete from 2026-10-01, partial from 2026-09-22 to 2026-09-30, and only a few earlier rounds are held, so a company whose last round was before that returns none (an empty answer carries a `coverage` object saying so).","inputs":[{"name":"company","type":"string","required":false,"description":"Company name contains this text (case-insensitive)."},{"name":"country","type":"string","required":false,"description":"Headquarters country as a name or ISO code, such as US, United States or DE. Other text, such as a city, matches the stated place (the record's `location`)."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page's `next_cursor`."},{"name":"domain","type":"string","required":false,"description":"Exact company domain, for example `example.com`."},{"name":"investor","type":"string","required":false,"description":"Exact investor name, case-insensitive."},{"name":"limit","type":"integer","required":false,"description":"Records per page, 1 to 100 (default 25). Each record returned is billed."},{"name":"max_amount_usd","type":"number","required":false,"description":"Largest round size in USD."},{"name":"min_amount_usd","type":"number","required":false,"description":"Smallest round size in USD."},{"name":"round","type":"string","required":false,"description":"Comma-separated round stages, for example `seed,series_a,series_b`."},{"name":"since","type":"string","required":false,"description":"Earliest announcement date, inclusive (YYYY-MM-DD)."},{"name":"until","type":"string","required":false,"description":"Latest announcement date, inclusive (YYYY-MM-DD)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":429},{"name":"funding_get","title":"Get Funding Round","description":"Read one funding record by id. Costs $0.009 when found; a missing id is free.","inputs":[{"name":"id","type":"string","required":true,"description":"The funding record id from a `funding_search` result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48},{"name":"launch_search","title":"Search Company Launches","description":"Search launch events, newest launch first: a tech company said in public that it launched something usable now (`stage` post) or that it is about to (`stage` pre, what the company said itself, never a prediction). Each record gives the company and its domain, `launch_type` (new_company, new_product, major_version or feature), the product name, `launched_at`, a link to the company's own post or page (`source_url`), the founder or poster as an opaque `person_ref` plus their public name (pass the name and domain to email_find), and the company's `funding` (newest round, count, known total), `company` (HQ, size, industry) and `category`. A record with `duplicate_of` set repeats an earlier launch and is never charged. Page with `cursor`. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"category","type":"string","required":false,"description":"Category, for example `ai`, `saas` or `hardware`."},{"name":"company","type":"string","required":false,"description":"Company name contains this text (case-insensitive)."},{"name":"country","type":"string","required":false,"description":"Headquarters country as a name or ISO code, such as US."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page's `next_cursor`."},{"name":"domain","type":"string","required":false,"description":"Exact company domain, for example `example.com`."},{"name":"launch_type","type":"string","required":false,"description":"Comma-separated: new_company, new_product, major_version, feature."},{"name":"limit","type":"integer","required":false,"description":"Records per page, 1 to 100 (default 25)."},{"name":"since","type":"string","required":false,"description":"Earliest launch date, inclusive (YYYY-MM-DD)."},{"name":"stage","type":"string","required":false,"description":"`post` (launched, usable now), `pre` (the company says it is about to launch), or both comma-separated."},{"name":"until","type":"string","required":false,"description":"Latest launch date, inclusive (YYYY-MM-DD)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":405},{"name":"launch_get","title":"Get Company Launch","description":"Read one launch event by id. A missing id is a free 404. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"id","type":"string","required":true,"description":"The launch id from a `launch_search` result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"company_get","title":"Get Company Profile","description":"Read one cited company profile. Its one argument, `domain`, takes the company's domain (`acme.com`) or its exact company name (`Acme Robotics`); there is no separate name argument. The profile gives name, description, HQ, founded year, industry, employee band, social links, a funding rollup (the amount raised across the rounds we hold, not lifetime total raised) and a careers link, with a source URL on every field and each marked `stated` (a page states it) or `inferred` (classified from a page); a field no source supports is null, never guessed. Costs $0.02 per company returned, drawn from your balance. A domain not built yet returns 202 `building` (retry in about 30 seconds), and a domain that does not resolve to a company returns 404; both are free. A company name is matched whole against the funding rounds we hold: several companies with that name answer HTTP 300 with each `{name, domain}` to choose from (free, never a guess), and no company with that name is a free 404. The funding rollup counts only rounds in our funding coverage. Coverage: funding rounds are complete from 2026-10-01, partial from 2026-09-22 to 2026-09-30, and only a few earlier rounds are held, so a company whose last round was before that returns none (an empty answer carries a `coverage` object saying so). While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"domain","type":"string","required":true,"description":"The company's domain, for example `acme.com`, or its exact name, for example `Acme Robotics`."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":369},{"name":"company_funding","title":"Get Company Funding Rounds","description":"The funding rounds for one company domain, newest announcement first: the same records as funding_search filtered to this domain. Costs $0.009 per record returned; a company with no rounds is free. Page with `cursor`. Coverage: funding rounds are complete from 2026-10-01, partial from 2026-09-22 to 2026-09-30, and only a few earlier rounds are held, so a company whose last round was before that returns none (an empty answer carries a `coverage` object saying so).","inputs":[{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page's `next_cursor`."},{"name":"domain","type":"string","required":true,"description":"The company's domain, for example `acme.com`."},{"name":"limit","type":"integer","required":false,"description":"Records per page, 1 to 100 (default 25). Each record returned is billed."},{"name":"max_amount_usd","type":"number","required":false,"description":"Largest round size in USD."},{"name":"min_amount_usd","type":"number","required":false,"description":"Smallest round size in USD."},{"name":"round","type":"string","required":false,"description":"Comma-separated round stages, for example `seed,series_a`."},{"name":"since","type":"string","required":false,"description":"Earliest announcement date, inclusive (YYYY-MM-DD)."},{"name":"until","type":"string","required":false,"description":"Latest announcement date, inclusive (YYYY-MM-DD)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":265},{"name":"company_jobs","title":"Get Company Job Openings","description":"LAUNCHING SOON: answers 503 until hiring signals go live (GET /pricing hiring_tech.available). A company's open job postings by its domain, read from its own public job board (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee) or the job postings marked up on its careers page. `status` is ok, no_openings (a board was found and is empty) or no_board_found (no public board was linked from the site; this does not mean the company is not hiring). Each opening has title, department, location, remote, employment type, seniority (inferred from the title), salary when the board states it, posted_at, the posting URL, `source` (the board API read), `ats` ({provider, board_slug}), `fetched_at`, and our own first_seen_at and last_seen_at. A field the board does not state is null. Read live when the stored read is older than `max_age_hours`. Costs $0.006 per lookup whose status is ok, never per posting; every other answer is free, and 503 when the site cannot be read. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"domain","type":"string","required":true,"description":"The company's domain, for example `acme.com`."},{"name":"include_description","type":"boolean","required":false,"description":"Add each posting's description as plain text (always read live)."},{"name":"limit","type":"integer","required":false,"description":"Openings to return, 1 to 500 (default 100). The price does not change with it."},{"name":"max_age_hours","type":"integer","required":false,"description":"Serve a stored read younger than this, else read live (1 to 168, default 12)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":369},{"name":"company_technologies","title":"Get Company Tech Stack","description":"LAUNCHING SOON: answers 503 until hiring signals go live (GET /pricing hiring_tech.available). The technologies a company's website and DNS show it uses, by its domain: analytics, marketing automation, CRM, chat, payments, CMS, framework, hosting and CDN, email and productivity suite, security, ATS and more. Each one has its category, the evidence (the script, header, cookie name, meta generator or DNS record that matched, and the page or record it was seen on), `source`, `fetched_at`, first_seen_at and last_seen_at. `status` is ok or none_detected (no rule matched; not proof the company uses nothing). Read live when the stored read is older than `max_age_hours`. Costs $0.006 per lookup whose status is ok; none_detected and errors are free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"domain","type":"string","required":true,"description":"The company's domain, for example `acme.com`."},{"name":"max_age_hours","type":"integer","required":false,"description":"Serve a stored read younger than this, else read live (1 to 720, default 72)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":256},{"name":"ads_search","title":"Search Company Ads","description":"Whether a company runs ads now on the public Meta, Google, LinkedIn and TikTok ad libraries, by its domain. Returns a one-line `summary`, a `platforms` entry per library with its `status` (ok, no_ads, not_resolved, not_covered, unreadable with a `reason`), the advertiser and how it was resolved, and the live ads (text, media, first and last seen, countries, landing URL, status, format). Only `no_ads` means the company runs no ads there; `not_resolved` means the advertiser was not found, so pass its id (google_advertiser_id, meta_page_id, linkedin_company_id or tiktok_advertiser) and ask again. A field the library does not show is null. Costs $0.006 per library whose status is ok, on the first page; everything else is free, and one unreadable library never fails the call. Page with `cursor`. Coverage: Meta worldwide (active ads; inactive ones only when they reached the EU); Google worldwide (the last 30 days); LinkedIn ads run since 2023-06-01, with run dates and reach only for ads shown in the EU; TikTok only ads shown in the EEA, Switzerland and the UK. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page's `next_cursor`."},{"name":"domain","type":"string","required":true,"description":"The company's domain, for example `acme.com`."},{"name":"google_advertiser_id","type":"string","required":false,"description":"Pin the Google advertiser (AR followed by digits)."},{"name":"limit","type":"integer","required":false,"description":"Ads per page, 1 to 100 (default 25)."},{"name":"linkedin_company_id","type":"string","required":false,"description":"Pin the LinkedIn company by its numeric id."},{"name":"meta_page_id","type":"string","required":false,"description":"Pin the Facebook page by its numeric id."},{"name":"platform","type":"string","required":false,"description":"One or more of meta, google, linkedin, tiktok, comma separated. Omit for all four."},{"name":"tiktok_advertiser","type":"string","required":false,"description":"Pin the TikTok advertiser by its name as the library shows it."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":462},{"name":"ad_get","title":"Get Ad","description":"One ad in full by its id from `ads_search`, with the facts its library shows only on the single ad (for example the countries it ran in). Costs $0.006 when found; an unknown id is free, and a library that cannot be read right now answers 503 (free). While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"id","type":"string","required":true,"description":"The ad id from an `ads_search` result, such as `meta.1234567890`."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"events_search","title":"Search Events","description":"LAUNCHING SOON: answers 503 until event discovery goes live. Find public events on Luma and Partiful in one city, soonest first, in one record shape for both platforms: title, url, start and end in UTC and in local time with the offset, timezone, city, venue, Luma's own category, the guest count where the host shows it (null when hidden), hosts with their platform ids, the organiser, and ticket price. Read logged out, never with an account. `sources` says per platform whether it was read (`ok`), does not cover the city or filter (`not_covered`, Partiful publishes no category) or could not be read now (`unreadable`). Costs $0.0015 per event returned; an empty page is free. `events_cities` lists the cities. Page with `cursor`. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"category","type":"string","required":false,"description":"Luma category: ai, tech, crypto, arts, climate, fitness, wellness, food, books, games, family or running."},{"name":"city","type":"string","required":true,"description":"A city slug such as `sf`, `nyc` or `london`, or a city name; `events_cities` lists them."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page's `next_cursor`."},{"name":"free","type":"boolean","required":false,"description":"true for free events only, false for paid only."},{"name":"host","type":"string","required":false,"description":"A host or organiser name or handle contains this text."},{"name":"limit","type":"integer","required":false,"description":"Events per page, 1 to 100 (default 25)."},{"name":"max_guests","type":"integer","required":false,"description":"At most this many guests."},{"name":"min_guests","type":"integer","required":false,"description":"At least this many guests (only events that show their count match)."},{"name":"platform","type":"string","required":false,"description":"`luma`, `partiful`, or both comma-separated (default both)."},{"name":"q","type":"string","required":false,"description":"Title contains this text."},{"name":"since","type":"string","required":false,"description":"Earliest start day in the city's own time, inclusive (YYYY-MM-DD); default today."},{"name":"speaker","type":"string","required":false,"description":"A speaker, host or the title names this person."},{"name":"until","type":"string","required":false,"description":"Latest start day in the city's own time, inclusive (YYYY-MM-DD)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":485},{"name":"events_cities","title":"List Event Cities","description":"LAUNCHING SOON: answers 503 until event discovery goes live. Every city `events_search` covers, with its slug, timezone and which platforms (luma, partiful) cover it. Free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":78},{"name":"event_get","title":"Get Event","description":"LAUNCHING SOON: answers 503 until event discovery goes live. One event read fresh from its platform, in the same shape as `events_search`, with Luma's categories and Partiful's hosts by name. Costs $0.0015; an unknown id is a free 404, and a platform that cannot be read with no stored copy is a free 503. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"id","type":"string","required":true,"description":"The event id from an `events_search` result, such as `luma.evt-AbC123` or `partiful.AbC123xyz`."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":149},{"name":"event_enrich","title":"Enrich Event","description":"LAUNCHING SOON: answers 503 until event discovery goes live. One Luma or Partiful event's speakers, sponsors, agenda and side events, from its URL or an `events_search` id. Each section has a `status`: ok (items found), not_published (the page publishes none, with a reason) or unreadable (could not tell); an empty list never means none on its own. Items parsed from the description carry `source: description`, the heading they sat under and a `confidence`. Costs $0.005 only when at least one section is ok; everything else is free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"id","type":"string","required":false,"description":"An event id from `events_search`, such as `luma.evt-AbC123`."},{"name":"url","type":"string","required":false,"description":"A Luma (luma.com/<slug>, lu.ma/<slug>) or Partiful (partiful.com/e/<id>) event page. Give url or id, not both."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":229},{"name":"research_submit","title":"Start Prospect Research","description":"Start a cited pre-call research brief on one prospect: company, funding, traction, competitors, news, people, risks, regions, social (their X account and Reddit mentions, when found), plus a `fit` section when you pass `context`. Give exactly ONE identifier (domain, website_url, company_name, company_linkedin_url, a work email, or linkedin_url), or person_name together with company_name. Returns `research_id` at once; the brief takes 20 to 90 seconds, so poll research_get every 10 to 15 seconds until `status` is `completed` or `failed`. Costs one research at the price account_balance reports as `research_price_usd`, held when you submit, charged only when the brief completes and refunded in full if it fails.","inputs":[{"name":"company_linkedin_url","type":"string","required":false,"description":"The company's linkedin.com/company/... URL, used as a name hint only."},{"name":"company_name","type":"string","required":false,"description":"The company's name. With person_name, the company that person works at."},{"name":"context","type":"string","required":false,"description":"Your own product, at most 1,000 characters. Turns on the `fit` section."},{"name":"domain","type":"string","required":false,"description":"The company's domain, for example `acme.com`."},{"name":"email","type":"string","required":false,"description":"A work email; its domain identifies the company. Free-mail addresses are refused."},{"name":"linkedin_url","type":"string","required":false,"description":"A person's linkedin.com/in/... URL, used as a name hint only."},{"name":"person_name","type":"string","required":false,"description":"A person's name; needs company_name as well."},{"name":"purpose","type":"string","required":false,"description":"What the brief is for: `account_research` (default), `pre_call` (objections, discovery questions) or `outreach` (sourced hooks with draft first lines)."},{"name":"website_url","type":"string","required":false,"description":"Any http(s) URL on the company's website."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":381},{"name":"research_get","title":"Get Research Brief","description":"Read a research job by the `research_id` research_submit returned: `status` (queued, running, completed, failed), `input`, `result` (the brief, once completed) and `error` (once failed). Every brief field is {value, sources, confidence}. `result.social` holds `x` (handle, followers, bio, posting_cadence, recent_topics, notable_posts) and `reddit` (mention_count_90d, top_threads, communities, tone, tone_basis); a platform with nothing found is absent, and with neither `social` is absent. Free; only your own account's jobs are visible.","inputs":[{"name":"id","type":"string","required":true,"description":"The `research_id` from research_submit."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":156},{"name":"email_verify","title":"Verify Email Addresses","description":"Check whether email addresses can receive mail, up to 50,000 addresses a call (an input size per request, not a volume cap: send more in further calls or as a background job); a call over it is refused with TOO_MANY_EMAILS, free. What our probe pacing cannot check now is queued into a verification job and comes back `queued` with its `job_id`, free here and billed when the job checks it. Each result has `status` (valid, invalid, catch-all or unknown), `reason`, `reason_text`, `score` (0 to 100), `recommendation` (send, send_with_caution, retry_later or do_not_send), `charged`, `flags`, `smtp_code`, `catch_all_tier`, `did_you_mean` (a likely domain typo), `mail_provider` and `checked_at`. Costs $0.003 per valid or invalid result, drawn from your balance; catch-all and unknown results are free (pricing_get lists which statuses are charged). When the balance covers only some addresses, the rest come back `unknown` with reason `not_checked_insufficient_credits`, free (`not_checked_key_cap` when the key's monthly cap stops it). `depth: \"quick\"` never contacts the mail server: syntax, disposable and free lists, DNS, parked and new-domain flags and a recently measured catch-all verdict, at $0.001 per address whatever the status; an address that needs a mailbox check comes back `unknown` with reason `not_probed`. `depth: \"cache\"` (or `cache_only: true`) answers only from verdicts already on record from any account (valid within 30 days, invalid within 90): it never contacts the mail server and never counts against the probe budget, a known verdict is billed like a full check, and anything not on record comes back `miss`, free. A `paced` or `provider_cooldown` result carries `retry_after_s`: retry after that many seconds.","inputs":[{"name":"cache_only","type":"boolean","required":false,"description":"Same as depth cache: answer from verdicts already on record, never contact the mail server."},{"name":"depth","type":"string","required":false,"description":"full (default) checks the mailbox; quick is DNS and lists only, $0.001 per address; cache answers only from verdicts already on record (miss is free)."},{"name":"emails","type":"array","required":true,"description":"The addresses to check, up to 50,000 a call (an input size per request, not a volume cap: send more in further calls or as a background job). An item may be {email, first_name, last_name} to also che…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":553},{"name":"email_domain_check","title":"Check Email Domain","description":"What is known about one email domain without contacting its mail server: `exists`, `accepts_mail`, `null_mx`, `mx` hosts, `mail_provider`, `spf`, `dmarc`, `disposable`, `free_provider`, `parked`, `domain_age_days`, `new_domain`, `did_you_mean`, and `catch_all` (true or false only when our own check measured it recently, else null) with `catch_all_checked_at`. Free, with no hourly lookup limit (only the per-key rate limit applies).","inputs":[{"name":"domain","type":"string","required":true,"description":"A domain name such as example.com."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"email_find","title":"Find Email Address","description":"Find a person's work email from `first_name`, `last_name` and company `domain`. The common patterns are checked in order against the mail server, most common first. Returns `status` (found, catch_all, unknown, not_found), `email`, `pattern`, `score`, `recommendation` and the addresses `checked`. Costs $0.009 only when an address is found; on a catch-all domain it returns the most likely address as `best_guess`, free.","inputs":[{"name":"domain","type":"string","required":true,"description":"The company's email domain, such as example.com."},{"name":"first_name","type":"string","required":true,"description":"The person's first name."},{"name":"last_name","type":"string","required":false,"description":"The person's last name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":147},{"name":"website_contacts","title":"Find Website Contacts","description":"The people and addresses a company's own website lists (team, about, contact and press pages, a page's author), read live and ranked for your `objective`, each paired with an email: a published address checked at the mailbox, or a found one (the email_find patterns). Returns `contacts` (name, role, role_fit, email, email_method published | pattern_verified | catch_all_guess | none, verification, fingerprint, source_url, evidence), `pages` read and `status` (ok, no_contacts, unreadable, robots_disallowed). Honours robots.txt, reads at most 8 pages. Costs $0.009 per contact returned with a usable address; names without an address, catch-all guesses, dead addresses and empty sites are free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"company_id","type":"string","required":false,"description":"Your own id for the company, echoed back in `key`."},{"name":"domain","type":"string","required":true,"description":"The company's domain (example.com) or an https URL on it; a URL's own author ranks first."},{"name":"max_finds","type":"integer","required":false,"description":"How many top people with no published address get an email find. Default 2. Any number: up to 4 run now, the rest are queued (status queued, job_id) and billed per contact found when the job delivers."},{"name":"objective","type":"string","required":false,"description":"Who counts as the right person. Default sales."},{"name":"verify_published","type":"boolean","required":false,"description":"Check each published address at the mailbox. Default true."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":329},{"name":"email_verify_calibration","title":"Email Score Calibration","description":"What each verification score band has meant in practice: the measured bounce rate per band from delivery outcomes customers reported over the last 90 days. A band with fewer than 30 reports shows a null rate. Free.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":53},{"name":"email_clean_list","title":"Clean Email List","description":"Clean up to 50,000 addresses a call (an input size per request, not a volume cap: send more in further calls or as a background job) with quick checks (no mail server is contacted): returns `keep`, `review` (role, free, parked, new or typo addresses, with a reason) and `remove` (cannot receive mail), plus `counts`. $0.001 per well-formed address. Run email_verify on the kept addresses you will actually send to.","inputs":[{"name":"emails","type":"array","required":true,"description":"The addresses to clean, up to 50,000 a call (an input size per request, not a volume cap: send more in further calls or as a background job); what the request time does not reach comes back in not_ch…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":168},{"name":"email_verify_stats","title":"Email Verification Stats","description":"Your own email verification mix over the last `days` (1 to 90, default 30): `total`, `by_status` (valid, invalid, catch-all, unknown), `charged`, `served_from_cache`, `catch_all_share` and `unknown_share`. Free.","inputs":[{"name":"days","type":"integer","required":false,"description":"Window in days, 1 to 90 (default 30)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":87},{"name":"email_outcomes_report","title":"Report Email Outcomes","description":"Report what happened when you sent: `bounced` or `delivered`, 1 to 100 addresses per call. A bounce you report makes your later email_verify checks of that address come back invalid (reason `reported_bounce`); a delivered report on a catch-all address raises its score. Returns `stored`. Free.","inputs":[{"name":"outcomes","type":"array","required":true,"description":"Each address and what happened when you sent to it."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"email_verify_job_create","title":"Start Email Verification Job","description":"Check up to 50,000 addresses in the background. Returns 202 with a job `id`; poll email_verify_job_get. A slow or greylisting server is retried about 5, 15 and 30 minutes later, free. Each valid or invalid result costs $0.003 as it is checked; catch-all and unknown are free. An optional https `callback_url` gets one signed POST when the job completes (verify with the returned `secret`). At most 5 jobs run at once per account.","inputs":[{"name":"callback_url","type":"string","required":false,"description":"An https URL to POST to when the job completes."},{"name":"emails","type":"array","required":true,"description":"The addresses, 1 to 50,000."},{"name":"monitor_days","type":"integer","required":false,"description":"Check the whole list again this many days after each run, billing each definite result again; the callback reports what changed."},{"name":"sample","type":"integer","required":false,"description":"Check only a random sample of this many addresses; the job then reports estimated shares for the whole list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":209},{"name":"email_verify_job_get","title":"Get Email Verification Job","description":"A job's `status` (queued, running, completed), `total`, `done`, `charged_count` and `amount_usd`. Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The job `id` from email_verify_job_create."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":58},{"name":"email_verify_job_results","title":"Get Email Verification Job Results","description":"A job's results in input order, up to 1,000 a page (`limit`), from `cursor`; `next_cursor` is null on the last page. An address not yet checked shows status `pending`. Free.","inputs":[{"name":"cursor","type":"integer","required":false,"description":"Start at this position (0-based)."},{"name":"id","type":"string","required":true,"description":"The job `id`."},{"name":"limit","type":"integer","required":false,"description":"Results per page, 1 to 1,000 (default 1,000)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"email_verify_job_stop","title":"Stop Verification Job","description":"Turn off a job's monitoring (its regular re-checks); a job still running is cancelled, and what it already checked stays readable. Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The job id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"watchlist_create","title":"Create Watchlist","description":"Save a signal alert: a set of filters plus an https webhook. `kind` funding (the default) watches funding_search filters, $0.009 per delivered record. `kind` launches watches launch_search filters (stage, launch_type, domain, company, category, country) and is refused while launches are not available; launch deliveries are not charged while launches are not on sale. `kind` ads watches one company's ads, filters `{domain, platform?, level?}`: its advertiser_started, advertiser_stopped and new_creatives (or, with level `ad`, every ad's own ad_started, ad_stopped and new_creative), $0.006 per delivered event. `kind` events watches a city for NEW events_search matches (filters `city` plus optionally platform, category, min_guests, max_guests, host, speaker, q, free), $0.0015 per delivered event. Each new match is POSTed to the webhook, signed with the returned `secret` (header Prospect-Signature: t=..,v1=HMAC-SHA256). Creating is free; a delivery is charged only when the webhook answers 2xx. The `secret` is shown once. Max 20 active per account.","inputs":[{"name":"filters","type":"object","required":true,"description":"At least one filter of the watched type: funding_search or launch_search filters (date windows and paging do not apply), or for kind ads `domain`, and optionally `platform` and `level` (company, the…"},{"name":"kind","type":"string","required":false,"description":"What to watch: `funding` (default), `launches`, `ads` or `events`."},{"name":"name","type":"string","required":true,"description":"A label, such as 'Series A robotics'."},{"name":"webhook_url","type":"string","required":true,"description":"Your https endpoint on a public host."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":392},{"name":"watchlist_list","title":"List Watchlists","description":"Your funding-signal alerts (without their secrets). Free.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":21},{"name":"watchlist_get","title":"Get Watchlist","description":"One funding-signal alert: its name, filters, webhook URL, whether it is active and why it was paused (never its secret). Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The watchlist id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"watchlist_deliveries","title":"List Watchlist Deliveries","description":"The last 50 deliveries of one alert and their outcome (delivered, retry, failed, no_credit). Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The watchlist id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"watchlist_test","title":"Send Watchlist Test Event","description":"Send a signed sample event to the alert's webhook now, to build and verify the receiver. Free; 5 a minute.","inputs":[{"name":"id","type":"string","required":true,"description":"The watchlist id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"watchlist_delete","title":"Delete Watchlist","description":"Delete a funding-signal alert and its delivery history. Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The watchlist id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":33},{"name":"people_profile","title":"Read Person Profile","description":"Read one person's public professional profile, fetched FRESH at request time (never from a stored cache). Costs $0.0012 per live read, drawn from your balance; a profile that cannot be read is free. Pass a public identifier or profile address as `profile_ref`, OR the `person_ref` another read returned (a reactor, commenter or search result without a public identifier). Give exactly one. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"person_ref","type":"string","required":false,"description":"The person_ref another read returned for this person (post_engagers, people_search)."},{"name":"profile_ref","type":"string","required":false,"description":"A person's public identifier or profile address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":155},{"name":"people_profile_lite","title":"Read Person Profile (Light)","description":"Read the light version of one person's public profile, fetched FRESH at request time: name, location, current company name, profile_ref and the public about (often cut short) when the profile shows them. Costs $0.0005, charged only when the answer has a name plus a location or a company name; a profile that is not found, shows too little, or cannot be read right now is free. For job titles, experience, education and the person_ref that people_posts takes, use people_profile ($0.0012). Pass a public identifier or profile address as `profile_ref`. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"profile_ref","type":"string","required":true,"description":"A person's public identifier or profile address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":173},{"name":"people_search","title":"Search People","description":"Search people by keywords and filters, read FRESH at request time. Returns the first 1,000 results per query; page with `start`. Costs $0.0012 per live read. Give `keywords` or at least one filter. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"filters","type":"object","required":false,"description":"Named filters: network, current_company, past_company, location, industry, school, profile_language, connection_of, service_category, first_name, last_name, title, company, school_name."},{"name":"keywords","type":"string","required":false,"description":"Free-text keywords."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 1,000 results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":173},{"name":"people_posts","title":"Read Person Posts","description":"Read a person's recent public posts, FRESH at request time. Costs $0.0012 per live read. Page with `cursor` (pass back the returned cursor) or `start`. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Posts per page, 1 to 50."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":130},{"name":"post_engagers","title":"Read Post Engagers","description":"Read who reacted to or commented on a public post, FRESH at request time. Costs $0.0012 per live read. Set `kind` to reactions or comments and give one of post_id, share_id or post_url. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"cursor","type":"string","required":false,"description":"Comments only: opaque cursor from the previous page."},{"name":"include_replies","type":"boolean","required":false,"description":"Comments only: true nests every reply under its comment (up to 100 a comment, with replies_page). Default false. page.total counts replies too when page.total_includes_replies is true."},{"name":"kind","type":"string","required":true,"description":"reactions (who reacted) or comments (who commented)."},{"name":"post_id","type":"string","required":false,"description":"The post: the post reference the posts read returns (id), its numeric activity id, or its activity, share or ugcPost URN as the post's address shows it."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The post's content id: the share_id the posts read returns, a numeric id, or its share or ugcPost URN as the post's address shows it."},{"name":"start","type":"integer","required":false,"description":"Reactions only: zero-based offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":292},{"name":"post_resharers","title":"Read Post Resharers","description":"Read who reshared a public post, FRESH at request time, with each resharer enriched. Costs $0.0012 per live read. Each result carries reshare_type (repost or repost_with_thoughts) and, for a with-thoughts reshare, the added commentary text. Give one of post_id, share_id or post_url. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"post_id","type":"string","required":false,"description":"The post: the post reference the posts read returns (id), its numeric activity id, or its activity, share or ugcPost URN as the post's address shows it."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The post's content id: the share_id the posts read returns, a numeric id, or its share or ugcPost URN as the post's address shows it."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":236},{"name":"page_followers","title":"Read Page Followers","description":"Read the followers of a page your connected account administers, FRESH at request time. Costs $0.0012 per live read. Give `page`, or the `cursor` of the previous page. Requires a connected account (people_search aside, this read runs on your own account). While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Followers per page, 1 to 20."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"page","type":"string","required":false,"description":"The page identifier or address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":158},{"name":"page_followers_enriched","title":"Read Page Followers With Profiles","description":"Read the followers of a page your connected account administers, each joined to their full profile (headline, location, current company and title, experience, education, skills), FRESH at request time. Costs $0.003 per follower returned with its profile; the list, a follower with no public profile, a profile not found and a skipped follower are free. Up to 20 followers a page (page on with `cursor`); each follower's `enrichment.status` is ok, no_reference, not_found or skipped (with a reason: not_held, pool_busy, time_budget, unavailable). Give `page`, or the `cursor` of the previous page. Requires a connected account. Allow at least 45 seconds. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Followers per page, 1 to 20 (default 20); page on with `cursor`."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"page","type":"string","required":false,"description":"The page identifier or address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":238},{"name":"page_profile","title":"Read Company Page","description":"Read a company page's public fields, FRESH at request time: name, website, tagline, description, industry, company type, employee count and size range, headquarters (city, region, country, postal code), founded year, specialities, follower count and affiliated pages. Costs $0.0012 per live read; a page that cannot be read is free. Pass the page's public name or its page address as `page`. Each call is a live read that usually takes 15 to 25 seconds (measured 2026-11-03), so allow at least 45 seconds before timing out. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"page","type":"string","required":true,"description":"The company page's public name (the part after /company/) or its page address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":184},{"name":"post_get","title":"Read Post","description":"Read one public post in full, FRESH at request time: author, text, created_at, a media summary and counts (reactions in total and by type, comments, reshares). Costs $0.0012 per live read; a post that cannot be found is free. Give one of post_id, share_id or post_url. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"post_id","type":"string","required":false,"description":"The post: the post reference the posts read returns (id), its numeric activity id, or its activity, share or ugcPost URN as the post's address shows it."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The post's content id: the share_id the posts read returns, a numeric id, or its share or ugcPost URN as the post's address shows it."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":202},{"name":"page_search","title":"Search Company Pages","description":"Search company pages by keywords and filters, read FRESH at request time. Returns the first 1,000 results per query; page with `start`. Costs $0.0012 per live read. Give `keywords` or at least one filter. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"filters","type":"object","required":false,"description":"Named filters, each a list: industry (numeric industry ids), size (headcount bands), location (numeric place ids)."},{"name":"keywords","type":"string","required":false,"description":"Free-text keywords."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 1,000 results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":160},{"name":"post_search","title":"Search Posts","description":"Search public posts by keywords, read FRESH at request time, optionally inside a date window and sorted by relevance or recent. Returns the first 1,000 results per query; page with `start`. Costs $0.0012 per live read. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"date_posted","type":"string","required":false,"description":"Only posts from this window."},{"name":"keywords","type":"string","required":true,"description":"Free-text keywords."},{"name":"sort","type":"string","required":false,"description":"Order of results. Default relevance."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 1,000 results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":156},{"name":"page_employees","title":"List Page Employees","description":"List the people who say they currently work at a company page, read FRESH at request time, each with name, headline, location and profile. Returns the first 1,000 people; page with `start`. Costs $0.0012 per live read. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 50."},{"name":"page","type":"string","required":true,"description":"A company page's public name, or its page address."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 1,000 people."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":141},{"name":"lead_search","title":"Search Leads","description":"Search people as sales leads by keywords and lead filters (seniority, function, company headcount, years in role, a recent job change, recent posting), read FRESH at request time. Each lead carries name, location, current role with tenure, network distance and signals. Returns the first 2,500 results per query; page with `start`. Costs $0.0035 per result returned; an empty search is free. Give `keywords` or at least one filter. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 25."},{"name":"filters","type":"object","required":false,"description":"Named filters: titles as text; companies, places, industries, functions and schools as numeric ids; the rest as listed bands; changed_jobs_recently and posted_recently take true."},{"name":"keywords","type":"string","required":false,"description":"Free-text keywords."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 2,500 results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":219},{"name":"lead_company_search","title":"Search Lead Companies","description":"Search companies as sales accounts by keywords and account filters (headcount, headcount growth, annual revenue, industry, location, hiring now), read FRESH at request time. Returns the first 2,500 results per query; page with `start`. Costs $0.0035 per result returned; an empty search is free. Give `keywords` or at least one filter. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"count","type":"integer","required":false,"description":"Results per page, 1 to 25."},{"name":"filters","type":"object","required":false,"description":"Named filters: industry and location as numeric ids, headcount as bands, headcount_growth as { min, max } percent, annual_revenue as { min, max } USD millions, hiring true."},{"name":"keywords","type":"string","required":false,"description":"Free-text keywords."},{"name":"start","type":"integer","required":false,"description":"Zero-based offset into the first 2,500 results."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":203},{"name":"account_connect","title":"Connect Your Account","description":"Connect YOUR OWN account with its signed-in session string, so the write tools and page_followers act as you. The session is checked live once, stored encrypted, never returned and deleted on account_disconnect; it replaces any account connected before. Free. A session string is a credential: pass it only when the user gives it. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"proxy_url","type":"string","required":false,"description":"Optional: your own http, https or socks5 proxy for this account."},{"name":"session","type":"string","required":true,"description":"The account's signed-in session string."},{"name":"user_agent","type":"string","required":false,"description":"Optional: the browser user agent the session was created with."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":177},{"name":"account_login","title":"Connect Your Account by Signing In","description":"Connect YOUR OWN account by signing in with its email or phone and password. When the account asks for a two-factor code, an emailed code or a check a person must finish, the answer carries a `challenge_id` (and a `handoff_url` for a check): call again with `code` and `challenge_id` within 15 minutes. With `totp_secret` (the authenticator setup key) the two-factor code is typed for you; `remember: true` keeps the details encrypted so a later sign-out is signed back in automatically. Free. A password is a credential: pass it only when the user gives it. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"challenge_id","type":"string","required":false,"description":"The challenge_id from the previous answer."},{"name":"code","type":"string","required":false,"description":"The two-factor or emailed code, on a resumed sign-in."},{"name":"identifier","type":"string","required":true,"description":"The account's sign-in email or phone."},{"name":"password","type":"string","required":true,"description":"The account's password; kept encrypted only when remember is true."},{"name":"proxy_url","type":"string","required":false,"description":"Optional: your own http, https or socks5 proxy for this account."},{"name":"remember","type":"boolean","required":false,"description":"Optional opt-in: keep the sign-in details encrypted for automatic re-login after a sign-out. Deleted on disconnect."},{"name":"totp_secret","type":"string","required":false,"description":"Optional: the authenticator app's setup key (base32), so the two-factor code is typed for you."},{"name":"user_agent","type":"string","required":false,"description":"Optional: the browser user agent to sign in with."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":355},{"name":"account_status","title":"Get Connected Account","description":"What is connected: `connected`, `status` (active, or dead when it signed out and needs connecting again), the account's handle and name, and its dates. Never returns the session. Free. Check it before a batch of writes.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":80},{"name":"account_disconnect","title":"Disconnect Your Account","description":"Disconnect your account: its stored session is deleted. Safe to repeat; works at a zero balance. Free.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":52},{"name":"accounts_list","title":"List Connected Accounts","description":"Every account connected to this API key, oldest first: account_id, status (active, connecting, or dead when it needs connecting again), handle, name, egress and dates. Never returns a session. No cap on accounts per key. Free.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":59},{"name":"account_add","title":"Connect Another Account","description":"Connect ANOTHER of your own accounts to this key, alongside the ones already connected, and get its account_id. Send either `session` (a signed-in session string) or `identifier` and `password` (a sign-in). When the sign-in asks for a code or a check, the answer carries account_id and challenge_id: finish it with account_checkpoint. Refused with account_already_connected (and that account's account_id) when the same account is already here. Free. Session strings and passwords are credentials: pass them only when the user gives them. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"identifier","type":"string","required":false,"description":"The account's sign-in email or phone."},{"name":"password","type":"string","required":false,"description":"The account's password."},{"name":"proxy_url","type":"string","required":false,"description":"Optional: your own http, https or socks5 proxy for this account."},{"name":"remember","type":"boolean","required":false,"description":"Optional opt-in: keep the sign-in details encrypted for automatic re-login."},{"name":"session","type":"string","required":false,"description":"The account's signed-in session string (or sign in with identifier and password)."},{"name":"totp_secret","type":"string","required":false,"description":"Optional: the authenticator setup key (base32), so the two-factor code is typed for you."},{"name":"user_agent","type":"string","required":false,"description":"Optional: the browser user agent of the session or sign-in."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":290},{"name":"account_get","title":"Get One Connected Account","description":"One connected account by its account_id: status, handle, name, egress and dates. Never returns a session. Free.","inputs":[{"name":"account_id","type":"string","required":true,"description":"The account_id from accounts_list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48},{"name":"account_remove","title":"Remove a Connected Account","description":"Remove one connected account: its stored session, its browser profile and its queued writes are deleted. Other accounts are untouched. Free.","inputs":[{"name":"account_id","type":"string","required":true,"description":"The account_id to remove."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":47},{"name":"account_reconnect","title":"Reconnect an Account","description":"Connect the same account again after it signed out, keeping its account_id: send `session`, or `identifier` and `password`. Free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":true,"description":"The account_id to reconnect."},{"name":"identifier","type":"string","required":false,"description":"The account's sign-in email or phone."},{"name":"password","type":"string","required":false,"description":"The account's password."},{"name":"remember","type":"boolean","required":false,"description":"Optional opt-in: keep the sign-in details encrypted for automatic re-login."},{"name":"session","type":"string","required":false,"description":"A fresh signed-in session string."},{"name":"totp_secret","type":"string","required":false,"description":"Optional: the authenticator setup key (base32)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":156},{"name":"account_checkpoint","title":"Finish an Account's Sign-in Check","description":"Finish a sign-in that asked for a code or a check: send the challenge_id from the earlier answer, the code when one was asked for, and the same identifier and password. Within 15 minutes. Free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":true,"description":"The account_id the sign-in answered with."},{"name":"challenge_id","type":"string","required":true,"description":"The challenge_id from the earlier answer."},{"name":"code","type":"string","required":false,"description":"The two-factor or emailed code, when one was asked for."},{"name":"identifier","type":"string","required":true,"description":"The account's sign-in email or phone."},{"name":"password","type":"string","required":true,"description":"The account's password."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":154},{"name":"account_connect_link","title":"Create a Hosted Connect Link","description":"A short-lived, single-use link on our site where YOUR end user connects their own account (a sign-in, with any code or check it asks for, or a session string), so you never handle their password. type create (default) connects a new account; type reconnect with account_id reconnects that one and keeps its account_id. Optional: name (your own reference, passed back in the redirect and every event), expires_on (5 minutes to 24 hours, default 1 hour), success_redirect_url and failure_redirect_url (https; status, account_id, name and reason are added to the query), notify_url (https; receives account.connected, account.reconnect_required and account.disconnected for that account, signed with the webhook_secret this answer shows once). Free. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"For type reconnect: the account_id to reconnect."},{"name":"expires_on","type":"string","required":false,"description":"ISO 8601 date and time, 5 minutes to 24 hours from now. Default 1 hour."},{"name":"failure_redirect_url","type":"string","required":false,"description":"https URL the end user is sent to when the link cannot succeed."},{"name":"name","type":"string","required":false,"description":"Your own reference for the account, such as your user id."},{"name":"notify_url","type":"string","required":false,"description":"https URL that receives this account's signed events."},{"name":"success_redirect_url","type":"string","required":false,"description":"https URL the end user is sent to once connected."},{"name":"type","type":"string","required":false,"description":"create (default) for a new account, reconnect for an existing one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":338},{"name":"account_connect_link_revoke","title":"Revoke a Hosted Connect Link","description":"Revoke a hosted connect link before it is used, so it can no longer connect anything. Free.","inputs":[{"name":"link_id","type":"string","required":true,"description":"The link_id from account_connect_link."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":47},{"name":"message_send","title":"Send Direct Message","description":"Send a direct message from YOUR connected account. Costs $0.005 per action, drawn from your balance; billing turns on with the write go-live switch (free until then). Requires a connected account (account_connect). Optional: one attachment (an https url we fetch, or base64 data with filename and mime_type; at most 20 MB; PDF, Word, PowerPoint, Excel, plain text, JPEG, PNG or GIF), and inmail: true with a subject to message someone outside your network (one credit each; 409 no_inmail_credits when none is left, nothing sent). An attachment or inmail send answers 503 temporarily_unavailable, with nothing charged, until it is switched on. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"attachment","type":null,"required":false,"description":"One file, at most 20 MB: { url } (https) or { data (base64), filename, mime_type }."},{"name":"inmail","type":"boolean","required":false,"description":"true to message a person outside your network; needs subject."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."},{"name":"subject","type":"string","required":false,"description":"The subject line, with inmail: true only."},{"name":"text","type":"string","required":true,"description":"The message text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":297},{"name":"person_invite","title":"Send Connection Invite","description":"Send a connection invite from your connected account. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"writes_queued","title":"List Queued Writes","description":"List the writes that were sent while your connected account was signed out. Each is queued and sent automatically once the account is connected again. Free.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many to return, 1 to 100."},{"name":"status","type":"string","required":false,"description":"Only writes in this state."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"write_queued_cancel","title":"Cancel a Queued Write","description":"Cancel a write that is still queued, so it is never sent. Free.","inputs":[{"name":"id","type":"string","required":true,"description":"The queued_id from the 202 answer or the list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":44},{"name":"invite_withdraw","title":"Withdraw Connection Invite","description":"Withdraw a connection invite you sent. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference the invite was sent to."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"person_follow","title":"Follow or Unfollow a Person","description":"Follow a person, or unfollow with `unfollow: true`. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."},{"name":"unfollow","type":"boolean","required":false,"description":"true to unfollow instead of follow."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":115},{"name":"person_visit","title":"Visit a Profile","description":"Visit a profile from your connected account (the 'viewed you' signal). Costs $0.005 per action. Give person_ref or profile_ref. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":false,"description":"The person reference from a profile or search result."},{"name":"profile_ref","type":"string","required":false,"description":"A person's public identifier or profile address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":124},{"name":"post_create","title":"Create a Post","description":"Create a post (share) from your connected account, optionally with media: up to 20 images (JPEG, PNG or GIF, 5 MB each), one MP4 video (50 MB) or one PDF document (25 MB), 50 MB in all. Give each file as a public https `url`, or inline as base64 `data` with its `filename` and `mime` (inline files share a 20 MB request). Text is optional with media. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"media","type":"object","required":false,"description":"Media to attach."},{"name":"text","type":"string","required":false,"description":"The post text; required unless media is given."},{"name":"visibility","type":"string","required":false,"description":"Who can see it; defaults to anyone."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":207},{"name":"post_react","title":"React to a Post","description":"React to a post, or remove your reaction with `remove: true`. Costs $0.005 per action. Give one of post_id, share_id or post_url. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"reaction","type":"string","required":false,"description":"The reaction; defaults to like."},{"name":"remove","type":"boolean","required":false,"description":"true to remove your reaction instead."},{"name":"share_id","type":"string","required":false,"description":"The share id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":157},{"name":"post_comment","title":"Comment on a Post","description":"Comment on a post, or reply to a comment with `parent_comment`. Costs $0.005 per action. Give one of post_id, share_id or post_url. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"parent_comment","type":"string","required":false,"description":"The comment_id of a comment on this post (from post_engagers kind=comments) to reply under."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The share id."},{"name":"text","type":"string","required":true,"description":"The comment text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":169},{"name":"post_repost","title":"Repost a Post","description":"Repost a post (instant repost, no commentary). Costs $0.005 per action. Give one of post_id, share_id or post_url. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The share id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":127},{"name":"post_quote","title":"Quote a Post","description":"Quote a post with your own thoughts (repost with commentary). Costs $0.005 per action. Give one of post_id, share_id or post_url. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The share id."},{"name":"text","type":"string","required":true,"description":"Your commentary."},{"name":"visibility","type":"string","required":false,"description":"Who can see it; defaults to anyone."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":152},{"name":"post_edit","title":"Edit Your Post","description":"Edit the text of one of your own posts. Costs $0.005 per action. Give share_id or a post_url that names the post. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The share id."},{"name":"text","type":"string","required":true,"description":"The new post text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"post_delete","title":"Delete Your Post","description":"Delete one of your own posts. Costs $0.005 per action. Give share_id or a post_url that names the post. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"post_id","type":"string","required":false,"description":"The post id."},{"name":"post_url","type":"string","required":false,"description":"The public post URL."},{"name":"share_id","type":"string","required":false,"description":"The share id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"comment_delete","title":"Delete Your Comment","description":"Delete one of your own comments. Costs $0.005 per action. Pass the comment_id from post_engagers (kind=comments). Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"comment_id","type":"string","required":true,"description":"The comment_id of your comment."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":103},{"name":"person_endorse","title":"Endorse a Skill","description":"Endorse one of a person's listed skills, named as person_skills lists it. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."},{"name":"skill","type":"string","required":true,"description":"The skill name, as person_skills lists it."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"person_skills","title":"Read a Person's Skills","description":"Read a person's listed skills with their endorsement counts, and whether you endorsed each. Costs $0.0012 per read. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from a profile or search result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"insights_profile_views","title":"Who Viewed Your Profile","description":"Who viewed your connected account's profile, where the network shows them (a hidden viewer is anonymous), plus the view count. Costs $0.0012 per read. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"insights_ssi","title":"Your Social Selling Index","description":"Your connected account's social selling index (0 to 100) and its four parts (0 to 25 each), with your rank in your industry and network. Costs $0.0012 per read. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"insights_posts","title":"Your Post Insights","description":"Your connected account's recent posts with impressions, reactions, comments and reposts. Costs $0.0012 per read. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Posts per page, 1 to 50."},{"name":"start","type":"integer","required":false,"description":"Offset into your posts, 0 to 1000."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":120},{"name":"messages_list","title":"List Conversations","description":"Read your connected account's recent conversations, incremental by `since`/`cursor`. Costs $0.0012 per read; billing turns on with the messaging go-live switch (free until then). Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Conversations per page, 1 to 20."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"since","type":"string","required":false,"description":"Read only what changed after this value from a previous read."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":149},{"name":"message_thread","title":"Read a Conversation Thread","description":"Read the messages of one conversation thread, incremental by `since`/`cursor`. Costs $0.0012 per read. Pass the `thread_id` from messages_list. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Messages per page, 1 to 50."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"since","type":"string","required":false,"description":"Read only what changed after this value from a previous read."},{"name":"thread_id","type":"string","required":true,"description":"The thread id from messages_list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":159},{"name":"connections_list","title":"List Your Connections","description":"Read your connected account's first-degree connections, newest first, each with name, headline, profile_ref, person_ref and connected_at. Costs $0.0012 per read. Page with `start` or the `cursor` of the previous page. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Connections per page, 1 to 40."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."},{"name":"start","type":"integer","required":false,"description":"0-based position of the first connection."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":157},{"name":"invitations_received","title":"List Received Invitations","description":"Read the connection invitations waiting on your connected account, each with an invitation_id, the sender as a person, the optional message and sent_at. Costs $0.0012 per read. Answer one with invitation_accept or invitation_decline. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Invitations per page, 1 to 20."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":139},{"name":"invitations_sent","title":"List Sent Invitations","description":"Read the connection invitations your connected account sent, each with status (pending, or accepted or withdrawn where known), the invitee as a person and sent_at. Costs $0.0012 per read. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"count","type":"integer","required":false,"description":"Invitations per page, 1 to 20."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from the previous page."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":132},{"name":"invitation_accept","title":"Accept an Invitation","description":"Accept a connection invitation your connected account received. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"invitation_id","type":"string","required":true,"description":"The invitation_id from invitations_received."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92},{"name":"invitation_decline","title":"Decline an Invitation","description":"Decline a connection invitation your connected account received. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"invitation_id","type":"string","required":true,"description":"The invitation_id from invitations_received."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"connection_remove","title":"Remove a Connection","description":"Remove a first-degree connection from your connected account. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"person_ref","type":"string","required":true,"description":"The person reference from connections_list, a profile or a search result."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":100},{"name":"chat_start","title":"Start a Conversation","description":"Start a new conversation from your connected account with one person, or a group of up to 50 (subject is the group's title). Answers the new thread_id for message_thread (null when it could not be read back; find it in messages_list). Optional attachment as on message_send. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"attachment","type":null,"required":false,"description":"One file, at most 20 MB: { url } (https) or { data (base64), filename, mime_type }."},{"name":"person_refs","type":"array","required":true,"description":"1 to 50 person references from a profile or search result."},{"name":"subject","type":"string","required":false,"description":"The group's title; needs two or more people."},{"name":"text","type":"string","required":true,"description":"The first message."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":206},{"name":"message_react","title":"React to a Message","description":"React to one message in a thread with an emoji, or remove: true to take the reaction back. Pass the thread_id and message_id from message_thread. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"emoji","type":"string","required":true,"description":"One emoji."},{"name":"message_id","type":"string","required":true,"description":"The message id from message_thread."},{"name":"remove","type":"boolean","required":false,"description":"true removes your reaction instead."},{"name":"thread_id","type":"string","required":true,"description":"The thread id from messages_list or message_thread."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":154},{"name":"thread_mark_read","title":"Mark a Thread Read","description":"Mark a conversation thread read on your connected account. Costs $0.005 per action. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."},{"name":"thread_id","type":"string","required":true,"description":"The thread id from messages_list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"inmail_credits","title":"Get Message Credits","description":"Your connected account's remaining credits for messages to people outside its network (credits_remaining). Free. Requires a connected account. While GET /pricing does not list this route in its family's available_routes it answers 503 temporarily_unavailable and nothing is charged.","inputs":[{"name":"account_id","type":"string","required":false,"description":"Which connected account (accounts_list). Optional while this key has exactly one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":82},{"name":"account_balance","title":"Get Account Balance","description":"Your credit balance and the prices you pay (record, research, email verification). Free. Check it before a large paged search.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"name":"feedback_send","title":"Send Feedback","description":"Report a bug, a wrong or empty field, a missing capability or a question about ProspectAPIs to the team. A report is first drafted to a queue (action \"draft\", the default), which sends nothing; action \"list\" shows the pending drafts with their ids; action \"send\" posts only the drafts named in `ids` to POST /v1/feedback and returns a feedback_id per report; action \"discard\" drops the drafts named in `ids`. Free; limited to 10 delivered reports an hour per account (a 429 keeps the draft queued: wait, do not retry in a loop). Before reporting that a field is wrong or a parameter is ignored, re-run the call with a value that could only match if it were honoured. Put the exact call, what came back and what you expected in `details`; never include secrets or API keys.","inputs":[{"name":"action","type":"string","required":false,"description":"\"draft\" (default) queues a report and sends nothing. \"list\" shows the pending drafts with their ids. \"send\" posts the drafts named in `ids`. \"discard\" drops the drafts named in `ids`."},{"name":"details","type":"string","required":false,"description":"Required for a draft. The exact call, what came back, what you expected, and ids such as research_id."},{"name":"ids","type":"array","required":false,"description":"For \"send\" or \"discard\": the draft ids to act on, exactly as action \"list\" shows them."},{"name":"kind","type":"string","required":false,"description":"For a draft: bug (default), feature or question."},{"name":"title","type":"string","required":false,"description":"Required for a draft. One line: what is wrong or missing."},{"name":"tool","type":"string","required":false,"description":"For a draft: the tool the report is about, such as research_get."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":358},{"name":"feedback_list","title":"List Feedback","description":"The reports this account sent with feedback_send (from any of its keys), newest first, each with its status (received, triaged, fixed, wont_fix, needs_info), the team's response and responded_at. Free. Use it to check whether a reported bug was fixed before reporting it again. Page with `cursor` from the previous `next_cursor`.","inputs":[{"name":"cursor","type":"string","required":false,"description":"The previous page's next_cursor, passed back unchanged."},{"name":"limit","type":"integer","required":false,"description":"Reports per page, 1 to 100 (default 25)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":117},{"name":"feedback_get","title":"Get Feedback","description":"One report this account sent, by the feedback_id feedback_send returned: its status (received, triaged, fixed, wont_fix, needs_info), the team's response and responded_at. Free. A report from another account answers 404.","inputs":[{"name":"id","type":"string","required":true,"description":"The feedback_id feedback_send returned."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":69},{"name":"pricing_get","title":"Get Pricing","description":"The live price list: the balance a new account starts with, funding records (price per record), research (whether it is available and its price per brief), email verification (price per check, which statuses are charged and which are free) and watchlist deliveries. Free, needs no key. Use it to quote a cost before a large call.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":78},{"name":"api_version","title":"Get API Version","description":"The API's version and deployed build. Free, needs no key.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":22}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T06:59:30.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":null,"reasonLabel":null,"discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-26","recent":[{"id":"chg_01a1aa81-6ab3-720d-9749-d8a50d3ecaa7","kind":"score.total_changed","summary":"Trust score (28 → 64)","materiality":"functional","direction":"improvement","scoreDelta":36,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa81-6ab3-720d-9749-d8a50d3ecaa7"},{"id":"chg_01a1aa67-3ca5-7451-b028-270785624896","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca5-7451-b028-270785624896"},{"id":"chg_01a1aa67-3ca6-7bfa-93de-2b18f0ff2e50","kind":"check.unverifiable","summary":"Stability (0.30 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca6-7bfa-93de-2b18f0ff2e50"},{"id":"chg_01a1aa67-3ca7-73c4-bed8-dcf7e13b9030","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca7-73c4-bed8-dcf7e13b9030"},{"id":"chg_01a1aa67-3ca7-78dd-951f-d3636988df57","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca7-78dd-951f-d3636988df57"},{"id":"chg_01a1aa67-3ca7-7e35-b248-e7352494882f","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca7-7e35-b248-e7352494882f"},{"id":"chg_01a1aa67-3ca8-73c2-a477-f59c7c4504f3","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca8-73c2-a477-f59c7c4504f3"},{"id":"chg_01a1aa67-3ca8-7dde-adc3-a6f9aa6b6351","kind":"score.total_changed","summary":"Trust score (49 → 28)","materiality":"functional","direction":"regression","scoreDelta":-21,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca8-7dde-adc3-a6f9aa6b6351"},{"id":"chg_01a1aa67-3ca8-78f6-a303-4623aa4491b8","kind":"package.version_changed","summary":"Package version (0.16.0 → 0.17.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1aa67-3ca8-78f6-a303-4623aa4491b8"},{"id":"chg_01a1a589-ae61-7a00-a16f-e6622c781437","kind":"package.version_changed","summary":"Package version (0.14.0 → 0.16.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a589-ae61-7a00-a16f-e6622c781437"},{"id":"chg_01a1a589-ae63-7882-8c1e-4f38300b550e","kind":"score.total_changed","summary":"Trust score (74 → 49)","materiality":"functional","direction":"regression","scoreDelta":-25,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a589-ae63-7882-8c1e-4f38300b550e"},{"id":"chg_01a1a4e9-4135-7ca8-8254-334d9674ae55","kind":"package.version_changed","summary":"Package version (0.14.0 → 0.15.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a4e9-4135-7ca8-8254-334d9674ae55"},{"id":"chg_01a1a4e9-4134-771e-92f3-cb748acfb674","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a4e9-4134-771e-92f3-cb748acfb674"},{"id":"chg_01a1a4e9-4135-728b-9e2b-ec5bd688db9c","kind":"check.reverified","summary":"Known CVEs (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a4e9-4135-728b-9e2b-ec5bd688db9c"},{"id":"chg_01a1a4e9-4135-7722-8688-355588322038","kind":"check.reverified","summary":"Dependency health (unverified → 0.85)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a4e9-4135-7722-8688-355588322038"},{"id":"chg_01a1a4e9-4136-76cb-af1d-6bcca6aab1ca","kind":"score.total_changed","summary":"Trust score (49 → 74)","materiality":"functional","direction":"improvement","scoreDelta":25,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a4e9-4136-76cb-af1d-6bcca6aab1ca"},{"id":"chg_01a1a2b8-23ac-75e5-96b6-6b8c6d7d4158","kind":"package.version_changed","summary":"Package version (0.11.1 → 0.14.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a2b8-23ac-75e5-96b6-6b8c6d7d4158"},{"id":"chg_01a1a2b8-23aa-7c67-b934-8f47ca9f3732","kind":"check.measure","summary":"Schema quality (125 → 156)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a2b8-23aa-7c67-b934-8f47ca9f3732"},{"id":"chg_01a1a2b8-23ac-7e9d-aa99-78c777146e12","kind":"score.total_changed","summary":"Trust score (59 → 49)","materiality":"functional","direction":"regression","scoreDelta":-10,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a2b8-23ac-7e9d-aa99-78c777146e12"},{"id":"chg_01a1a24d-3133-7740-ad02-b9958af52c61","kind":"check.measure","summary":"Schema quality (125 → 152)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp#chg-chg_01a1a24d-3133-7740-ad02-b9958af52c61"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp","markdown":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp.md","changelogJson":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/com-prospectapis-prospectapis-mcp/prospectapis-mcp.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/prospectapis-mcp"},{"label":"Socket report","href":"https://socket.dev/npm/package/prospectapis-mcp"},{"label":"Repository","href":"https://github.com/ProspectAPIs/prospectapis-mcp"},{"label":"Website","href":"https://prospectapis.com/mcp"}]}}