# API Plan Finder

> Compare API plans on 42 conditions with cost: scraping, SERP, search, browser, email, TTS, STT, docs

- name: io.github.scraping-api-plans/web-data-plan-finder
- version: 0.1.4
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.scraping-api-plans%2Fweb-data-plan-finder
- tools: https://api.protogrid.dev/v1/servers/io.github.scraping-api-plans%2Fweb-data-plan-finder/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "web-data-plan-finder": {
      "type": "http",
      "url": "https://plans.intoperson.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-97% +updated-0d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 79 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 3 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- fail `tools.token_cost`: about 37,070 tokens to load every tool, a large share of an agent's context
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 67 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 37,070 tokens to load them all
- tool set hash: 09010ea8da29745e708237ce1098df6d
- tools last changed: 2026-10-20T13:14:45.904Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.scraping-api-plans/web-data-plan-finder.svg)](https://protogrid.dev/servers/io.github.scraping-api-plans/web-data-plan-finder)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `check_conditions` changed (description)
  - before: Use this when: the user names specific plans (by name, id or pricing-page URL) and wants to know whether they meet the workload and conditions, or which plan of the same product is the cheapest that does. Do not use this when: the user has no plans in mind yet (use search). Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Check specific plans, given by plan id, plan name or pricing-page URL, against the workload and conditions; up to 20 plans in one call are judged against the same conditions. Returns met / not met / unknown per condition with the official source sentence, which plans and billing options each value applies to, and a purchase link. For each plan it also names the cheapest plan of the same product that meets every required condition, with its monthly cost, or null if none does. An ambiguous name or URL returns the candidate plans instead of a guess. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged.
  - after: Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user names specific plans (by name, id or pricing-page URL) and wants to know whether they meet the workload and conditions, or which plan of the same product is the cheapest that does. Do not use this when: the user has no plans in mind yet (use search). Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Check specific plans, given by plan id, plan name or pricing-page URL, against the workload and conditions; up to 20 plans in one call are judged against the same conditions. Returns met / not met / unknown per condition with the official source sentence, which plans and billing options each value applies to, and a purchase link. For each plan it also names the cheapest plan of the same product that meets every required condition, with its monthly cost, or null if none does. An ambiguous name or URL returns the candidate plans instead of a guess. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged.
- 2026-10-20 `search` changed (description)
  - before: Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech, transcribe audio or parse a document itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters, speech-to-text in monthly audio hours and document parsing in monthly document pages, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels, pages per document, table extraction, batch discount). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card.
  - after: Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech, transcribe audio or parse a document itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters, speech-to-text in monthly audio hours and document parsing in monthly document pages, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels, pages per document, table extraction, batch discount). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card.
- 2026-10-18 `verify_answer` changed (inputSchema)
- 2026-10-18 `relax_conditions` changed (inputSchema)
- 2026-10-18 `cost_scenarios` changed (inputSchema)
- 2026-10-18 `check_conditions` changed (inputSchema)
- 2026-10-18 `search` changed (description, inputSchema)
  - before: Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech or transcribe audio itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters and speech-to-text in monthly audio hours, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card.
  - after: Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech, transcribe audio or parse a document itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters, speech-to-text in monthly audio hours and document parsing in monthly document pages, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels, pages per document, table extraction, batch discount). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card.
- 2026-10-18 `verify_answer` changed (description, inputSchema)
  - before: Use this when: you have drafted an answer that names web data API plans, costs or whether they meet the user's conditions, before you give it. Do not use this when: you have not looked up any plan yet (use search). Check what a drafted answer says about web data API plans against the recorded official facts, using the user's conditions as given in request. For each plan claim (plan id, name or pricing-page URL, with the stated billing, monthly cost, whether it meets every condition, single condition verdicts and recorded values) it returns conflicts with the official source sentences, the check date and a one-line fix: a plan not in the catalog, unmet or unknown conditions stated as met, met stated as unmet, a condition verdict, a cost outside the computed cost or range, or a value that differs. It also lists verdicts that rest on a derived value, official pages that disagree or a two-value price range (state the condition), plans it could not check (an ambiguous name returns the candidates), the cheapest plan that meets every condition when the answer does not name it, and words of the question that suggest a condition the request does not carry.
  - after: Use this when: you have drafted an answer that names API plans, costs or whether they meet the user's conditions, before you give it. Do not use this when: you have not looked up any plan yet (use search). Check what a drafted answer says about API plans against the recorded official facts, using the user's conditions as given in request. For each plan claim (plan id, name or pricing-page URL, with the stated billing, monthly cost, whether it meets every condition, single condition verdicts and recorded values) it returns conflicts with the official source sentences, the check date and a one-line fix: a plan not in the catalog, unmet or unknown conditions stated as met, met stated as unmet, a condition verdict, a cost outside the computed cost or range, or a value that differs. It also lists verdicts that rest on a derived value, official pages that disagree or a two-value price range (state the condition), plans it could not check (an ambiguous name returns the candidates), the cheapest plan that meets every condition when the answer does not name it, and words of the question that suggest a condition the request does not carry.
- 2026-10-18 `relax_conditions` changed (inputSchema)
- 2026-10-18 `cost_scenarios` changed (description, inputSchema)
  - before: Use this when: the user asks how the cost changes as the workload grows or shifts, or at what volume another plan becomes the cheapest. Do not use this when: the workload is fixed (use search). Show how web data API plan costs change when the monthly workload changes, for example twice the pages or a larger share of JavaScript pages. Along the path from the current to a target workload it returns the cheapest fully matching plan at both ends, each workload where the cheapest plan changes, and for tracked plans where the cost first steps up, where the plan can no longer cover the volume and where the budget is exceeded. Costs follow published pricing rules (whole packs of extra credits, per-period pack limits, per-connection browser billing, monthly minimums) with official source sentences.
  - after: Use this when: the user asks how the cost changes as the workload grows or shifts, or at what volume another plan becomes the cheapest. Do not use this when: the workload is fixed (use search). Show how API plan costs change when the monthly workload changes, for example twice the pages or a larger share of JavaScript pages. Along the path from the current to a target workload it returns the cheapest fully matching plan at both ends, each workload where the cheapest plan changes, and for tracked plans where the cost first steps up, where the plan can no longer cover the volume and where the budget is exceeded. Costs follow published pricing rules (whole packs of extra credits, per-period pack limits, per-connection browser billing, monthly minimums) with official source sentences.

Full history: https://api.protogrid.dev/v1/servers/io.github.scraping-api-plans%2Fweb-data-plan-finder/changes

## Remotes

- https://plans.intoperson.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9726027)

## Packages

_none_

## Tools (6)

- `check_conditions`: Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user names specific plans (by name, id or pricing-page URL) and wants to know whether they meet the workload and conditions, or which plan of the same product is the cheapest that does. Do not use this when: the user has no plans in mind yet (use search). Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Check specific plans, given by plan id, plan name or pricing-page URL, against the workload and conditions; up to 20 plans in one call are judged against the same conditions. Returns met / not met / unknown per condition with the official source sentence, which plans and billing options each value applies to, and a purchase link. For each plan it also names the cheapest plan of the same product that meets every required condition, with its monthly cost, or null if none does. An ambiguous name or URL returns the candidate plans instead of a guess. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged.
- `cost_scenarios`: Use this when: the user asks how the cost changes as the workload grows or shifts, or at what volume another plan becomes the cheapest. Do not use this when: the workload is fixed (use search). Show how API plan costs change when the monthly workload changes, for example twice the pages or a larger share of JavaScript pages. Along the path from the current to a target workload it returns the cheapest fully matching plan at both ends, each workload where the cheapest plan changes, and for tracked plans where the cost first steps up, where the plan can no longer cover the volume and where the budget is exceeded. Costs follow published pricing rules (whole packs of extra credits, per-period pack limits, per-connection browser billing, monthly minimums) with official source sentences.
- `get_details`: Use this when: you need every recorded condition, pricing rule and source sentence of one plan or product found by search or named by the user. Do not use this when: you want to compare plans against a workload (use search or check_conditions). Get every recorded condition for one plan or product: value, which plans it applies to, exceptions, official source sentence, check date and purchase link. A product too long for one response comes with one source sentence per fact.
- `relax_conditions`: Use this when: search finds no plan or too few plans and the user wants to know which condition to loosen and by how much. Do not use this when: plans already match (use search or check_conditions). When no plan, or too few plans, meet every required condition: for each condition the user can change, returns the smallest change that lets at least one plan meet everything (for example the monthly budget needed, the concurrency available, or one exit-IP country to drop) and the plans it admits with their monthly cost. Also lists plans that fail only because a condition is not stated on the official pages, with the pages checked and the check date, so the user can confirm with the provider.
- `search`: Call this right before choosing or buying an API plan: it returns, for each plan, whether it meets every condition, the monthly cost, and the official sentence behind each verdict. Use this when: the user wants to know which API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) fit a monthly workload, budget or required conditions, or what one would cost per month at that workload. Do not use this when: the user wants to scrape, search the web, send email, generate speech, transcribe audio or parse a document itself (this tool reads no pages and calls no provider), needs proxies only, or asks about an API outside these fields. Call it right before you choose or buy a tool or plan; format "brief" returns a short answer. Find API plans (web scraping, SERP, web search, browser infrastructure, transactional email, text-to-speech, speech-to-text, document parsing) that meet required conditions: monthly pages by type (plain HTML, JavaScript rendering, blocked sites that need premium proxies), monthly searches, concurrency, requests per minute, monthly budget before tax, billing type, exit-IP countries, search engines, search-result countries and parsed result types, pages per crawl, data storage region and structured (JSON) or AI extraction. Browser infrastructure is asked in monthly browser hours, transactional email in monthly emails, text-to-speech in monthly characters, speech-to-text in monthly audio hours and document parsing in monthly document pages, each with its own conditions (for example session length, dedicated IP, voice cloning, Korean, live or recorded audio, speaker labels, pages per document, table extraction, batch discount). For search APIs it also checks the agent connection: an official or remote (hosted) MCP server and how it signs in (API key or OAuth), zero data retention on the plan, a SOC 2 report, and whether results carry the page text. Returns each plan's monthly cost, whether it meets every required condition, and for every condition met / not met / unknown with the official source sentence and check date, plus a purchase link. Plans with an unknown required condition are listed separately as partial matches. If nothing matches, returns how many plans each condition excluded and the cheapest plan that meets all the other conditions. If you already have candidate plans or providers (for example from a web search), pass them as providers (search) or offer_ids (check_conditions) so that only those are judged. Hosts that support MCP Apps show the result as a comparison card.
- `verify_answer`: Use this when: you have drafted an answer that names API plans, costs or whether they meet the user's conditions, before you give it. Do not use this when: you have not looked up any plan yet (use search). Check what a drafted answer says about API plans against the recorded official facts, using the user's conditions as given in request. For each plan claim (plan id, name or pricing-page URL, with the stated billing, monthly cost, whether it meets every condition, single condition verdicts and recorded values) it returns conflicts with the official source sentences, the check date and a one-line fix: a plan not in the catalog, unmet or unknown conditions stated as met, met stated as unmet, a condition verdict, a cost outside the computed cost or range, or a value that differs. It also lists verdicts that rest on a derived value, official pages that disagree or a two-value price range (state the condition), plans it could not check (an ambiguous name returns the candidates), the cheapest plan that meets every condition when the answer does not name it, and words of the question that suggest a condition the request does not carry.
