{"schema_version":"1.0","name":"factgrid-ai","description":"Structured reference data for agents: electronic components, developer API schemas, and npm/PyPI dependency upgrade advisories. Ed25519-signed responses, source-cited records, token-compressed output.","mcp_endpoint":"/mcp","transport":"streamable-http","protocol_version":"2025-06-18","free_tier":{"queries_per_day_per_key":50},"pricing_url":"/api/v1/pricing","billing":{"balance_url":"/api/v1/balance","topup_page":"/billing","topup_tool":"factgrid_create_topup_link","auto_topup":{"status_url":"/api/v1/billing/auto-topup","default":"disabled","opt_in":"Ticked by the customer during checkout at /billing. Never enabled without explicit consent.","opt_out":"POST /api/v1/billing/auto-topup {\"enabled\": false} — takes effect immediately."},"note":"Agents cannot complete CARD payments — use factgrid_create_topup_link and pass the link to a human operator. Agents holding a wallet should pay per query with x402 instead, where offered, which needs no account and no human."},"pricing_tiers":{"currency":"USD","billing":"Prepaid credit, debited per successful query. Cached revalidations (HTTP 304) and rate-limited requests are never charged.","freeTier":{"queriesPerDayPerKey":50,"note":"No card required. Create a key at POST /api/v1/keys/create."},"tiers":[{"tier":"component_lookup","priceUsd":0.001,"label":"Component specification lookup","rationale":"Static reference data, cached indefinitely by the caller."},{"tier":"api_schema","priceUsd":0.002,"label":"API schema lookup","rationale":"Versioned endpoint shape; changes on publisher release cadence."},{"tier":"semantic_search","priceUsd":0.003,"label":"Natural-language catalogue search","rationale":"Intent matching across the catalogue; returns ranked candidates."},{"tier":"deprecation_scan","priceUsd":0.005,"label":"Deprecation and sunset radar","rationale":"Aggregates spec-declared deprecations, sunset dates, and replacement operations across services."},{"tier":"auth_playbook","priceUsd":0.005,"label":"Auth and error playbook","rationale":"Aggregates declared auth schemes, scopes, rate-limit headers, and full error-code table per service."},{"tier":"capability_search","priceUsd":0.005,"label":"Cross-service capability search","rationale":"Answers \"which of these services can do X\" across the whole index. Replaces an unbounded web search an agent cannot reliably perform."},{"tier":"integration_brief","priceUsd":0.01,"label":"Integration brief","rationale":"Everything needed to write one working call — base URL, auth scheme, required parameters, body shape, response codes — compiled into a single response. Replaces five to ten schema lookups plus a documentation crawl."},{"tier":"package_advisory","priceUsd":0.02,"label":"Dependency upgrade advisory","rationale":"What breaks between two published versions of a package, derived from publisher-declared registry metadata with the exact evidence field attached. Prevents a failed upgrade — same value class as an API breaking change, and unlike that tier the version ordering is declared rather than inferred."},{"tier":"breaking_change","priceUsd":0.02,"label":"Breaking-change and migration analysis","rationale":"Derived analysis that prevents a failed deployment. Recomputed as publishers ship."}],"creditBlocks":[{"amountUsd":10,"label":"Starter","note":"Evaluation and small projects"},{"amountUsd":50,"label":"Standard","note":"Recommended — lowest effective fee per query"},{"amountUsd":200,"label":"Scale","note":"High-volume agent fleets"}]},"x402_pricing":{"network":"base","pay_to_wallet":"0xa9e63Ead03920DA65Ce885b2DFb5e37DeFeF5591","asset_contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","min_price_usd":0,"accepted_tiers":[{"tier":"component_lookup","price_usd":0.001},{"tier":"api_schema","price_usd":0.002},{"tier":"semantic_search","price_usd":0.003},{"tier":"deprecation_scan","price_usd":0.005},{"tier":"auth_playbook","price_usd":0.005},{"tier":"capability_search","price_usd":0.005},{"tier":"integration_brief","price_usd":0.01},{"tier":"package_advisory","price_usd":0.02},{"tier":"breaking_change","price_usd":0.02}],"note":"Send an X-PAYMENT header. No account required. Unauthenticated requests return 402 with a spec-shaped accepts array."},"tools":[{"name":"factgrid_package_upgrade_advisory","description":"Before upgrading an npm or PyPI dependency, find out what breaks. Returns publisher-declared breaking changes between two published versions: yanked releases and the reason, entry points removed from the exports map, CommonJS-to-ESM switches, raised Node or Python floors, new peer dependency requirements, and licence changes. Every finding carries the exact metadata field and its before/after value so you can verify it against the registry yourself. Registry metadata only - it does not read changelogs or source, so behavioural changes are out of scope and it says so."},{"name":"factgrid_api_breaking_changes","description":"TEMPORARILY OFFLINE for third-party APIs, pending revalidation - it returns no data and bills nothing. For npm or PyPI packages use factgrid_package_upgrade_advisory instead, which is live. Find what BREAKS between two versions of a third-party API (Stripe, OpenAI, Supabase, and thousands more). Use this when code that calls an external API fails after a version bump, when writing an integration against an API whose version you are unsure of, or before upgrading a dependency that wraps an HTTP API. Returns removed endpoints, removed or renamed parameters, type changes, newly required parameters, and a migration note for each. Do NOT use for general programming questions or for APIs you control."},{"name":"factgrid_api_schema","description":"Look up the exact request and response shape of a third-party API endpoint at a specific version — parameter names, which are required, and their types. Use this before writing or repairing a call to an external HTTP API, instead of guessing parameter names from memory. Do NOT use for APIs in the local codebase."},{"name":"factgrid_integration_brief","description":"Get everything needed to write ONE working call to a third-party API: base URL, authentication scheme, required parameters with types, request body shape, and documented response codes — in a single response. Use this BEFORE writing or repairing a call to an external HTTP API, instead of guessing parameter names or auth headers from memory. Prefer this over factgrid_api_schema when you intend to actually make the call: it returns the callable shape rather than a list of endpoints. Every field is read from the publisher's specification — a rate limit or auth scheme the spec does not state is reported as unstated, never guessed. Do NOT use for APIs in your own codebase."},{"name":"factgrid_discover_api","description":"Find WHICH third-party API can do something, across an index of over a thousand services. Use this when you know the capability you need but not which provider offers it — \"send an SMS\", \"verify a phone number\", \"create an invoice\", \"manage DNS records\". Returns matching services ranked by how many of their endpoints relate to the capability, with example endpoints. Follow up with factgrid_integration_brief on the service you pick to get the callable shape. Do NOT use when you already know which API you are calling — go straight to factgrid_integration_brief."},{"name":"factgrid_create_topup_link","description":"Create a secure Stripe checkout link to add prepaid credit to the calling API key. Use this when a query has returned HTTP 402 (payment required) or the balance is running low. YOU CANNOT COMPLETE THE PAYMENT YOURSELF — card details require a human. Return the link to your operator and ask them to open it. Credit appears on the key within seconds of payment; no card details ever reach this service."},{"name":"factgrid_component_spec","description":"Look up verified electronics component facts: pin-by-pin assignments, operating voltage range, package type, and drop-in alternative part numbers. Use when wiring or reviewing a hardware design, selecting a substitute part, or checking a pin assignment before committing to a PCB layout. Accuracy is best-effort — always confirm against the manufacturer datasheet before manufacturing."},{"name":"factgrid_deprecation_scan","description":"Find WHICH endpoints or parameters of a third-party API are deprecated, sunset dates, and replacement operations. Use this before upgrading an API integration or auditing code for deprecated API calls. Returns spec-declared sunset dates and replacements; unstated fields are explicitly marked as unstated. Do NOT use for APIs in your own codebase."},{"name":"factgrid_auth_playbook","description":"Get the authentication schemes, required scopes, declared rate-limit headers, and complete error code table for a third-party API. Reuses verified specification details so an agent does not burn tokens rediscovering 401/403/429 semantics. Rate limits not declared by the spec are reported as unstated. Do NOT use for APIs in your own codebase."},{"name":"factgrid_subscribe_spec_changes","description":"Subscribe to specification changes or demand auto-ingest updates for a third-party API. Pass an optional webhookUrl to receive HTTP POST callbacks when the API spec is published or auto-ingested. Do NOT use for APIs in your own codebase."}]}