Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ProspectAPIs

NPM · PROSPECTAPIS-MCP · 2 COMPONENTS

Funding rounds, LinkedIn data and actions, email verification and cited research briefs.

−7 this week 64 Trust /100

Last scanned (8 hours ago)

Scores higher than 32% of npm servers

Category CRM and Sales

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security63
  • No malware found by supply-chain analysis.Pass
  • Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency45
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • 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. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
  • Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 101 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +15
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.30 → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Package version: 0.16.0 → 0.17.0 functional
  • 4 Nov 26 0
    • Malware scan: unverified → pass ▲ security
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.85 ▲ functional
    • Package version: 0.14.0 → 0.16.0 functional
    • Package version: 0.14.0 → 0.15.0 functional
  • 3 Nov 26 0
    • Malware scan: unverified → pass ▲ security
    • Known CVEs: unverified → pass ▲ security
    • Schema quality: 125 → 156 ▼ functional
    • Schema quality: 125 → 152 ▼ functional
    • Schema quality: 125 → 151 ▼ functional
    • Dependency health: unverified → 0.85 ▲ functional
    • Package version: 0.11.1 → 0.14.0 functional
    • Package version: 0.11.1 → 0.13.0 functional
    • Package version: 0.11.1 → 0.12.0 functional
  • 2 Nov 26 −25
    • Known CVEs: pass → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Schema quality: 111 → 125 ▼ functional
    • Schema quality: 111 → 128 ▼ functional
    • Schema quality: 111 → 126 ▼ functional
    • Dependency health: 0.85 → unverified ▼ functional
    • Package version: 0.9.0 → 0.11.1 functional
    • Package version: 0.9.0 → 0.11.0 functional
    • Package version: 0.9.0 → 0.10.1 functional
    • Package version: 0.9.0 → 0.10.0 functional
  • 1 Nov 26 0
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.17 → unverified ▼ security
    • Schema quality: 3264 → 5587 ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Package version: 0.4.2 → 0.9.0 functional
    • Package version: 0.4.2 → 0.8.0 functional
  • 31 Oct 26 +11
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.85 ▲ functional
  • 30 Oct 26 −8
    • Known CVEs: pass → unverified ▼ security
    • Dependency health: 0.85 → unverified ▼ functional
    • Stability: unverified → 0.13 ▲ functional
    • Package version: 0.4.1 → 0.4.2 functional
  • 27 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/prospectapis-mcp@0.17.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

MCP tools · 99 exposed · ~16,262 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
account_add ~290

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.

NameTypeReqDescription
identifierstring–The account's sign-in email or phone.
passwordstring–The account's password.
proxy_urlstring–Optional: your own http, https or socks5 proxy for this account.
rememberboolean–Optional opt-in: keep the sign-in details encrypted for automatic re-login.
sessionstring–The account's signed-in session string (or sign in with identifier and password).
totp_secretstring–Optional: the authenticator setup key (base32), so the two-factor code is typed for you.
user_agentstring–Optional: the browser user agent of the session or sign-in.

No output schema declared.

No examples provided.

account_balance ~35

Your credit balance and the prices you pay (record, research, email verification). Free. Check it before a large paged search.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

account_checkpoint ~154

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.

NameTypeReqDescription
account_idstringyesThe account_id the sign-in answered with.
challenge_idstringyesThe challenge_id from the earlier answer.
codestring–The two-factor or emailed code, when one was asked for.
identifierstringyesThe account's sign-in email or phone.
passwordstringyesThe account's password.

No output schema declared.

No examples provided.

account_connect ~177

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
proxy_urlstring–Optional: your own http, https or socks5 proxy for this account.
sessionstringyesThe account's signed-in session string.
user_agentstring–Optional: the browser user agent the session was created with.

No output schema declared.

No examples provided.

account_connect_link ~338

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.

NameTypeReqDescription
account_idstring–For type reconnect: the account_id to reconnect.
expires_onstring–ISO 8601 date and time, 5 minutes to 24 hours from now. Default 1 hour.
failure_redirect_urlstring–https URL the end user is sent to when the link cannot succeed.
namestring–Your own reference for the account, such as your user id.
notify_urlstring–https URL that receives this account's signed events.
success_redirect_urlstring–https URL the end user is sent to once connected.
typestring–create (default) for a new account, reconnect for an existing one.

No output schema declared.

No examples provided.

account_connect_link_revoke ~47

Revoke a hosted connect link before it is used, so it can no longer connect anything. Free.

NameTypeReqDescription
link_idstringyesThe link_id from account_connect_link.

No output schema declared.

No examples provided.

account_disconnect ~52

Disconnect your account: its stored session is deleted. Safe to repeat; works at a zero balance. Free.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.

No output schema declared.

No examples provided.

account_get ~48

One connected account by its account_id: status, handle, name, egress and dates. Never returns a session. Free.

NameTypeReqDescription
account_idstringyesThe account_id from accounts_list.

No output schema declared.

No examples provided.

account_login ~355

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
challenge_idstring–The challenge_id from the previous answer.
codestring–The two-factor or emailed code, on a resumed sign-in.
identifierstringyesThe account's sign-in email or phone.
passwordstringyesThe account's password; kept encrypted only when remember is true.
proxy_urlstring–Optional: your own http, https or socks5 proxy for this account.
rememberboolean–Optional opt-in: keep the sign-in details encrypted for automatic re-login after a sign-out. Deleted on disconnect.
totp_secretstring–Optional: the authenticator app's setup key (base32), so the two-factor code is typed for you.
user_agentstring–Optional: the browser user agent to sign in with.

No output schema declared.

No examples provided.

account_reconnect ~156

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.

NameTypeReqDescription
account_idstringyesThe account_id to reconnect.
identifierstring–The account's sign-in email or phone.
passwordstring–The account's password.
rememberboolean–Optional opt-in: keep the sign-in details encrypted for automatic re-login.
sessionstring–A fresh signed-in session string.
totp_secretstring–Optional: the authenticator setup key (base32).

No output schema declared.

No examples provided.

account_remove ~47

Remove one connected account: its stored session, its browser profile and its queued writes are deleted. Other accounts are untouched. Free.

NameTypeReqDescription
account_idstringyesThe account_id to remove.

No output schema declared.

No examples provided.

account_status ~80

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.

No output schema declared.

No examples provided.

accounts_list ~59

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ad_get ~122

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.

NameTypeReqDescription
idstringyesThe ad id from an `ads_search` result, such as `meta.1234567890`.

No output schema declared.

No examples provided.

ads_search ~462

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.

NameTypeReqDescription
cursorstring–Opaque cursor from the previous page's `next_cursor`.
domainstringyesThe company's domain, for example `acme.com`.
google_advertiser_idstring–Pin the Google advertiser (AR followed by digits).
limitinteger–Ads per page, 1 to 100 (default 25).
linkedin_company_idstring–Pin the LinkedIn company by its numeric id.
meta_page_idstring–Pin the Facebook page by its numeric id.
platformstring–One or more of meta, google, linkedin, tiktok, comma separated. Omit for all four.
tiktok_advertiserstring–Pin the TikTok advertiser by its name as the library shows it.

No output schema declared.

No examples provided.

api_version ~22

The API's version and deployed build. Free, needs no key.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

chat_start ~206

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
attachment––One file, at most 20 MB: { url } (https) or { data (base64), filename, mime_type }.
person_refsarrayyes1 to 50 person references from a profile or search result.
subjectstring–The group's title; needs two or more people.
textstringyesThe first message.

No output schema declared.

No examples provided.

comment_delete ~103

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
comment_idstringyesThe comment_id of your comment.

No output schema declared.

No examples provided.

company_funding ~265

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).

NameTypeReqDescription
cursorstring–Opaque cursor from the previous page's `next_cursor`.
domainstringyesThe company's domain, for example `acme.com`.
limitinteger–Records per page, 1 to 100 (default 25). Each record returned is billed.
max_amount_usdnumber–Largest round size in USD.
min_amount_usdnumber–Smallest round size in USD.
roundstring–Comma-separated round stages, for example `seed,series_a`.
sincestring–Earliest announcement date, inclusive (YYYY-MM-DD).
untilstring–Latest announcement date, inclusive (YYYY-MM-DD).

No output schema declared.

No examples provided.

company_get ~369

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.

NameTypeReqDescription
domainstringyesThe company's domain, for example `acme.com`, or its exact name, for example `Acme Robotics`.

No output schema declared.

No examples provided.

company_jobs ~369

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.

NameTypeReqDescription
domainstringyesThe company's domain, for example `acme.com`.
include_descriptionboolean–Add each posting's description as plain text (always read live).
limitinteger–Openings to return, 1 to 500 (default 100). The price does not change with it.
max_age_hoursinteger–Serve a stored read younger than this, else read live (1 to 168, default 12).

No output schema declared.

No examples provided.

company_technologies ~256

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.

NameTypeReqDescription
domainstringyesThe company's domain, for example `acme.com`.
max_age_hoursinteger–Serve a stored read younger than this, else read live (1 to 720, default 72).

No output schema declared.

No examples provided.

connection_remove ~100

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
person_refstringyesThe person reference from connections_list, a profile or a search result.

No output schema declared.

No examples provided.

connections_list ~157

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
countinteger–Connections per page, 1 to 40.
cursorstring–Opaque cursor from the previous page.
startinteger–0-based position of the first connection.

No output schema declared.

No examples provided.

email_clean_list ~168

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.

NameTypeReqDescription
emailsarrayyesThe 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…

No output schema declared.

No examples provided.

email_domain_check ~136

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).

NameTypeReqDescription
domainstringyesA domain name such as example.com.

No output schema declared.

No examples provided.

email_find ~147

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.

NameTypeReqDescription
domainstringyesThe company's email domain, such as example.com.
first_namestringyesThe person's first name.
last_namestring–The person's last name.

No output schema declared.

No examples provided.

email_outcomes_report ~94

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.

NameTypeReqDescription
outcomesarrayyesEach address and what happened when you sent to it.

No output schema declared.

No examples provided.

email_verify ~553

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.

NameTypeReqDescription
cache_onlyboolean–Same as depth cache: answer from verdicts already on record, never contact the mail server.
depthstring–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).
emailsarrayyesThe 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…

No output schema declared.

No examples provided.

email_verify_calibration ~53

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

email_verify_job_create ~209

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.

NameTypeReqDescription
callback_urlstring–An https URL to POST to when the job completes.
emailsarrayyesThe addresses, 1 to 50,000.
monitor_daysinteger–Check the whole list again this many days after each run, billing each definite result again; the callback reports what changed.
sampleinteger–Check only a random sample of this many addresses; the job then reports estimated shares for the whole list.

No output schema declared.

No examples provided.

email_verify_job_get ~58

A job's `status` (queued, running, completed), `total`, `done`, `charged_count` and `amount_usd`. Free.

NameTypeReqDescription
idstringyesThe job `id` from email_verify_job_create.

No output schema declared.

No examples provided.

email_verify_job_results ~106

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.

NameTypeReqDescription
cursorinteger–Start at this position (0-based).
idstringyesThe job `id`.
limitinteger–Results per page, 1 to 1,000 (default 1,000).

No output schema declared.

No examples provided.

email_verify_job_stop ~50

Turn off a job's monitoring (its regular re-checks); a job still running is cancelled, and what it already checked stays readable. Free.

NameTypeReqDescription
idstringyesThe job id.

No output schema declared.

No examples provided.

email_verify_stats ~87

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.

NameTypeReqDescription
daysinteger–Window in days, 1 to 90 (default 30).

No output schema declared.

No examples provided.

event_enrich ~229

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.

NameTypeReqDescription
idstring–An event id from `events_search`, such as `luma.evt-AbC123`.
urlstring–A Luma (luma.com/<slug>, lu.ma/<slug>) or Partiful (partiful.com/e/<id>) event page. Give url or id, not both.

No output schema declared.

No examples provided.

event_get ~149

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.

NameTypeReqDescription
idstringyesThe event id from an `events_search` result, such as `luma.evt-AbC123` or `partiful.AbC123xyz`.

No output schema declared.

No examples provided.

events_cities ~78

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

events_search ~485

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.

NameTypeReqDescription
categorystring–Luma category: ai, tech, crypto, arts, climate, fitness, wellness, food, books, games, family or running.
citystringyesA city slug such as `sf`, `nyc` or `london`, or a city name; `events_cities` lists them.
cursorstring–Opaque cursor from the previous page's `next_cursor`.
freeboolean–true for free events only, false for paid only.
hoststring–A host or organiser name or handle contains this text.
limitinteger–Events per page, 1 to 100 (default 25).
max_guestsinteger–At most this many guests.
min_guestsinteger–At least this many guests (only events that show their count match).
platformstring–`luma`, `partiful`, or both comma-separated (default both).
qstring–Title contains this text.
sincestring–Earliest start day in the city's own time, inclusive (YYYY-MM-DD); default today.
speakerstring–A speaker, host or the title names this person.
untilstring–Latest start day in the city's own time, inclusive (YYYY-MM-DD).

No output schema declared.

No examples provided.

feedback_get ~69

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.

NameTypeReqDescription
idstringyesThe feedback_id feedback_send returned.

No output schema declared.

No examples provided.

feedback_list ~117

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`.

NameTypeReqDescription
cursorstring–The previous page's next_cursor, passed back unchanged.
limitinteger–Reports per page, 1 to 100 (default 25).

No output schema declared.

No examples provided.

feedback_send ~358

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.

NameTypeReqDescription
actionstring–"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`.
detailsstring–Required for a draft. The exact call, what came back, what you expected, and ids such as research_id.
idsarray–For "send" or "discard": the draft ids to act on, exactly as action "list" shows them.
kindstring–For a draft: bug (default), feature or question.
titlestring–Required for a draft. One line: what is wrong or missing.
toolstring–For a draft: the tool the report is about, such as research_get.

No output schema declared.

No examples provided.

funding_get ~48

Read one funding record by id. Costs $0.009 when found; a missing id is free.

NameTypeReqDescription
idstringyesThe funding record id from a `funding_search` result.

No output schema declared.

No examples provided.

funding_search ~429

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).

NameTypeReqDescription
companystring–Company name contains this text (case-insensitive).
countrystring–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`).
cursorstring–Opaque cursor from the previous page's `next_cursor`.
domainstring–Exact company domain, for example `example.com`.
investorstring–Exact investor name, case-insensitive.
limitinteger–Records per page, 1 to 100 (default 25). Each record returned is billed.
max_amount_usdnumber–Largest round size in USD.
min_amount_usdnumber–Smallest round size in USD.
roundstring–Comma-separated round stages, for example `seed,series_a,series_b`.
sincestring–Earliest announcement date, inclusive (YYYY-MM-DD).
untilstring–Latest announcement date, inclusive (YYYY-MM-DD).

No output schema declared.

No examples provided.

inmail_credits ~82

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.

No output schema declared.

No examples provided.

insights_posts ~120

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
countinteger–Posts per page, 1 to 50.
startinteger–Offset into your posts, 0 to 1000.

No output schema declared.

No examples provided.

insights_profile_views ~96

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.

No output schema declared.

No examples provided.

insights_ssi ~104

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.

No output schema declared.

No examples provided.

invitation_accept ~92

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
invitation_idstringyesThe invitation_id from invitations_received.

No output schema declared.

No examples provided.

invitation_decline ~94

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.

NameTypeReqDescription
account_idstring–Which connected account (accounts_list). Optional while this key has exactly one.
invitation_idstringyesThe invitation_id from invitations_received.

No output schema declared.

No examples provided.

Install

How do I install the ProspectAPIs MCP server?

ProspectAPIs runs locally as an npm package, launched with npx -y prospectapis-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · prospectapis-mcp

# add to Claude Code
claude mcp add com-prospectapis-prospectapis-mcp -- npx -y prospectapis-mcp
Common questions

What is the ProspectAPIs MCP server?

ProspectAPIs is an MCP server listed in the public MCP registry as com.prospectapis/prospectapis-mcp. Funding rounds, LinkedIn data and actions, email verification and cited research briefs. This page covers its npm package (prospectapis-mcp).

Is the ProspectAPIs MCP server safe to use?

ProspectAPIs scores 64 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ProspectAPIs MCP server expose?

ProspectAPIs exposes 99 tools: funding_search, funding_get, launch_search, launch_get, company_get, and 94 more. Their descriptions and schemas cost roughly 16,262 tokens of context every time the server is loaded.

Is the ProspectAPIs MCP server still maintained?

ProspectAPIs is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the ProspectAPIs MCP server under?

ProspectAPIs declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.