{
  "schema": 1,
  "id": "search-apis",
  "title": "Web Search & Scraping API Pricing for AI Agents",
  "updated": "2026-10-30",
  "license": "CC BY 4.0, link to the directory page",
  "source": "https://getstackversus.com/limits/search-apis",
  "tools": [
    {
      "id": "tavily",
      "name": "Tavily",
      "vendor": "Tavily",
      "category": "search-api",
      "url": "https://www.tavily.com/",
      "checked": "2026-10-30",
      "sources": {
        "home": {
          "name": "Tavily",
          "url": "https://www.tavily.com/#pricing"
        },
        "pricing": {
          "name": "Tavily Pricing – Find a plan to power your AI Agents",
          "url": "https://www.tavily.com/pricing"
        },
        "credits": {
          "name": "Credits & Pricing – Tavily Docs",
          "url": "https://docs.tavily.com/documentation/api-credits"
        },
        "ratelimits": {
          "name": "Rate Limits – Tavily Docs",
          "url": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        "keyless": {
          "name": "Try Tavily Without an API Key – Tavily Docs",
          "url": "https://docs.tavily.com/documentation/keyless.md"
        },
        "faq": {
          "name": "Frequently Asked Questions – Tavily Docs",
          "url": "https://docs.tavily.com/faq/faq.md"
        },
        "search_ref": {
          "name": "Search – API Reference – Tavily Docs",
          "url": "https://docs.tavily.com/documentation/api-reference/endpoint/search.md"
        },
        "extract_ref": {
          "name": "Extract – API Reference – Tavily Docs",
          "url": "https://docs.tavily.com/documentation/api-reference/endpoint/extract.md"
        },
        "llms": {
          "name": "Tavily Docs index (llms.txt)",
          "url": "https://docs.tavily.com/llms.txt"
        },
        "help": {
          "name": "Tavily Help Center",
          "url": "https://help.tavily.com/"
        }
      },
      "unit": {
        "tag": "Per credit",
        "definition": "API credits are consumed based on the type of request you make (such as search, extract, or crawl). More advanced or higher-volume requests use more credits.",
        "source": "pricing",
        "quote": "API credits are consumed based on the type of request you make (such as search, extract, or crawl). More advanced or higher-volume requests use more credits."
      },
      "free": {
        "summary": "Researcher plan: 1,000 free API credits every month, no credit card required. Credits reset on the first day of each month.",
        "published": true,
        "source": "credits",
        "quote": "You get 1,000 free API Credits every month. **No credit card required.**"
      },
      "plans": [
        {
          "id": "researcher",
          "name": "Researcher",
          "priceUsd": 0,
          "billing": "monthly",
          "included": "1,000 API credits / month; no credit card required; email support",
          "source": "pricing",
          "quote": "Researcher Free / month For new creators - 1,000 API credits / month - No credit card required - Email support",
          "sourceUrl": "https://www.tavily.com/pricing"
        },
        {
          "id": "project",
          "name": "Project",
          "priceUsd": 30,
          "priceNote": "$0.0075 per credit",
          "billing": "monthly",
          "included": "4,000 API credits / month; higher rate limits; email support",
          "source": "credits",
          "quote": "| **Project** | 4,000 | \\$30 | \\$0.0075 |",
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "id": "bootstrap",
          "name": "Bootstrap",
          "priceUsd": 100,
          "priceNote": "$0.0067 per credit",
          "billing": "monthly",
          "included": "15,000 credits per month",
          "source": "credits",
          "quote": "| **Bootstrap** | 15,000 | \\$100 | \\$0.0067 |",
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "id": "startup",
          "name": "Startup",
          "priceUsd": 220,
          "priceNote": "$0.0058 per credit",
          "billing": "monthly",
          "included": "38,000 credits per month",
          "source": "credits",
          "quote": "| **Startup** | 38,000 | \\$220 | \\$0.0058 |",
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "id": "growth",
          "name": "Growth",
          "priceUsd": 500,
          "priceNote": "$0.005 per credit",
          "billing": "monthly",
          "included": "100,000 credits per month",
          "source": "credits",
          "quote": "| **Growth** | 100,000 | \\$500 | \\$0.005 |",
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "id": "payg",
          "name": "Pay As You Go",
          "priceUsd": 0.008,
          "priceNote": "per credit",
          "billing": "usage",
          "included": "Pay only for what you use; cancel anytime; email support",
          "source": "pricing",
          "quote": "Pay As You Go $0.008 / credit For flexible usage - Pay only for what you use - Cancel anytime - Email support",
          "sourceUrl": "https://www.tavily.com/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Custom",
          "billing": "monthly",
          "included": "Custom API calls; custom rate limits; enterprise-grade support and SLAs; enterprise-grade security and privacy",
          "source": "pricing",
          "quote": "Enterprise Custom For corporations - Custom API calls - Custom rate limits - Enterprise-grade support and SLAs - Enterprise-grade security and privacy",
          "sourceUrl": "https://www.tavily.com/pricing"
        }
      ],
      "rates": [
        {
          "item": "Pay-as-you-go price per credit",
          "value": "$0.008 per credit",
          "numeric": 0.008,
          "unit": "USD/credit",
          "published": true,
          "source": "credits",
          "quote": "**Pay-as-you-go**: \\$0.008 per credit (allows you to be charged per credit once your plan’s credit limit is reached).",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Monthly plans price per credit range",
          "value": "$0.0075 - $0.005 per credit",
          "unit": "USD/credit",
          "published": true,
          "source": "credits",
          "quote": "**Monthly plans**: \\$0.0075 - \\$0.005 per credit",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Basic search",
          "value": "1 API credit per request",
          "numeric": 1,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "**Basic Search (`basic`):** Each request costs **1 API credit**.",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Fast / ultra-fast search",
          "value": "1 API credit per request",
          "numeric": 1,
          "unit": "credits/request",
          "published": true,
          "source": "search_ref",
          "quote": "- `basic`, `fast`, `ultra-fast`: 1 API Credit",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-reference/endpoint/search.md"
        },
        {
          "item": "Advanced search",
          "value": "2 API credits per request",
          "numeric": 2,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "**Advanced Search (`advanced`):** Each request costs **2 API credits**.",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Basic extract",
          "value": "1 API credit per 5 successful URL extractions",
          "numeric": 1,
          "unit": "credits/5 URLs",
          "published": true,
          "source": "credits",
          "quote": "**Basic Extract (`basic`):** Every 5 successful URL extractions cost **1 API credit**",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Advanced extract",
          "value": "2 API credits per 5 successful URL extractions",
          "numeric": 2,
          "unit": "credits/5 URLs",
          "published": true,
          "source": "credits",
          "quote": "**Advanced Extract (`advanced`):** Every 5 successful URL extractions cost **2 API credits**",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Map (regular)",
          "value": "1 API credit per 10 successful pages returned",
          "numeric": 1,
          "unit": "credits/10 pages",
          "published": true,
          "source": "credits",
          "quote": "**Regular Mapping:** Every 10 successful pages returned cost **1 API credit**",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Map with instructions",
          "value": "2 API credits per 10 successful pages returned",
          "numeric": 2,
          "unit": "credits/10 pages",
          "published": true,
          "source": "credits",
          "quote": "**Map with (`instructions`):** Every 10 successful pages returned cost **2 API credits**",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Crawl",
          "value": "Crawl Cost = Mapping Cost + Extraction Cost",
          "unit": "credits",
          "published": true,
          "source": "credits",
          "quote": "**Crawl Cost = Mapping Cost + Extraction Cost**",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Research (model=pro) per-request minimum",
          "value": "15 credits",
          "numeric": 15,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "| Per-request minimum | 15 credits | 4 credits |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Research (model=pro) per-request maximum",
          "value": "250 credits",
          "numeric": 250,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "| Per-request maximum | 250 credits | 110 credits |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Research (model=mini) per-request minimum",
          "value": "4 credits",
          "numeric": 4,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "| Per-request minimum | 15 credits | 4 credits |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Research (model=mini) per-request maximum",
          "value": "110 credits",
          "numeric": 110,
          "unit": "credits/request",
          "published": true,
          "source": "credits",
          "quote": "| Per-request maximum | 250 credits | 110 credits |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "item": "Rate limit – Development key",
          "value": "100 requests per minute",
          "numeric": 100,
          "unit": "requests/min",
          "published": true,
          "source": "ratelimits",
          "quote": "| `Development` | 100 |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "item": "Rate limit – Production key",
          "value": "1,000 requests per minute",
          "numeric": 1000,
          "unit": "requests/min",
          "published": true,
          "source": "ratelimits",
          "quote": "| `Production` | 1,000 |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "item": "Rate limit – Crawl endpoint (development and production)",
          "value": "100 requests per minute",
          "numeric": 100,
          "unit": "requests/min",
          "published": true,
          "source": "ratelimits",
          "quote": "The crawl endpoint has a separate rate limit that applies to both development and production keys",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "item": "Rate limit – Research endpoint (development and production)",
          "value": "20 requests per minute",
          "numeric": 20,
          "unit": "requests/min",
          "published": true,
          "source": "ratelimits",
          "quote": "| `Development` | 20 |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "item": "Rate limit – Usage endpoint",
          "value": "10 requests per 10 minutes",
          "numeric": 10,
          "unit": "requests/10 min",
          "published": true,
          "source": "ratelimits",
          "quote": "| Environment | Requests per 10 minutes |",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "item": "Rate limit – Keyless access",
          "value": "Keyless access is free and rate-limited",
          "unit": "requests",
          "published": false,
          "source": "keyless",
          "quote": "Keyless access is free and rate-limited, ideal for exploration and light use.",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/documentation/keyless.md"
        },
        {
          "item": "Extract URLs per call",
          "value": "Up to 20 URLs in a single API call",
          "numeric": 20,
          "unit": "URLs/request",
          "published": true,
          "source": "faq",
          "quote": "**Tavily Extract API** - Scrape up to 20 URLs in a single API call.",
          "verified": true,
          "sourceUrl": "https://docs.tavily.com/faq/faq.md"
        },
        {
          "item": "Startup program credits",
          "value": "100k free API credits",
          "numeric": 100000,
          "unit": "credits",
          "published": true,
          "source": "pricing",
          "quote": "Get 100k free API credits, hands-on support from our team, and help bringing your product to market.",
          "verified": true,
          "sourceUrl": "https://www.tavily.com/pricing"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "If you exhaust your monthly credits, requests stop until your credits reset or you upgrade to a paid plan. Pay-as-you-go allows you to be charged $0.008 per credit once your plan's credit limit is reached.",
        "source": "pricing",
        "quote": "If you exhaust your monthly credits, requests will stop until your credits reset or you upgrade to a paid plan."
      },
      "gotchas": [
        {
          "title": "Credits reset on the 1st of the month",
          "detail": "API credits reset on the first day of each month, regardless of the billing date.",
          "source": "pricing",
          "quote": "Your API credits reset on the first day of each month, regardless of the billing date.",
          "sourceUrl": "https://www.tavily.com/pricing"
        },
        {
          "title": "auto_parameters can switch to advanced search",
          "detail": "With auto_parameters enabled, search_depth may be automatically set to advanced, which uses 2 API credits per request. Set search_depth to basic explicitly to avoid this.",
          "source": "search_ref",
          "quote": "Note: `search_depth` may be automatically set to advanced when it's likely to improve results. This uses 2 API credits per request.",
          "sourceUrl": "https://docs.tavily.com/documentation/api-reference/endpoint/search.md"
        },
        {
          "title": "Failed extractions and maps are not charged",
          "detail": "You are never charged if a URL extraction or a map request fails.",
          "source": "credits",
          "quote": "You never get charged if a URL extraction fails.",
          "sourceUrl": "https://docs.tavily.com/documentation/api-credits"
        },
        {
          "title": "Extract credits accrue in blocks of 5 URLs",
          "detail": "Reported credit usage may be 0 if total successful URL extractions has not yet reached 5.",
          "source": "extract_ref",
          "quote": "`NOTE:`The value may be 0 if the total successful URL extractions has not yet reached 5 calls.",
          "sourceUrl": "https://docs.tavily.com/documentation/api-reference/endpoint/extract.md"
        },
        {
          "title": "Production keys require a paid plan or PAYGO",
          "detail": "Access to production keys (1,000 RPM) requires an active paid plan or PAYGO enabled.",
          "source": "ratelimits",
          "quote": "Access to production keys requires either an active **Paid Plan** or **PAYGO** enabled.",
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "title": "Flex tier on non-paying plans",
          "detail": "On non-paying plans, search requests that set max_age_hours are served under a flex tier and may be refused with 434 Flex tier capacity exceeded under heavy load.",
          "source": "ratelimits",
          "quote": "On non-paying plans, search requests that set `max_age_hours` are served under a flex tier.",
          "sourceUrl": "https://docs.tavily.com/documentation/rate-limits.md"
        },
        {
          "title": "Crawl, Map and Research need an API key",
          "detail": "Keyless access covers only /search and /extract; /crawl, /map and /research require an API key.",
          "source": "keyless",
          "quote": "These endpoints require an API key.",
          "sourceUrl": "https://docs.tavily.com/documentation/keyless.md"
        },
        {
          "title": "Plan changes are prorated",
          "detail": "Upgrades mid-cycle pay the difference for remaining days; downgrades take effect at the start of the next billing cycle.",
          "source": "faq",
          "quote": "When upgrading or downgrading your plan, charges are typically **prorated**.",
          "sourceUrl": "https://docs.tavily.com/faq/faq.md"
        }
      ]
    },
    {
      "id": "exa",
      "name": "Exa",
      "vendor": "Exa Labs Inc.",
      "category": "search-api",
      "url": "https://exa.ai",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Exa API Pricing | Pay-as-You-Go Plans for AI Search",
          "url": "https://exa.ai/pricing"
        },
        "docs_pricing": {
          "name": "Pricing (Exa Docs)",
          "url": "https://docs.exa.ai/reference/pricing"
        },
        "billing": {
          "name": "Billing and Rate Limits (Exa Docs)",
          "url": "https://exa.ai/docs/admin/billing.md"
        }
      },
      "unit": {
        "tag": "Per 1,000 requests (USD prepaid credits)",
        "definition": "One request is one API call to an endpoint. Prices are quoted per 1,000 requests, so a $7 / 1k rate is $0.007 per call. Credits are a prepaid dollar balance on your account, and usage draws down credits at the published rates.",
        "source": "docs_pricing",
        "quote": "One API call to an endpoint. Prices are quoted per 1,000 requests, so a \\$7 / 1k rate is \\$0.007 per call."
      },
      "free": {
        "summary": "Free tier: $10 in credits on sign-up (up to 2,500 Lite searches). The free balance resets to $10 on the first of every month and does not carry over. Only a user's first team receives the monthly grant. There is also a one-time $10 bonus for completing onboarding, which does not expire. No payment method required. The Free tier does not include Exa Snapshot.",
        "published": true,
        "source": "docs_pricing",
        "quote": "The Free Tier gives you \\$10 in credits (up to 2,500 Lite searches) the day you sign up, and your free balance resets to \\$10 on the first of every month. No payment method required."
      },
      "plans": [
        {
          "id": "free",
          "name": "Starter (Free)",
          "priceUsd": 0,
          "billing": "monthly",
          "included": "$10 credits every month plus a $10 onboarding bonus; access to all endpoints; 10 Search QPS; 50 Agent concurrency; Web, People, Company and Scholarly works indexes",
          "source": "pricing",
          "quote": "$10 credits every month plus a $10 onboarding bonus. No payment method required",
          "sourceUrl": "https://exa.ai/pricing"
        },
        {
          "id": "payg",
          "name": "Developer (Pay as you go)",
          "priceUsd": null,
          "priceNote": "Per-request rates; no subscription or minimum spend",
          "billing": "usage",
          "included": "Everything in Starter, plus PAYGO usage-based billing, standard email support, pay via card or bank account, SOC 2 Type II, up to 25 Search QPS, 50 Agent concurrency, self-serve Exa Connect data providers",
          "source": "docs_pricing",
          "quote": "Exa is pay-as-you-go. There is no subscription and no minimum spend: you load credits and are charged per request, at the rates below.",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise (Custom)",
          "priceUsd": null,
          "priceNote": "Custom pricing; volume discounts and postpaid invoice billing",
          "billing": "annual",
          "included": "Everything in Developer, plus custom MSA and DPA, zero data retention, SOC 2 Type II and HIPAA, monthly invoicing, SSO and SCIM, enterprise SLAs, custom Search QPS and Agent concurrency, up to 1,000 results per search, custom indexes",
          "source": "pricing",
          "quote": "Tailored for your organization to solve for large scale requirements and enterprise needs",
          "sourceUrl": "https://exa.ai/pricing"
        }
      ],
      "rates": [
        {
          "item": "/search lite, base price (up to 10 results)",
          "value": "$4 / 1k requests",
          "numeric": 4,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/search` (`lite`) | \\$4 / 1k requests | \\$1 / 1k results | — |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "/search instant (legacy), base price (up to 10 results)",
          "value": "$4 / 1k requests",
          "numeric": 4,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/search` (`instant`) | \\$4 / 1k requests | \\$1 / 1k results | \\$1 / 1k pages |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "/search auto or fast, base price (up to 10 results)",
          "value": "$7 / 1k requests",
          "numeric": 7,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/search` (`auto`, `fast`) | \\$7 / 1k requests | \\$1 / 1k results | \\$1 / 1k pages |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Deep search (deep-lite), base price (up to 10 results)",
          "value": "$12 / 1k requests",
          "numeric": 12,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `deep-lite` | \\$12 / 1k requests | \\~4 seconds | Lightweight synthesis |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Deep search (deep), base price (up to 10 results)",
          "value": "$12 / 1k requests",
          "numeric": 12,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `deep` | \\$12 / 1k requests | 4–15 seconds | Multi-step reasoning with structured outputs |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Deep search (deep-reasoning, legacy), base price (up to 10 results)",
          "value": "$15 / 1k requests",
          "numeric": 15,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `deep-reasoning` | \\$15 / 1k requests | 12–40 seconds | Harder research tasks |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Each search result above 10",
          "value": "$1 / 1k results",
          "numeric": 1,
          "unit": "USD/1k results",
          "published": true,
          "source": "docs_pricing",
          "quote": "The base price covers the first 10 results in a request; every result above 10 adds \\$1 / 1k results.",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "/contents page extraction, per content type",
          "value": "$1 / 1k pages, per content type",
          "numeric": 1,
          "unit": "USD/1k pages",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/contents` | \\$1 / 1k pages, per content type | — | \\$1 / 1k pages |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "AI page summaries",
          "value": "$1 / 1k pages",
          "numeric": 1,
          "unit": "USD/1k pages",
          "published": true,
          "source": "docs_pricing",
          "quote": "Billed at \\$1 / 1k pages on any endpoint that returns one.",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "/answer",
          "value": "$5 / 1k requests",
          "numeric": 5,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/answer` | \\$5 / 1k requests | — | — |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "/monitors, base price (up to 10 results)",
          "value": "$15 / 1k requests",
          "numeric": 15,
          "unit": "USD/1k requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `/monitors` | \\$15 / 1k requests | \\$1 / 1k results | \\$1 / 1k pages |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent, minimal effort",
          "value": "$0.012 / request",
          "numeric": 0.012,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `minimal` | \\$0.012 / request |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent, low effort",
          "value": "$0.025 / request",
          "numeric": 0.025,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `low` | \\$0.025 / request |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent, medium effort",
          "value": "$0.10 / request",
          "numeric": 0.1,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `medium` | \\$0.10 / request |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent, high effort",
          "value": "$0.50 / request",
          "numeric": 0.5,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `high` | \\$0.50 / request |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent, xhigh effort",
          "value": "$1.00 / request",
          "numeric": 1,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `xhigh` | \\$1.00 / request |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent Compute Units (metered auto/ultra)",
          "value": "$0.10 / ACU",
          "numeric": 0.1,
          "unit": "USD/ACU",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Agent Compute Units | \\$0.10 / ACU |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent search tool calls (metered)",
          "value": "$0.005 / search",
          "numeric": 0.005,
          "unit": "USD/search",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Search tool calls | \\$0.005 / search |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent email contact enrichment",
          "value": "$0.02 / email",
          "numeric": 0.02,
          "unit": "USD/email",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Email contact enrichment | \\$0.02 / email |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent phone contact enrichment",
          "value": "$0.07 / phone number",
          "numeric": 0.07,
          "unit": "USD/phone number",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Phone contact enrichment | \\$0.07 / phone number |",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Agent metered run default cap (auto / ultra)",
          "value": "auto defaults to a $5 cap; ultra defaults to a $20 cap",
          "numeric": 5,
          "unit": "USD/run",
          "published": true,
          "source": "docs_pricing",
          "quote": "Metered runs bill actual usage up to their per-run cap. `auto` defaults to a \\$5 cap; `ultra` defaults to a \\$20 cap:",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Rate limit: /search, /answer, /chat/completions (default)",
          "value": "10 QPS",
          "numeric": 10,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "| `/search`, `/answer`, `/chat/completions` | 10 QPS |",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Rate limit: deep search types (default)",
          "value": "5 QPS",
          "numeric": 5,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "| `/search` with `type` `deep-lite`, `deep`, or `deep-reasoning` | 5 QPS |",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Rate limit: /contents (default)",
          "value": "100 QPS",
          "numeric": 100,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "| `/contents` | 100 QPS |",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Rate limit: /agent/runs, /responses (default)",
          "value": "5 QPS and 50 active runs",
          "numeric": 5,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "| `/agent/runs`, `/responses` | 5 QPS and 50 active runs |",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Rate limit: /websets/* (default)",
          "value": "20 QPS",
          "numeric": 20,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "| `/websets/*` | 20 QPS |",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Pay-as-you-go raised rate limit",
          "value": "25 QPS for 90 days after adding $1,000 in credits within any 30-day window",
          "numeric": 25,
          "unit": "requests/sec",
          "published": true,
          "source": "billing",
          "quote": "Add \\$1,000 in credits within any 30-day window and your team's rate limit rises to **25 QPS for 90 days**, automatically.",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Auto recharge amount range",
          "value": "$5 to $10,000 per recharge",
          "numeric": 5,
          "unit": "USD",
          "published": true,
          "source": "billing",
          "quote": "Credits purchased each time auto recharge triggers, from \\$5 to \\$10,000.",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Minimum spend / subscription",
          "value": "There is no subscription and no minimum spend",
          "numeric": 0,
          "unit": "USD",
          "published": true,
          "source": "docs_pricing",
          "quote": "There is no subscription and no minimum spend: you load credits and are charged per request, at the rates below.",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "item": "Manual top-up minimum",
          "value": "Not stated",
          "published": false,
          "source": "billing",
          "quote": "Team owners can add credits from the [Billing dashboard](https://dashboard.exa.ai/billing?utm_source=docs\\&utm_medium=docs\\&utm_campaign=admin_billing); payments are processed through Stripe.",
          "verified": true,
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "item": "Paid credit expiry",
          "value": "Not stated",
          "published": false,
          "source": "docs_pricing",
          "quote": "Prepaid dollar balance on your account. Usage draws down credits at the rates above.",
          "verified": true,
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "Requests are charged against prepaid credits. If the team runs out of credits, requests return 402 Payment Required. Optional auto recharge buys credits when the balance reaches a threshold you choose.",
        "source": "billing",
        "quote": "If your team exhausts its credits, requests return `402 Payment Required`."
      },
      "gotchas": [
        {
          "title": "Results above 10 billed extra",
          "detail": "The base price covers the first 10 results in a request. Every result above 10 adds $1 per 1,000 results, so numResults: 20 costs the base price plus 10 additional results.",
          "source": "docs_pricing",
          "quote": "Requesting `numResults: 20` therefore costs the base price plus 10 additional results.",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "title": "Contents billed per content type",
          "detail": "/contents bills each content type (text, highlights, summary) separately, so one page with text and highlights counts as two.",
          "source": "docs_pricing",
          "quote": "`/contents` bills each content type separately, so one page with `text` and `highlights` counts as two.",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "title": "AI page summaries are a surcharge",
          "detail": "Exa-generated page summaries cost $1 per 1,000 pages on any endpoint that returns one.",
          "source": "docs_pricing",
          "quote": "Additional results and Exa-generated page summaries are billed on top.",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "title": "Free credits do not accumulate",
          "detail": "Unused free credits do not carry into the next month. Only a user's first team receives the monthly grant.",
          "source": "billing",
          "quote": "The grant does not accumulate: unused free credits from one month do not carry into the next, so this grant never holds more than \\$10 at a time.",
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "title": "25 QPS requires $1,000 credit purchase",
          "detail": "Pay-as-you-go starts at 10 QPS. It rises to 25 QPS for 90 days after you add $1,000 in credits within any 30-day window. The threshold counts credits purchased, not spent.",
          "source": "billing",
          "quote": "The threshold counts credits you purchase, not credits you spend, and requalifying resets the 90 days.",
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "title": "Agent run starts count double against QPS",
          "detail": "Each run start counts as two requests, so you can start runs at half your QPS.",
          "source": "billing",
          "quote": "`POST /agent/runs` draws from your account QPS, and each run start counts as two requests.",
          "sourceUrl": "https://exa.ai/docs/admin/billing.md"
        },
        {
          "title": "More than 25 results per search is Enterprise only",
          "detail": "Up to 1,000 results per search and requests above 25 results are listed under Enterprise.",
          "source": "docs_pricing",
          "quote": "Up to 1,000 results per search, requests above 25 results, custom rate limits (QPS), tailored moderation, and custom indexes.",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        },
        {
          "title": "Exa Connect provider calls billed on top",
          "detail": "Agent runs that use Exa Connect data sources also bill each provider call.",
          "source": "docs_pricing",
          "quote": "Runs that use [Exa Connect](https://exa.ai/docs/agent/connect/overview.md) data sources\nadditionally bill each provider call",
          "sourceUrl": "https://docs.exa.ai/reference/pricing"
        }
      ]
    },
    {
      "id": "brave-search-api",
      "name": "Brave Search API",
      "vendor": "Brave Software, Inc.",
      "category": "search-api",
      "url": "https://brave.com/search/api/",
      "checked": "2026-10-30",
      "sources": {
        "api_page": {
          "name": "Brave Search API | Brave",
          "url": "https://brave.com/search/api/"
        },
        "plans_dashboard": {
          "name": "Pricing (API dashboard plans)",
          "url": "https://api-dashboard.search.brave.com/app/plans"
        },
        "pricing_docs": {
          "name": "Pricing - Brave Search API documentation",
          "url": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        "rate_limits": {
          "name": "Rate limiting - Brave Search API",
          "url": "https://api-dashboard.search.brave.com/documentation/guides/rate-limiting"
        },
        "credit_terms": {
          "name": "Service Credit Terms",
          "url": "https://api-dashboard.search.brave.com/terms-of-service/credit-terms"
        },
        "tos": {
          "name": "Terms of service - Brave Search API",
          "url": "https://api-dashboard.search.brave.com/documentation/resources/terms-of-service"
        },
        "llm_context": {
          "name": "LLM Context - Brave Search API documentation",
          "url": "https://api-dashboard.search.brave.com/documentation/services/llm-context"
        }
      },
      "unit": {
        "tag": "Per 1,000 requests",
        "definition": "Prepaid: buy credits upfront and draw them down as you use the API. Search is priced per 1,000 requests. Only successful requests (non-error responses) are counted against your quota and billed.",
        "source": "pricing_docs",
        "quote": "Prepaid Prepaid — buy credits upfront and draw them down as you use the API."
      },
      "free": {
        "summary": "$5 in free credits every month, automatically applied to your account.",
        "published": true,
        "source": "pricing_docs",
        "quote": "Includes free $5 in credits every month. Credits are automatically applied to your account."
      },
      "plans": [
        {
          "id": "search",
          "name": "Search",
          "priceUsd": 5,
          "priceNote": "per 1,000 requests",
          "billing": "usage",
          "included": "Complete search results (URLs, text, news, images, and more), with additional LLM context optimized for AI. Web search, LLM context, news, videos, images. Free $5 in credits every month. Capacity 50 requests per second.",
          "source": "pricing_docs",
          "quote": "$5.00 per 1,000 requests",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "id": "answers",
          "name": "Answers",
          "priceUsd": 4,
          "priceNote": "per 1,000 queries + $5.00 per 1,000,000 input tokens + $5.00 per 1,000,000 output tokens",
          "billing": "usage",
          "included": "LLM-generated answers grounded on a single search or multiple searches. Free $5 in credits every month. Capacity 2 requests per second.",
          "source": "pricing_docs",
          "quote": "$4.00 per 1,000 queries + $5.00 per 1,000,000 input tokens + $5.00 per 1,000,000 output tokens",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "id": "spellcheck",
          "name": "Spellcheck",
          "priceUsd": 5,
          "priceNote": "per 10,000 requests",
          "billing": "usage",
          "included": "Spellcheck, enriched autosuggest, autosuggest. Free $5 in credits every month. Capacity 100 requests per second.",
          "source": "pricing_docs",
          "quote": "$5.00 per 10,000 requests",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "id": "autosuggest",
          "name": "Autosuggest",
          "priceUsd": 5,
          "priceNote": "per 10,000 requests",
          "billing": "usage",
          "included": "Spellcheck, enriched autosuggest, autosuggest. Free $5 in credits every month. Capacity 100 requests per second.",
          "source": "pricing_docs",
          "quote": "$5.00 per 10,000 requests",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Contact us",
          "billing": "usage",
          "included": "Bespoke plans for large-scale deployments: custom terms, capacity, or ZDR; full-funnel Zero Data Retention; custom agreements & NDAs; invoicing & enterprise-grade support.",
          "source": "pricing_docs",
          "quote": "Contact us about bespoke plans for large-scale deployments.",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        }
      ],
      "rates": [
        {
          "item": "Search price per 1,000 requests",
          "value": "$5.00 per 1,000 requests",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing_docs",
          "quote": "$5.00 per 1,000 requests",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Answers price per 1,000 queries",
          "value": "$4.00 per 1,000 queries",
          "numeric": 4,
          "unit": "USD/1,000 queries",
          "published": true,
          "source": "pricing_docs",
          "quote": "$4.00 per 1,000 queries",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Answers input tokens",
          "value": "$5.00 per 1,000,000 input tokens",
          "numeric": 5,
          "unit": "USD/1M input tokens",
          "published": true,
          "source": "pricing_docs",
          "quote": "+ $5.00 per 1,000,000 input tokens",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Answers output tokens",
          "value": "$5.00 per 1,000,000 output tokens",
          "numeric": 5,
          "unit": "USD/1M output tokens",
          "published": true,
          "source": "pricing_docs",
          "quote": "+ $5.00 per 1,000,000 output tokens",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Spellcheck price per 10,000 requests",
          "value": "$5.00 per 10,000 requests",
          "numeric": 5,
          "unit": "USD/10,000 requests",
          "published": true,
          "source": "pricing_docs",
          "quote": "$5.00 per 10,000 requests",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Autosuggest price per 10,000 requests",
          "value": "$5.00 per 10,000 requests",
          "numeric": 5,
          "unit": "USD/10,000 requests",
          "published": true,
          "source": "pricing_docs",
          "quote": "$5.00 per 10,000 requests",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Free credits per month (each plan)",
          "value": "$5 in credits every month",
          "numeric": 5,
          "unit": "USD/month",
          "published": true,
          "source": "pricing_docs",
          "quote": "Includes free $5 in credits every month.",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Search rate limit",
          "value": "50 requests per second",
          "numeric": 50,
          "unit": "requests/sec",
          "published": true,
          "source": "pricing_docs",
          "quote": "Capacity 50 requests per second",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Answers rate limit",
          "value": "2 requests per second",
          "numeric": 2,
          "unit": "requests/sec",
          "published": true,
          "source": "pricing_docs",
          "quote": "Capacity 2 requests per second",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Spellcheck / Autosuggest rate limit",
          "value": "100 requests per second",
          "numeric": 100,
          "unit": "requests/sec",
          "published": true,
          "source": "pricing_docs",
          "quote": "Capacity 100 requests per second",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "item": "Rate limit window",
          "value": "1-second sliding window; exceeding the limit returns a 429 status code",
          "numeric": 1,
          "unit": "seconds",
          "published": true,
          "source": "rate_limits",
          "quote": "Rate limits are enforced using a **1-second sliding window** to count requests per plan.",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/guides/rate-limiting"
        },
        {
          "item": "Credit expiry",
          "value": "Earlier of one year from date of issuance or account closure",
          "numeric": 1,
          "unit": "years",
          "published": true,
          "source": "credit_terms",
          "quote": "Service Credits expire upon the earlier of one year from the date of issuance or the date that you close your account with us.",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/terms-of-service/credit-terms"
        },
        {
          "item": "Minimum top-up",
          "value": "No minimums",
          "published": false,
          "source": "api_page",
          "quote": "Load credits, use as you go. Set your own token budget. No minimums, no surprise bills.",
          "verified": true,
          "sourceUrl": "https://brave.com/search/api/"
        },
        {
          "item": "Enterprise price",
          "value": "Contact us about bespoke plans for large-scale deployments.",
          "published": false,
          "source": "pricing_docs",
          "quote": "Contact us about bespoke plans for large-scale deployments.",
          "verified": true,
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        }
      ],
      "overage": {
        "policy": "pay-as-you-go",
        "summary": "Prepaid credits, no subscription: buy credits upfront and draw them down as you use the API. Optional automatic reload charges your payment method when your balance drops to a threshold you set.",
        "source": "credit_terms",
        "quote": "If activated, you authorize us to charge the designated payment method on a recurring basis for the applicable fees and taxes when your Prepaid Service Credit balance drops to a threshold you set, until you opt out of the reload service."
      },
      "gotchas": [
        {
          "title": "Answers adds token charges",
          "detail": "Answers costs $4.00 per 1,000 queries plus $5.00 per 1,000,000 input tokens and $5.00 per 1,000,000 output tokens.",
          "source": "pricing_docs",
          "quote": "$4.00 per 1,000 queries + $5.00 per 1,000,000 input tokens + $5.00 per 1,000,000 output tokens",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        },
        {
          "title": "Credits expire after one year",
          "detail": "Service Credits expire one year from issuance or when you close your account, whichever is earlier.",
          "source": "credit_terms",
          "quote": "Service Credits expire upon the earlier of one year from the date of issuance or the date that you close your account with us.",
          "sourceUrl": "https://api-dashboard.search.brave.com/terms-of-service/credit-terms"
        },
        {
          "title": "Prepaid credits are non-refundable",
          "detail": "Purchases of Prepaid Service Credits are non-refundable.",
          "source": "credit_terms",
          "quote": "Purchases of Prepaid Service Credits are non-refundable.",
          "sourceUrl": "https://api-dashboard.search.brave.com/terms-of-service/credit-terms"
        },
        {
          "title": "Credit card required",
          "detail": "A credit card is required to prevent abuse; you are only charged for credits you choose to buy.",
          "source": "api_page",
          "quote": "To prevent abuse. Brave uses prepaid credits, not subscriptions, so you’re only charged for credits you choose to buy.",
          "sourceUrl": "https://brave.com/search/api/"
        },
        {
          "title": "Storing results or training needs a plan with storage rights",
          "detail": "Storing results or using them to train models requires a plan that includes storage rights. The standard terms prohibit storing, caching or building a database of results beyond transient storage.",
          "source": "api_page",
          "quote": "Yes, with a [plan](https://api-dashboard.search.brave.com/documentation/pricing) that includes storage rights.",
          "sourceUrl": "https://brave.com/search/api/"
        },
        {
          "title": "Only successful requests are billed",
          "detail": "Only successful (non-error) requests are counted against quota and billed. Requests over the rate limit return HTTP 429 and fail.",
          "source": "rate_limits",
          "quote": "**Important**: Only successful requests (non-error responses) are counted against your quota and billed.",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/guides/rate-limiting"
        },
        {
          "title": "Spellcheck and Autosuggest are priced per 10,000",
          "detail": "Spellcheck and Autosuggest are priced at $5.00 per 10,000 requests, not per 1,000.",
          "source": "pricing_docs",
          "quote": "$5.00 per 10,000 requests",
          "sourceUrl": "https://api-dashboard.search.brave.com/documentation/pricing"
        }
      ]
    },
    {
      "id": "serper",
      "name": "Serper",
      "vendor": "Serper",
      "category": "search-api",
      "url": "https://serper.dev/",
      "checked": "2026-10-30",
      "sources": {
        "home": {
          "name": "Serper - The World's Fastest and Cheapest Google Search API",
          "url": "https://serper.dev/"
        }
      },
      "unit": {
        "tag": "Per credit",
        "definition": "Credits are bought in prepaid top-up packs and deducted each time a query returns a successful response. Each pack's credit count matches its query count (for example, 50k credits lets you submit 50,000 queries).",
        "source": "home",
        "quote": "Every time you receive successful responses to queries, we will deduct credits from your account balance."
      },
      "free": {
        "summary": "2,500 free queries, no credit card required.",
        "published": true,
        "source": "home",
        "quote": "Get 2,500 free queries\n\nNo credit card required"
      },
      "plans": [
        {
          "id": "starter",
          "name": "Starter",
          "priceUsd": 50,
          "priceNote": "One-time top-up, excluding sales tax/VAT/GST",
          "billing": "usage",
          "included": "50k credits ($1.00/1k); submit 50,000 queries; 50 queries per second; real-time results; customize query location; credits valid for 6 months",
          "source": "home",
          "quote": "Starter\n\n## $50*\n\n50k credits ($1.00/1k)\n\nSubmit 50,000 queries\n\n50 queries per second",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "id": "standard",
          "name": "Standard",
          "priceUsd": 375,
          "priceNote": "One-time top-up, excluding sales tax/VAT/GST",
          "billing": "usage",
          "included": "500k credits ($0.75/1k); submit 500,000 queries; 100 queries per second; real-time results; customize query location; credits valid for 6 months",
          "source": "home",
          "quote": "Standard\n\n## $375*\n\n500k credits ($0.75/1k)\n\nSubmit 500,000 queries\n\n100 queries per second",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "id": "scale",
          "name": "Scale",
          "priceUsd": 1250,
          "priceNote": "One-time top-up, excluding sales tax/VAT/GST",
          "billing": "usage",
          "included": "2.5M credits ($0.50/1k); submit 2,500,000 queries; 200 queries per second; real-time results; customize query location; credits valid for 6 months",
          "source": "home",
          "quote": "Scale\n\n## $1250*\n\n2.5M credits ($0.50/1k)\n\nSubmit 2,500,000 queries\n\n200 queries per second",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "id": "ultimate",
          "name": "Ultimate",
          "priceUsd": 3750,
          "priceNote": "One-time top-up, excluding sales tax/VAT/GST",
          "billing": "usage",
          "included": "12.5M credits ($0.30/1k); submit 12,500,000 queries; 300 queries per second; real-time results; customize query location; credits valid for 6 months",
          "source": "home",
          "quote": "Ultimate\n\n## $3750*\n\n12.5M credits ($0.30/1k)\n\nSubmit 12,500,000 queries\n\n300 queries per second",
          "sourceUrl": "https://serper.dev/"
        }
      ],
      "rates": [
        {
          "item": "Price per 1,000 credits, Starter",
          "value": "$1.00/1k",
          "numeric": 1,
          "unit": "USD/1k credits",
          "published": true,
          "source": "home",
          "quote": "50k credits ($1.00/1k)",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Price per 1,000 credits, Standard",
          "value": "$0.75/1k",
          "numeric": 0.75,
          "unit": "USD/1k credits",
          "published": true,
          "source": "home",
          "quote": "500k credits ($0.75/1k)",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Price per 1,000 credits, Scale",
          "value": "$0.50/1k",
          "numeric": 0.5,
          "unit": "USD/1k credits",
          "published": true,
          "source": "home",
          "quote": "2.5M credits ($0.50/1k)",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Price per 1,000 credits, Ultimate",
          "value": "$0.30/1k",
          "numeric": 0.3,
          "unit": "USD/1k credits",
          "published": true,
          "source": "home",
          "quote": "12.5M credits ($0.30/1k)",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Rate limit, Starter",
          "value": "50 queries per second",
          "numeric": 50,
          "unit": "queries/sec",
          "published": true,
          "source": "home",
          "quote": "Submit 50,000 queries\n\n50 queries per second",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Rate limit, Standard",
          "value": "100 queries per second",
          "numeric": 100,
          "unit": "queries/sec",
          "published": true,
          "source": "home",
          "quote": "Submit 500,000 queries\n\n100 queries per second",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Rate limit, Scale",
          "value": "200 queries per second",
          "numeric": 200,
          "unit": "queries/sec",
          "published": true,
          "source": "home",
          "quote": "Submit 2,500,000 queries\n\n200 queries per second",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Rate limit, Ultimate",
          "value": "300 queries per second (default; can be raised on request)",
          "numeric": 300,
          "unit": "queries/sec",
          "published": true,
          "source": "home",
          "quote": "Our default rate limit for the Ultimate credits is 300 queries per second.",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Credit validity",
          "value": "Credits valid for 6 months",
          "numeric": 6,
          "unit": "months",
          "published": true,
          "source": "home",
          "quote": "Credits valid for 6 months",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        },
        {
          "item": "Free queries on signup",
          "value": "2,500 free queries, no credit card required",
          "numeric": 2500,
          "unit": "queries",
          "published": true,
          "source": "home",
          "quote": "Get 2,500 free queries",
          "verified": true,
          "sourceUrl": "https://serper.dev/"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "Prepaid top-up packs, no monthly subscription. When the credit balance reaches zero, Serper stops accepting new queries.",
        "source": "home",
        "quote": "When your credit balance reaches zero, we will stop accepting new queries."
      },
      "gotchas": [
        {
          "title": "Credits expire after 6 months",
          "detail": "Credits in every pack are valid for 6 months.",
          "source": "home",
          "quote": "Credits valid for 6 months",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "title": "Top-up model, no subscriptions",
          "detail": "No monthly subscriptions; you buy the credits you need, and larger orders cost less per query.",
          "source": "home",
          "quote": "No monthly subscriptions; simply pay for the credits you need.",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "title": "Prices exclude tax",
          "detail": "Listed prices exclude sales tax, VAT and GST.",
          "source": "home",
          "quote": "* Excluding sales tax/VAT/GST",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "title": "Only successful responses are charged",
          "detail": "Credits are deducted when a query returns a successful response.",
          "source": "home",
          "quote": "Every time you receive successful responses to queries, we will deduct credits from your account balance.",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "title": "Refund window",
          "detail": "Full refund within 7 days of the first credit purchase, unless more than 20% of the credits have been used.",
          "source": "home",
          "quote": "We offer a full refund within 7 days of your initial credit purchase unless you have used more than 20% of your credits.",
          "sourceUrl": "https://serper.dev/"
        },
        {
          "title": "Rate limit tied to pack",
          "detail": "The queries-per-second limit differs by pack. The default for Ultimate is 300 queries per second and can be raised on request.",
          "source": "home",
          "quote": "If your specific use case requires a higher concurrency we are able to change this limit.",
          "sourceUrl": "https://serper.dev/"
        }
      ]
    },
    {
      "id": "serpapi",
      "name": "SerpApi",
      "vendor": "SerpApi, LLC",
      "category": "search-api",
      "url": "https://serpapi.com/",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "SerpApi: Plans and Pricing",
          "url": "https://serpapi.com/pricing"
        },
        "extract": {
          "name": "Extract API - SerpApi",
          "url": "https://serpapi.com/extract-api"
        },
        "searchapi": {
          "name": "Google Search API - SerpApi",
          "url": "https://serpapi.com/search-api"
        },
        "aimode": {
          "name": "Google AI Mode API - SerpApi",
          "url": "https://serpapi.com/google-ai-mode-api"
        },
        "faq": {
          "name": "SerpApi: FAQ",
          "url": "https://serpapi.com/faq"
        },
        "extracredits": {
          "name": "Extra Credits (redirects to sign-in)",
          "url": "https://serpapi.com/extra-credits"
        }
      },
      "unit": {
        "tag": "Per search (credit)",
        "definition": "Only successful searches are counted toward your monthly searches. Cached, errored, and failed searches are not. The number of results returned does not change the credit count: a response with 100 results and an empty one each count as 1 search.",
        "source": "pricing",
        "quote": "Only successful searches are counted toward your monthly searches. Cached, errored, and failed searches are not. The number of results returned per response will not affect the number of credits used—responses with 100 results or empty result sets will both count as 1 search."
      },
      "free": {
        "summary": "Free plan: $0/month, 250 searches per month, 50 throughput per hour.",
        "published": true,
        "source": "pricing",
        "quote": "Free\n\n$ 0\n\n/ month\n\n[Get Started](https://serpapi.com/users/sign_up?plan=free)\n\n250 searches per month\n\n50 throughput per hour"
      },
      "plans": [
        {
          "id": "free",
          "name": "Free",
          "priceUsd": 0,
          "billing": "monthly",
          "included": "250 searches per month, 50 throughput per hour, U.S. Legal Shield",
          "source": "pricing",
          "quote": "Free\n\n$ 0\n\n/ month\n\n... 250 searches per month\n\n50 throughput per hour\n\nU.S. Legal Shield",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "id": "starter",
          "name": "Starter",
          "priceUsd": 25,
          "billing": "monthly",
          "included": "1,000 searches per month, 200 throughput per hour, U.S. Legal Shield",
          "source": "pricing",
          "quote": "Starter\n\n$ 25\n\n/ month\n\n... 1,000 searches per month\n\n200 throughput per hour\n\nU.S. Legal Shield",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "id": "developer",
          "name": "Developer",
          "priceUsd": 75,
          "billing": "monthly",
          "included": "5,000 searches per month, 1,000 throughput per hour, U.S. Legal Shield",
          "source": "pricing",
          "quote": "Developer\n\n$ 75\n\n/ month\n\n... 5,000 searches per month\n\n1,000 throughput per hour\n\nU.S. Legal Shield",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "id": "production",
          "name": "Production",
          "priceUsd": 150,
          "priceNote": "Labelled \"Most popular\"",
          "billing": "monthly",
          "included": "15,000 searches per month, 3,000 throughput per hour, U.S. Legal Shield",
          "source": "pricing",
          "quote": "Production\n\n$ 150\n\n/ month\n\n... 15,000 searches per month\n\n3,000 throughput per hour\n\nU.S. Legal Shield",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "id": "big-data",
          "name": "Big Data",
          "priceUsd": 275,
          "billing": "monthly",
          "included": "30,000 searches per month, 6,000 throughput per hour, U.S. Legal Shield",
          "source": "pricing",
          "quote": "Big Data\n\n$ 275\n\n/ month\n\n... 30,000 searches per month\n\n6,000 throughput per hour\n\nU.S. Legal Shield",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Contact sales for pricing",
          "billing": "monthly",
          "included": "Custom searches per month, custom throughput per hour, U.S. Legal Shield, ZeroTrace Mode, Priority support",
          "source": "pricing",
          "quote": "Enterprise\n\nContact sales for pricing contact@serpapi.com\n\n... Custom searches per month\n\nCustom throughput per hour\n\nU.S. Legal Shield\n\nZeroTrace Mode\n\nPriority support",
          "sourceUrl": "https://serpapi.com/pricing"
        }
      ],
      "rates": [
        {
          "item": "Searches counted per response",
          "value": "1 search per successful response, whatever the number of results",
          "numeric": 1,
          "unit": "credits/search",
          "published": true,
          "source": "pricing",
          "quote": "responses with 100 results or empty result sets will both count as 1 search.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Cached searches",
          "value": "Free. Not counted towards monthly searches. Cache expires after 1h.",
          "numeric": 0,
          "unit": "credits/search",
          "published": true,
          "source": "searchapi",
          "quote": "Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/search-api"
        },
        {
          "item": "Extract API crawl mode, per extracted page",
          "value": "1 search credit per successfully extracted page, including the starting page",
          "numeric": 1,
          "unit": "credits/page",
          "published": true,
          "source": "extract",
          "quote": "Crawl mode consumes **one search credit per successfully extracted page**, including the starting page, so `max_pages=10` can cost up to 10 credits.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "item": "Extract API crawl, maximum pages per request",
          "value": "Default 10, maximum 100",
          "numeric": 100,
          "unit": "pages/request",
          "published": true,
          "source": "extract",
          "quote": "Parameter defines the maximum number of pages to extract, including the starting page. Default: `10`. Maximum: `100`.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "item": "Extract API scrape / map mode credit cost",
          "value": "No figure stated in the text. Example responses show \"credits_consumed\": 1.",
          "published": false,
          "source": "extract",
          "quote": "\"credits_consumed\": 1,",
          "verified": true,
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "item": "JavaScript rendering",
          "value": "The Extract API doesn't run JavaScript.",
          "published": true,
          "source": "extract",
          "quote": "The Extract API doesn't run JavaScript, so this is not a rendering delay.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "item": "Rate limit, Free",
          "value": "50 throughput per hour",
          "numeric": 50,
          "unit": "searches/hour",
          "published": true,
          "source": "pricing",
          "quote": "50 throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Rate limit, Starter",
          "value": "200 throughput per hour",
          "numeric": 200,
          "unit": "searches/hour",
          "published": true,
          "source": "pricing",
          "quote": "200 throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Rate limit, Developer",
          "value": "1,000 throughput per hour",
          "numeric": 1000,
          "unit": "searches/hour",
          "published": true,
          "source": "pricing",
          "quote": "1,000 throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Rate limit, Production",
          "value": "3,000 throughput per hour",
          "numeric": 3000,
          "unit": "searches/hour",
          "published": true,
          "source": "pricing",
          "quote": "3,000 throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Rate limit, Big Data",
          "value": "6,000 throughput per hour",
          "numeric": 6000,
          "unit": "searches/hour",
          "published": true,
          "source": "pricing",
          "quote": "6,000 throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Rate limit, Enterprise",
          "value": "Custom throughput per hour",
          "published": false,
          "source": "pricing",
          "quote": "Custom throughput per hour",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Pay-as-you-go / overage price per search",
          "value": "No pay-as-you-go price listed. Vendor offers Automatic Early Renewal or manual renewal of the plan.",
          "published": false,
          "source": "pricing",
          "quote": "You can set your plan to Automatic Early Renewal. It will trigger an early renewal once you've used all your searches.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "item": "Refund window",
          "value": "Full refund within 7 days of subscribing unless more than 20% of searches used",
          "numeric": 7,
          "unit": "days",
          "published": true,
          "source": "pricing",
          "quote": "We offer a full refund within 7 days of the date you subscribed to a plan unless you've used more than 20% of your searches.",
          "verified": true,
          "sourceUrl": "https://serpapi.com/pricing"
        }
      ],
      "overage": {
        "policy": "auto-charge",
        "summary": "You can set your plan to Automatic Early Renewal, which triggers an early renewal once all searches are used. You can also renew manually. Either way, searches are fully replenished and the renewal date is updated.",
        "source": "pricing",
        "quote": "You can set your plan to Automatic Early Renewal. It will trigger an early renewal once you've used all your searches. You can toggle the Automatic Early Renewal anytime by visiting [this page](https://serpapi.com/plan). You can also renew your plan manually. In both cases, your searches will be fully replenished, your renewal date will be updated, and your searches will reset at the start of the new billing cycle."
      },
      "gotchas": [
        {
          "title": "Running out means renewing the whole plan",
          "detail": "When searches run out, Automatic Early Renewal or manual renewal replenishes the plan and resets the renewal date. No per-search overage rate is listed.",
          "source": "pricing",
          "quote": "In both cases, your searches will be fully replenished, your renewal date will be updated, and your searches will reset at the start of the new billing cycle.",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "title": "Crawl charges per page",
          "detail": "Extract API crawl mode uses one search credit per successfully extracted page, including the starting page. max_pages=10 can cost up to 10 credits.",
          "source": "extract",
          "quote": "Crawl mode consumes **one search credit per successfully extracted page**, including the starting page, so `max_pages=10` can cost up to 10 credits.",
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "title": "No JavaScript rendering in Extract API",
          "detail": "The Extract API doesn't run JavaScript.",
          "source": "extract",
          "quote": "The Extract API doesn't run JavaScript, so this is not a rendering delay.",
          "sourceUrl": "https://serpapi.com/extract-api"
        },
        {
          "title": "Rate limits are hourly",
          "detail": "Plan limits are stated as throughput per hour (for example, 200 per hour on Starter).",
          "source": "pricing",
          "quote": "1,000 searches per month\n\n200 throughput per hour",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "title": "Downgrade leftovers become Extra Credits",
          "detail": "When you downgrade, any remaining searches from the previous plan are added to your Extra Credits balance.",
          "source": "pricing",
          "quote": "Any remaining searches from your previous plan will be added to your 'Extra Credits' balance.",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "title": "Unused searches after cancelling",
          "detail": "If you cancel before your plan expires, you can use your remaining searches until the renewal date.",
          "source": "pricing",
          "quote": "If you cancel before your plan expires, you can continue to use your remaining searches until the renewal date.",
          "sourceUrl": "https://serpapi.com/pricing"
        },
        {
          "title": "Cached results are free for 1 hour",
          "detail": "Identical queries served from cache within 1 hour are free and not counted.",
          "source": "searchapi",
          "quote": "Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month.",
          "sourceUrl": "https://serpapi.com/search-api"
        }
      ]
    },
    {
      "id": "firecrawl",
      "name": "Firecrawl",
      "vendor": "Firecrawl",
      "category": "search-api",
      "url": "https://www.firecrawl.dev",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Pricing | Firecrawl",
          "url": "https://www.firecrawl.dev/pricing"
        },
        "pricing_md": {
          "name": "Firecrawl Pricing (markdown version linked from pricing page)",
          "url": "https://www.firecrawl.dev/pricing.md"
        },
        "rate_limits": {
          "name": "Rate Limits - Firecrawl Docs",
          "url": "https://docs.firecrawl.dev/rate-limits"
        },
        "billing": {
          "name": "Billing - Firecrawl Docs",
          "url": "https://docs.firecrawl.dev/billing.md"
        }
      },
      "unit": {
        "tag": "Per credit",
        "definition": "1 credit = 1 page on a basic scrape, crawl, or map. Search costs 2 credits per 10 results; Interact costs 2 credits per browser minute. Credits are shared across all endpoints.",
        "source": "pricing",
        "quote": "1 credit = 1 page on a basic scrape, crawl, or map. Search costs 2 credits per 10 results; Interact costs 2 credits per browser minute."
      },
      "free": {
        "summary": "Free plan: 1,000 credits every month, refreshed monthly, no credit card required (500 searches or 1,000 pages scraped). 2 concurrent browsers. No pay-as-you-go; requests return HTTP 402 once the monthly allotment runs out.",
        "published": true,
        "source": "pricing",
        "quote": "1,000 credits every month, refreshed monthly, no credit card required."
      },
      "plans": [
        {
          "id": "free",
          "name": "Free",
          "priceUsd": 0,
          "priceNote": "No credit card required",
          "billing": "monthly",
          "included": "1,000 credits/month (500 searches or 1,000 pages scraped), 2 concurrent requests, low rate limits",
          "source": "pricing",
          "quote": "500 searches or 1,000 pages scraped",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "id": "hobby",
          "name": "Hobby",
          "priceUsd": 19,
          "priceNote": "$16/month billed annually",
          "billing": "monthly",
          "included": "5,000 credits/month (2,500 searches or 5,000 pages scraped), 5 concurrent requests, basic support",
          "source": "pricing",
          "quote": "Hobby: $19/month billed monthly ($16/month billed annually), 5,000 credits/month",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "id": "standard",
          "name": "Standard",
          "priceUsd": 99,
          "priceNote": "$83/month billed annually",
          "billing": "monthly",
          "included": "100,000 credits/month (50,000 searches or 100,000 pages scraped), 25 concurrent requests, standard support",
          "source": "pricing",
          "quote": "Standard: $99/month billed monthly ($83/month billed annually), 100,000 credits/month",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "id": "growth",
          "name": "Growth",
          "priceUsd": 399,
          "priceNote": "$333/month billed annually",
          "billing": "monthly",
          "included": "500,000 credits/month (250,000 searches or 500,000 pages scraped), 50 concurrent requests, priority support",
          "source": "pricing",
          "quote": "Growth: $399/month billed monthly ($333/month billed annually), 500,000 credits/month",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "id": "scale",
          "name": "Scale",
          "priceUsd": 749,
          "priceNote": "$599/month billed annually",
          "billing": "monthly",
          "included": "1,000,000 credits/month (500,000 searches or 1,000,000 pages scraped), 100 concurrent requests, priority support",
          "source": "pricing",
          "quote": "Scale: $749/month billed monthly ($599/month billed annually), 1,000,000 credits/month",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Custom pricing",
          "billing": "annual",
          "included": "Custom credits and concurrency, dedicated support and SLA, bulk discounts, zero-data retention, SSO and advanced security",
          "source": "pricing",
          "quote": "Enterprise: custom pricing, credits and concurrency.",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        }
      ],
      "rates": [
        {
          "item": "Pay-as-you-go credits per 5 USD, Hobby",
          "value": "1,000 credits per $5",
          "numeric": 1000,
          "unit": "credits per 5 USD",
          "published": true,
          "source": "pricing",
          "quote": "A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "item": "Pay-as-you-go credits per 5 USD, Standard",
          "value": "2,000 credits per $5",
          "numeric": 2000,
          "unit": "credits per 5 USD",
          "published": true,
          "source": "pricing",
          "quote": "A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "item": "Pay-as-you-go credits per 5 USD, Growth",
          "value": "2,500 credits per $5",
          "numeric": 2500,
          "unit": "credits per 5 USD",
          "published": true,
          "source": "pricing",
          "quote": "A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "item": "Pay-as-you-go credits per 5 USD, Scale",
          "value": "5,000 credits per $5",
          "numeric": 5000,
          "unit": "credits per 5 USD",
          "published": true,
          "source": "pricing",
          "quote": "A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "item": "Search",
          "value": "2 credits per 10 results, rounded up per 10 results (e.g., 11 results = 4 credits); scraping each result adds per-page scrape costs",
          "numeric": 2,
          "unit": "credits / 10 results",
          "published": true,
          "source": "billing",
          "quote": "| **Search** | 2 credits / 10 results | Search the web and optionally scrape the results. Rounded up per 10 results (e.g., 11 results = 4 credits). Additional per-page scrape costs apply to each result that is scraped.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Scrape",
          "value": "1 credit per page",
          "numeric": 1,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| **Scrape** | 1 credit / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Crawl",
          "value": "1 credit per page",
          "numeric": 1,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| **Crawl** | 1 credit / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Map",
          "value": "1 credit per call",
          "numeric": 1,
          "unit": "credits / call",
          "published": true,
          "source": "billing",
          "quote": "| **Map** | 1 credit / call |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "PDF parsing surcharge",
          "value": "+1 credit per PDF page",
          "numeric": 1,
          "unit": "credits / PDF page",
          "published": true,
          "source": "billing",
          "quote": "| PDF parsing | +1 credit / PDF page | Extract content from PDF documents |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "JSON format (LLM extraction) surcharge",
          "value": "+4 credits per page",
          "numeric": 4,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| JSON format (LLM extraction) | +4 credits / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Question / query format surcharge",
          "value": "+4 credits per page",
          "numeric": 4,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| `question` or `query` format | +4 credits / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Highlights format surcharge",
          "value": "+4 credits per page",
          "numeric": 4,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| `highlights` format | +4 credits / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Zero Data Retention surcharge",
          "value": "+1 credit per page",
          "numeric": 1,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| Zero Data Retention (ZDR) | +1 credit / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "PII redaction surcharge",
          "value": "+4 credits per page",
          "numeric": 4,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| PII redaction (`redactPII`) | +4 credits / page |",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Enhanced proxy",
          "value": "+0; billed at the same 1 credit as a basic request",
          "numeric": 0,
          "unit": "credits / page",
          "published": true,
          "source": "billing",
          "quote": "| Enhanced proxy (`proxy: \"enhanced\"` or `auto` escalation) | +0 | Billed at the same 1 credit as a basic request.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Interact (browser session)",
          "value": "2 credits per browser minute without a prompt; 7 credits per browser minute with a prompt; one-minute minimum",
          "numeric": 2,
          "unit": "credits / browser minute",
          "published": true,
          "source": "billing",
          "quote": "Sessions that use a `prompt` bill at 7 credits / browser minute; sessions without a prompt (Playwright `code` only) bill at 2 credits / browser minute.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Monitor",
          "value": "1 credit per page per check; deterministic-extraction engine bills a flat 7 credits per page per check",
          "numeric": 1,
          "unit": "credits / page / check",
          "published": true,
          "source": "pricing",
          "quote": "Scrape, Crawl, and Map each cost 1 credit per page, and Monitor costs 1 credit per page per check.",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "item": "Agent (preview)",
          "value": "5 daily runs free; then dynamic usage-based pricing",
          "unit": "credits",
          "published": false,
          "source": "billing",
          "quote": "| **Agent** | Dynamic | Autonomous web research agent. 5 daily runs free; usage-based pricing beyond that.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "X (x.com) request",
          "value": "30 credits per typical post or thread request (1 base + 29 Grok X Query)",
          "numeric": 30,
          "unit": "credits / request",
          "published": true,
          "source": "billing",
          "quote": "processing a typical post or thread request costs **30 credits** (`1` base + `29` Grok X Query)",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Rate limit /scrape, /map, /search (Free / Hobby / Standard / Growth / Scale / Enterprise)",
          "value": "10 / 100 / 500 / 5,000 / 10,000 requests per minute / Custom",
          "unit": "requests / min",
          "published": true,
          "source": "pricing_md",
          "quote": "| Rate limit, /scrape, /map and /search | 10 / min | 100 / min | 500 / min | 5,000 / min | 10,000 / min | Custom |",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing.md"
        },
        {
          "item": "Rate limit /crawl, /agent (Free / Hobby / Standard / Growth / Scale / Enterprise)",
          "value": "2 / 20 / 100 / 1,000 / 2,000 requests per minute / Custom; batch scrape shares the crawl limit, extract shares the agent limit",
          "unit": "requests / min",
          "published": true,
          "source": "pricing_md",
          "quote": "| Rate limit, /crawl and /agent | 2 / min | 20 / min | 100 / min | 1,000 / min | 2,000 / min | Custom |",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing.md"
        },
        {
          "item": "Rate limit /interact (Free / Hobby / Standard / Growth / Scale / Enterprise)",
          "value": "2 / 20 / 100 / 1,000 / 1,500 sessions started per minute / Custom",
          "unit": "requests / min",
          "published": true,
          "source": "pricing_md",
          "quote": "| Rate limit, /interact | 2 / min | 20 / min | 100 / min | 1,000 / min | 1,500 / min | Custom |",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing.md"
        },
        {
          "item": "Concurrent browsers (Free / Hobby / Standard / Growth / Scale / Enterprise)",
          "value": "2 / 5 / 25 / 50 / 100 / Custom",
          "unit": "concurrent browsers",
          "published": true,
          "source": "pricing_md",
          "quote": "| Concurrent browsers | 2 | 5 | 25 | 50 | 100 | Custom |",
          "verified": true,
          "sourceUrl": "https://www.firecrawl.dev/pricing.md"
        },
        {
          "item": "Rate limits per second",
          "value": "Rate limits are measured in requests per minute",
          "unit": "requests / sec",
          "published": false,
          "source": "rate_limits",
          "quote": "Rate limits are measured in requests per minute and are primarily in place to prevent abuse.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/rate-limits"
        },
        {
          "item": "Minimum top-up",
          "value": "Increments of 5 USD (manual purchases: a multiple of 5 USD)",
          "numeric": 5,
          "unit": "USD",
          "published": true,
          "source": "billing",
          "quote": "You buy credits in increments of 5 USD. When your credit balance reaches zero, we add one increment to your account and charge your card on file.",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "item": "Overage allowance while pay-as-you-go is on (Hobby / Standard / Growth / Scale)",
          "value": "1,500 / 30,000 / 150,000 / 600,000 credits",
          "unit": "credits",
          "published": true,
          "source": "billing",
          "quote": "**1,500 credits on Hobby, 30,000 on Standard, 150,000 on Growth, and 600,000 on Scale**",
          "verified": true,
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        }
      ],
      "overage": {
        "policy": "auto-charge",
        "summary": "Paid plans only: when the credit balance reaches zero, Firecrawl charges the card on file for a 5 USD increment and adds its credits, repeating up to the monthly pay-as-you-go limit you set (blank = no limit, 0 = off). The Free plan, or a paid plan with pay-as-you-go off, returns HTTP 402.",
        "source": "billing",
        "quote": "You buy credits in increments of 5 USD. When your credit balance reaches zero, we add one increment to your account and charge your card on file."
      },
      "gotchas": [
        {
          "title": "Free plan hard stop",
          "detail": "The free plan has no pay-as-you-go; requests return HTTP 402 once the monthly allotment runs out.",
          "source": "billing",
          "quote": "The free plan does not include pay-as-you-go, so requests return an HTTP 402 once the monthly allotment runs out.",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Search results that are scraped cost extra",
          "detail": "Search is 2 credits per 10 results, rounded up per 10; each result that is scraped adds per-page scrape costs.",
          "source": "billing",
          "quote": "| **Search** | 2 credits / 10 results | Search the web and optionally scrape the results. Rounded up per 10 results (e.g., 11 results = 4 credits). Additional per-page scrape costs apply to each result that is scraped.",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "LLM output formats add 4 credits per page",
          "detail": "On Scrape and Crawl, the JSON, Question and Highlight formats add 4 credits per page. Modifiers stack.",
          "source": "pricing",
          "quote": "On Scrape and Crawl, the JSON, Question, and Highlight formats add 4 credits per page;",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "title": "Error pages are charged",
          "detail": "Pages returned with an error status such as 403 or 404 cost 1 credit; a scrape that returns no document is not charged.",
          "source": "billing",
          "quote": "This includes pages that come back with an error status such as 403 Forbidden or 404 Not Found.",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Top-up price depends on plan",
          "detail": "A 5 USD increment gives 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth and 5,000 on Scale.",
          "source": "pricing",
          "quote": "A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "title": "Plan credits do not roll over on lower tiers",
          "detail": "Hobby, Standard and Growth credits do not roll over; Scale carries unused credits for one month, Enterprise a custom amount.",
          "source": "pricing",
          "quote": "Credits roll over on Scale and Enterprise. Scale carries unused credits for one month, and Enterprise carries a custom amount. Hobby, Standard and Growth credits do not roll over.",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "title": "Purchased credits expire on cancellation",
          "detail": "Bought credits stay until used, but expire if you cancel your subscription.",
          "source": "pricing",
          "quote": "Credits you buy stay on your account until you use them. They expire if you cancel your subscription, so use them before you leave.",
          "sourceUrl": "https://www.firecrawl.dev/pricing"
        },
        {
          "title": "Upgrades are not prorated",
          "detail": "Upgrades charge the full new-plan price immediately and reset the billing cycle.",
          "source": "billing",
          "quote": "You are charged the full new-plan price today (no proration), and your billing cycle resets.",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Interact has a one-minute minimum",
          "detail": "Interact sessions are billed per browser minute with a one-minute minimum; 7 credits per minute with a prompt.",
          "source": "billing",
          "quote": "billed per browser minute with a one-minute minimum",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Threat protection scan charge",
          "detail": "Threat protection scans cost 2 credits per scanned URL, including scrapes the scan blocked.",
          "source": "billing",
          "quote": "| Threat protection scan | 2 credits per scanned URL, including a scrape that the scan itself blocked |",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Special pricing for X and LinkedIn URLs",
          "detail": "X (x.com) requests typically cost 30 credits; LinkedIn profile and company pages cost what third-party providers charge (5 to 40 credits) instead of the 1-credit base.",
          "source": "billing",
          "quote": "It costs the credits those providers charged, in place of the 1-credit scrape base.",
          "sourceUrl": "https://docs.firecrawl.dev/billing.md"
        },
        {
          "title": "Keyless free tier caps not stated as numbers",
          "detail": "Keyless usage is free and capped per IP address per day by a maximum number of requests and credits.",
          "source": "rate_limits",
          "quote": "Keyless usage is free and capped per IP address per day by **two limits**, and exceeding either returns a `429`:",
          "sourceUrl": "https://docs.firecrawl.dev/rate-limits"
        }
      ]
    },
    {
      "id": "jina",
      "name": "Jina Reader & Search API",
      "vendor": "Jina AI (part of Elastic)",
      "category": "search-api",
      "url": "https://jina.ai/reader/",
      "checked": "2026-10-30",
      "sources": {
        "reader": {
          "name": "Reader API - Jina AI",
          "url": "https://jina.ai/reader/"
        },
        "dashboard": {
          "name": "Jina AI API Dashboard",
          "url": "https://jina.ai/api-dashboard/"
        },
        "contactSales": {
          "name": "Contact sales - Jina AI",
          "url": "https://jina.ai/contact-sales/"
        },
        "openapi": {
          "name": "Jina AI API reference (OpenAPI spec)",
          "url": "https://docs.jina.ai/openapi.json"
        },
        "legal": {
          "name": "Jina AI Legal (Terms & Conditions)",
          "url": "https://jina.ai/legal"
        }
      },
      "unit": {
        "tag": "Per token",
        "definition": "API pricing is based on token usage; one API key and its token balance cover all Jina search foundation products. Reader (r.jina.ai) counts the tokens in the output response; Search (s.jina.ai) costs a fixed number of tokens per request, starting from 10,000 tokens.",
        "source": "reader",
        "quote": "API pricing is based on the token usage. One API key gives you access to all search foundation products."
      },
      "free": {
        "summary": "Every new API key comes with 10M free tokens (one-time grant). Reader can also be called without an API key at 20 RPM; Search requires an API key.",
        "published": true,
        "source": "reader",
        "quote": "Don't panic! Every new API key comes with 10M free tokens!"
      },
      "plans": [
        {
          "id": "no-key",
          "name": "Reader without API key",
          "priceUsd": 0,
          "priceNote": "No key; Reader only",
          "billing": "usage",
          "included": "Reader (r.jina.ai) at 20 RPM; Search (s.jina.ai) not available without a key.",
          "source": "reader",
          "quote": "Reader is free for basic usage: prepend 'https://r.jina.ai/' to your URL. Supplying an API key raises the rate limit and charges tokens based on content length.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "id": "free-key",
          "name": "Free API key",
          "priceUsd": 0,
          "priceNote": "10M free tokens per new key",
          "billing": "usage",
          "included": "10M free tokens; Reader 500 RPM; Search 100 RPM.",
          "source": "reader",
          "quote": "Don't panic! Every new API key comes with 10M free tokens!",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "id": "paid-key",
          "name": "Paid API key (token top-up)",
          "priceUsd": null,
          "priceNote": "Token package prices not captured",
          "billing": "usage",
          "included": "Prepaid tokens shared across all Jina APIs; Reader 500 RPM; Search 100 RPM.",
          "source": "reader",
          "quote": "The easiest way to access all of our products. Top-up tokens as you go.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "id": "premium-key",
          "name": "Premium API key",
          "priceUsd": null,
          "priceNote": "Price and qualifying package not captured",
          "billing": "usage",
          "included": "Reader 5000 RPM; Search 1000 RPM.",
          "source": "reader",
          "quote": "| Reader API    | `https://s.jina.ai`                 | Search the web and convert results to LLM-friendly text | *block*              | 100 RPM               | 100 RPM                 | *trending_up*1000 RPM",
          "sourceUrl": "https://jina.ai/reader/"
        }
      ],
      "rates": [
        {
          "item": "Search (s.jina.ai) cost per request",
          "value": "Fixed number of tokens per request, starting from 10,000 tokens",
          "numeric": 10000,
          "unit": "tokens/request (minimum)",
          "published": true,
          "source": "reader",
          "quote": "Every request costs a fixed number of tokens, starting from 10,000 tokens",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader (r.jina.ai) cost per request",
          "value": "Number of tokens in the output response",
          "unit": "tokens/request",
          "published": true,
          "source": "reader",
          "quote": "Count the number of tokens in the output response.",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Free tokens per new API key",
          "value": "10M tokens",
          "numeric": 10000000,
          "unit": "tokens (one-time)",
          "published": true,
          "source": "reader",
          "quote": "Don't panic! Every new API key comes with 10M free tokens!",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader rate limit, no API key",
          "value": "20 RPM",
          "numeric": 20,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://r.jina.ai`                 | Converts a URL to LLM-friendly text                     | 20 RPM               | 500 RPM               | 500 RPM                 | *trending_up*5000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader rate limit, free API key",
          "value": "500 RPM",
          "numeric": 500,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://r.jina.ai`                 | Converts a URL to LLM-friendly text                     | 20 RPM               | 500 RPM               | 500 RPM                 | *trending_up*5000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader rate limit, paid API key",
          "value": "500 RPM",
          "numeric": 500,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://r.jina.ai`                 | Converts a URL to LLM-friendly text                     | 20 RPM               | 500 RPM               | 500 RPM                 | *trending_up*5000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader rate limit, premium API key",
          "value": "5000 RPM",
          "numeric": 5000,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://r.jina.ai`                 | Converts a URL to LLM-friendly text                     | 20 RPM               | 500 RPM               | 500 RPM                 | *trending_up*5000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Search rate limit, no API key",
          "value": "Not available (blocked)",
          "unit": "requests/min",
          "published": true,
          "source": "openapi",
          "quote": "Reader also answers without a key, at a lower rate limit; Search needs one.",
          "verified": true,
          "sourceUrl": "https://docs.jina.ai/openapi.json"
        },
        {
          "item": "Search rate limit, free API key",
          "value": "100 RPM",
          "numeric": 100,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://s.jina.ai`                 | Search the web and convert results to LLM-friendly text | *block*              | 100 RPM               | 100 RPM                 | *trending_up*1000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Search rate limit, paid API key",
          "value": "100 RPM",
          "numeric": 100,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://s.jina.ai`                 | Search the web and convert results to LLM-friendly text | *block*              | 100 RPM               | 100 RPM                 | *trending_up*1000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Search rate limit, premium API key",
          "value": "1000 RPM",
          "numeric": 1000,
          "unit": "requests/min",
          "published": true,
          "source": "reader",
          "quote": "| Reader API    | `https://s.jina.ai`                 | Search the web and convert results to LLM-friendly text | *block*              | 100 RPM               | 100 RPM                 | *trending_up*1000 RPM",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "IP-based rate limit",
          "value": "10,000 requests per 60 seconds",
          "numeric": 10000,
          "unit": "requests/60 s per IP",
          "published": true,
          "source": "reader",
          "quote": "There is also an IP-based limit of 10,000 requests per 60 seconds.",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Reader maximum concurrency",
          "value": "Around 4,000 requests",
          "numeric": 4000,
          "unit": "concurrent requests",
          "published": true,
          "source": "reader",
          "quote": "the maximum concurrency is now around 4,000 requests",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "item": "Results per search request",
          "value": "Top five results with URLs and contents",
          "numeric": 5,
          "unit": "results/request",
          "published": true,
          "source": "reader",
          "quote": "Simply prepend `https://s.jina.ai/?q=` to your query, and Reader will search the web and return the top five results with their URLs and contents, each in clean, LLM-friendly text.",
          "verified": true,
          "sourceUrl": "https://jina.ai/reader/"
        }
      ],
      "overage": {
        "policy": "pay-as-you-go",
        "summary": "Prepaid token balance topped up as you go; optional auto top-up recharges the saved payment method for the last purchased package when the balance drops below a set threshold.",
        "source": "reader",
        "quote": "When your token balance drops below the set threshold, we will automatically recharge your saved payment method for the last purchased package, until the threshold is met."
      },
      "gotchas": [
        {
          "title": "Search needs an API key",
          "detail": "Reader works without a key at a lower rate limit; Search requires an API key.",
          "source": "openapi",
          "quote": "Reader also answers without a key, at a lower rate limit; Search needs one.",
          "sourceUrl": "https://docs.jina.ai/openapi.json"
        },
        {
          "title": "Search has a fixed minimum token cost",
          "detail": "Every Search request costs a fixed number of tokens, starting from 10,000 tokens.",
          "source": "reader",
          "quote": "Every request costs a fixed number of tokens, starting from 10,000 tokens",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Token budget ignored for Search",
          "detail": "The token budget parameter, which rejects requests above a set token cost, is ignored for the search endpoint.",
          "source": "openapi",
          "quote": "Note this parameter is ignored for the search endpoint.",
          "sourceUrl": "https://docs.jina.ai/openapi.json"
        },
        {
          "title": "Reader charges by content length",
          "detail": "With an API key, Reader charges tokens based on content length.",
          "source": "reader",
          "quote": "Reader is free for basic usage: prepend 'https://r.jina.ai/' to your URL. Supplying an API key raises the rate limit and charges tokens based on content length.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Pricing changed May 6, 2025",
          "detail": "Auto-recharge set up before May 6, 2025 keeps the old price; new pricing applies when auto-recharge settings change or a new key is bought.",
          "source": "reader",
          "quote": "We introduced a new pricing model on May 6th, 2025. If you enabled auto-recharge before this date, you'll continue to pay the old price (the one when you purchased).",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Charge currency varies by location",
          "detail": "Depending on location, you may be charged in USD, EUR or other currencies; taxes may apply.",
          "source": "reader",
          "quote": "Depending on your location, you may be charged in USD, EUR, or other currencies. Taxes may apply.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "RPM or TPM, whichever hits first",
          "detail": "Limits are tracked per IP or API key and trigger when either the RPM or TPM threshold is reached first.",
          "source": "reader",
          "quote": "Limits are enforced per IP/API key and will be triggered when either the RPM or TPM threshold is reached first.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Failed requests are free",
          "detail": "Tokens are not deducted for failed requests.",
          "source": "reader",
          "quote": "No, tokens are not deducted for failed requests.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Paid key does not unlock blocked sites",
          "detail": "Upgrading to a paid key raises throughput but does not give access to websites that block the service.",
          "source": "reader",
          "quote": "Upgrading from a free tier to a paid API key does not grant access to additional websites or bypass any site restrictions.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "5-minute cache",
          "detail": "Requests for the same URL within 5 minutes return cached content.",
          "source": "reader",
          "quote": "If you request the same URL within 5 minutes, the Reader API will return the cached content.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "API keys do not expire",
          "detail": "API keys have no expiration date.",
          "source": "reader",
          "quote": "No, our API keys do not have an expiration date.",
          "sourceUrl": "https://jina.ai/reader/"
        },
        {
          "title": "Order Form credits non-refundable",
          "detail": "Under the Terms & Conditions, purchased credits are not refundable or exchangeable.",
          "source": "legal",
          "quote": "The credits purchased by the client are not refundable nor exchangeable.",
          "sourceUrl": "https://jina.ai/legal"
        }
      ]
    },
    {
      "id": "parallel",
      "name": "Parallel Search API",
      "vendor": "Parallel Web Systems Inc.",
      "category": "search-api",
      "url": "https://parallel.ai",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Parallel Pricing – Pay-As-You-Go Web Search for AI Agents | Parallel",
          "url": "https://parallel.ai/pricing"
        },
        "docs_home": {
          "name": "Parallel API Overview",
          "url": "https://docs.parallel.ai/"
        },
        "docs_pricing": {
          "name": "Parallel API Pricing",
          "url": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        "rate_limits": {
          "name": "API Rate Limits",
          "url": "https://docs.parallel.ai/getting-started/rate-limits.md"
        },
        "faqs": {
          "name": "Parallel API FAQs",
          "url": "https://docs.parallel.ai/resources/faqs.md"
        },
        "search_modes": {
          "name": "Search Modes",
          "url": "https://docs.parallel.ai/search/modes.md"
        },
        "mcp": {
          "name": "Parallel MCP Server",
          "url": "https://docs.parallel.ai/integrations/mcp/quickstart.md"
        },
        "add_balance": {
          "name": "Add to Balance",
          "url": "https://docs.parallel.ai/service-api/balance/add-to-balance.md"
        },
        "extract_adv": {
          "name": "Advanced Extract Settings",
          "url": "https://docs.parallel.ai/extract/advanced-extract-settings.md"
        },
        "changelog": {
          "name": "Parallel API Changelog",
          "url": "https://docs.parallel.ai/resources/changelog.md"
        }
      },
      "unit": {
        "tag": "Per 1,000 requests",
        "definition": "Priced per request, not per token. A Search request includes 10 page results with excerpts; additional results are billed per 1,000. Extract is billed per 1,000 URLs.",
        "source": "pricing",
        "quote": "Parallel APIs are priced per request, not per token. You always know the exact cost of a query before you run it."
      },
      "free": {
        "summary": "Up to 5,000 requests per month for free; up to $80 at signup plus $5 in free credits per month. Qualified startups can apply for up to $250 in free credits. MCP web_search, web_fetch and web_decisions are free without an API key at lower rate limits.",
        "published": true,
        "source": "pricing",
        "quote": "Run up to 5,000 requests per month for free"
      },
      "plans": [
        {
          "id": "payg",
          "name": "Pay as you go",
          "priceUsd": null,
          "priceNote": "No monthly fee published; usage-based per request",
          "billing": "usage",
          "included": "Up to 5,000 requests per month free; up to $80 at signup + $5 in free credits per month",
          "source": "pricing",
          "quote": "Earn up to $80 at signup + $5 in free credits per month",
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Contact sales (Get a demo)",
          "billing": "usage",
          "included": "Zero Data Retention (ZDR), Data Protection Agreements, Single Sign-On, Custom rate limits, Early access to new products, Dedicated onboarding and technical support",
          "source": "pricing",
          "quote": "Built for scalable, reliable, enterprise workloads",
          "sourceUrl": "https://parallel.ai/pricing"
        }
      ],
      "rates": [
        {
          "item": "Search, turbo mode, per 1,000 requests (10 results)",
          "value": "$1",
          "numeric": 1,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "| Turbo     | $1                                     | $1                               | Latency-sensitive, high-volume lookups    | ~200ms  |",
          "verified": true,
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "item": "Search, fast mode, per 1,000 requests (10 results)",
          "value": "$1",
          "numeric": 1,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "| Fast      | $1                                     | $1                               | Interactive agents on a sub-second budget | ~700ms  |",
          "verified": true,
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "item": "Search, basic mode, per 1,000 requests (10 results)",
          "value": "$5",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "| Basic     | $5                                     | $1                               | Longer excerpts per source in one call    | ~1s     |",
          "verified": true,
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "item": "Search, advanced mode, per 1,000 requests (10 results)",
          "value": "$5",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "| Advanced  | $5                                     | $1                               | Multi-hop background research agents      | ~3s     |",
          "verified": true,
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "item": "Search, additional page results and excerpts beyond 10",
          "value": "$1 per 1,000 additional results",
          "numeric": 1,
          "unit": "USD/1,000 results",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Per 1,000 additional page results & excerpts | 1 |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        {
          "item": "Extract, per 1,000 URLs",
          "value": "$1",
          "numeric": 1,
          "unit": "USD/1,000 URLs",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Per 1,000 URLs | 1 |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        {
          "item": "Image Search, fast mode, per 1,000 requests (up to 20 results)",
          "value": "$1",
          "numeric": 1,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Per 1,000 `fast` requests | 1 |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        {
          "item": "Image Search, advanced mode, per 1,000 requests (up to 20 results)",
          "value": "$5",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "docs_pricing",
          "quote": "| Per 1,000 `advanced` requests | 5 |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        {
          "item": "Search API rate limit (default)",
          "value": "600 per min",
          "numeric": 600,
          "unit": "requests/min",
          "published": true,
          "source": "rate_limits",
          "quote": "| Search | 600 per min | Each POST to `/v1/search` |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/rate-limits.md"
        },
        {
          "item": "Extract API rate limit (default)",
          "value": "600 per min",
          "numeric": 600,
          "unit": "requests/min",
          "published": true,
          "source": "rate_limits",
          "quote": "| Extract | 600 per min | Each POST to `/v1/extract` |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/rate-limits.md"
        },
        {
          "item": "Image Search API rate limit (default)",
          "value": "600 per min",
          "numeric": 600,
          "unit": "requests/min",
          "published": true,
          "source": "rate_limits",
          "quote": "| Image Search | 600 per min | Each POST to `/v1/images/search` |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/getting-started/rate-limits.md"
        },
        {
          "item": "Free MCP (no API key) rate limit",
          "value": "Free, rate-limited access to `web_search`, `web_fetch`, and `web_decisions`",
          "unit": "",
          "published": false,
          "source": "mcp",
          "quote": "| No key | Free, rate-limited access to `web_search`, `web_fetch`, and `web_decisions` | Connect to `https://mcp.parallel.ai/mcp`. |",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/integrations/mcp/quickstart.md"
        },
        {
          "item": "Enterprise rate limits",
          "value": "Custom rate limits",
          "unit": "",
          "published": false,
          "source": "pricing",
          "quote": "- - Custom rate limits",
          "verified": true,
          "sourceUrl": "https://parallel.ai/pricing"
        },
        {
          "item": "Credit top-up via Add to Balance API",
          "value": "Between 1 and 10000 cents ($100.00) per call",
          "numeric": 100,
          "unit": "USD max per API call",
          "published": true,
          "source": "add_balance",
          "quote": "Amount in cents to charge and add to the balance. Must be between 1 and 10000 cents ($100.00).",
          "verified": true,
          "sourceUrl": "https://docs.parallel.ai/service-api/balance/add-to-balance.md"
        }
      ],
      "overage": {
        "policy": "pay-as-you-go",
        "summary": "Usage-based pricing per request from a prepaid credit balance, or by invoice (postpaid) for some organizations. Monthly spend limits only send a notification; they never block requests.",
        "source": "faqs",
        "quote": "Limits are notify-only; they never block requests."
      },
      "gotchas": [
        {
          "title": "Default Search mode is the $5 tier",
          "detail": "If mode is not set, Search requests default to advanced, which costs $5 per 1,000 requests.",
          "source": "search_modes",
          "quote": "If `mode` isn't set, requests default to `advanced`.",
          "sourceUrl": "https://docs.parallel.ai/search/modes.md"
        },
        {
          "title": "Per-result pricing beyond 10 results",
          "detail": "Each Search request includes 10 results; additional page results and excerpts cost $1 per 1,000.",
          "source": "docs_pricing",
          "quote": "Includes 10 results per request. Additional results: \\$1 / 1,000.",
          "sourceUrl": "https://docs.parallel.ai/getting-started/pricing.md"
        },
        {
          "title": "Spend limits do not stop usage",
          "detail": "Monthly spend limits email organization admins when reached and never block requests.",
          "source": "faqs",
          "quote": "When monthly spend reaches the limit, all organization admins receive an email. Limits are notify-only; they never block requests.",
          "sourceUrl": "https://docs.parallel.ai/resources/faqs.md"
        },
        {
          "title": "Turbo mode language support",
          "detail": "Turbo currently supports English and Japanese-language queries only.",
          "source": "search_modes",
          "quote": "Turbo currently supports English and Japanese-language queries.",
          "sourceUrl": "https://docs.parallel.ai/search/modes.md"
        },
        {
          "title": "EU endpoint limited to basic mode",
          "detail": "The EU endpoint supports only basic mode ($5 per 1,000 requests).",
          "source": "search_modes",
          "quote": "The EU endpoint at `https://eu.parallel.ai` supports only `basic` mode.",
          "sourceUrl": "https://docs.parallel.ai/search/modes.md"
        },
        {
          "title": "Rate limits count only resource-creating POSTs",
          "detail": "GET requests for results or status do not count against rate limits.",
          "source": "rate_limits",
          "quote": "Rate limits apply to POST requests that create new resources.",
          "sourceUrl": "https://docs.parallel.ai/getting-started/rate-limits.md"
        },
        {
          "title": "Training on inputs/outputs under standard terms",
          "detail": "Under standard Customer Terms, Parallel may use inputs and outputs, not linked to any individual, to train models; ZDR enterprise plans and EU-endpoint Search traffic are excluded.",
          "source": "faqs",
          "quote": "Enterprise plans with zero data retention exclude that use.",
          "sourceUrl": "https://docs.parallel.ai/resources/faqs.md"
        },
        {
          "title": "Startup credits",
          "detail": "Qualified startups can receive up to $250 in free credits.",
          "source": "pricing",
          "quote": "can receive up to $250 in free credits from Parallel",
          "sourceUrl": "https://parallel.ai/pricing"
        }
      ]
    },
    {
      "id": "linkup",
      "name": "Linkup",
      "vendor": "Linkup",
      "category": "search-api",
      "url": "https://www.linkup.so/",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Linkup - Pricing",
          "url": "https://www.linkup.so/pricing"
        },
        "docs_home": {
          "name": "Linkup Docs - Introduction",
          "url": "https://docs.linkup.so/"
        },
        "docs_pricing": {
          "name": "Linkup Docs - Pricing",
          "url": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        "rate_limits": {
          "name": "Linkup Docs - Rate Limits",
          "url": "https://docs.linkup.so/pages/documentation/platform/rate-limits.md"
        },
        "faq": {
          "name": "Linkup Docs - Frequently Asked Questions",
          "url": "https://docs.linkup.so/pages/faq/faq.md"
        },
        "changelog_usd": {
          "name": "Linkup Changelog - USD Pricing (May 2026)",
          "url": "https://docs.linkup.so/pages/changelog/usd-pricing.md"
        },
        "changelog_fetch_pro": {
          "name": "Linkup Changelog - Fetch Pro mode (August 2026)",
          "url": "https://docs.linkup.so/pages/changelog/fetch-pro-mode.md"
        },
        "fetch_overview": {
          "name": "Linkup Docs - Fetch overview",
          "url": "https://docs.linkup.so/pages/documentation/endpoints/fetch/overview.md"
        },
        "x402": {
          "name": "Linkup Docs - x402 Payment Protocol",
          "url": "https://docs.linkup.so/pages/documentation/platform/x402.md"
        },
        "llms_index": {
          "name": "Linkup Docs index (llms.txt)",
          "url": "https://docs.linkup.so/llms.txt"
        }
      },
      "unit": {
        "tag": "Per request",
        "definition": "Prepaid USD balance; each successful API request deducts an amount that depends on the endpoint and parameters (Search: depth and outputType; Fetch: mode, renderJs and schema; Research: reasoningDepth).",
        "source": "docs_pricing",
        "quote": "Each time you make a successful request to our API endpoints, an amount is subtracted from your account. The amount deducted per call depends on the endpoint and parameters:"
      },
      "free": {
        "summary": "Accounts created with a professional email address get $20 of credit on sign-up, and eligible accounts are topped back up to $20 each month. The pricing page describes this as 4,000 free queries.",
        "published": true,
        "source": "docs_pricing",
        "quote": "When you first sign up with a professional email address, your account is automatically credited with \\$20. We will top up eligible accounts back to \\$20 each month."
      },
      "plans": [
        {
          "id": "free",
          "name": "Free monthly credit",
          "priceUsd": 0,
          "priceNote": "Professional email address required; eligible accounts only",
          "billing": "monthly",
          "included": "$20 credited on sign-up, topped back up to $20 each month",
          "source": "docs_pricing",
          "quote": "When you first sign up with a professional email address, your account is automatically credited with \\$20. We will top up eligible accounts back to \\$20 each month.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "id": "pay-as-you-go",
          "name": "Pay as you go (prepaid balance)",
          "priceUsd": null,
          "priceNote": "Charged per request from a prepaid USD balance; see rates",
          "billing": "usage",
          "included": "Add money to your account in the Billing section; per-call amounts are deducted from the balance",
          "source": "docs_pricing",
          "quote": "You can add money to your account in the [Billing](https://app.linkup.so/organization/billing) section of the Linkup app.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Custom pricing; contact sales",
          "billing": "usage",
          "included": "Custom pricing models, personalized indexes, dedicated index refresh rate, private environment, premium features (IP whitelisting, higher refresh rate), ZDR / SOC 2 Type II / SLA, dedicated support",
          "source": "pricing",
          "quote": "- Custom pricing models\n- Build personalized indexes\n- Dedicated refresh rate of the index\n- Private environment",
          "sourceUrl": "https://www.linkup.so/pricing"
        }
      ],
      "rates": [
        {
          "item": "Search, flash/fast/standard depth, searchResults output, per request",
          "value": "$0.005 per request",
          "numeric": 0.005,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"flash\"` / `\"fast\"` / `\"standard\"` | `\"searchResults\"` | \\$0.005 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Search, flash/fast/standard depth, searchResults output, per 1,000 requests",
          "value": "$5 per 1,000 queries",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "faq",
          "quote": "`\"standard\"` queries cost \\$5 per 1,000 queries with `outputType: \"searchResults\"` (\\$6 per 1,000 with `\"sourcedAnswer\"` or `\"structured\"`).",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/faq/faq.md"
        },
        {
          "item": "Search, flash/fast/standard depth, sourcedAnswer or structured output, per request",
          "value": "$0.006 per request",
          "numeric": 0.006,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"flash\"` / `\"fast\"` / `\"standard\"` | `\"sourcedAnswer\"` / `\"structured\"` | \\$0.006 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Search, deep depth, searchResults output, per request",
          "value": "$0.05 per request",
          "numeric": 0.05,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"deep\"` | `\"searchResults\"` | \\$0.05 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Search, deep depth, searchResults output, per 1,000 requests",
          "value": "$50 per 1,000 queries ($55 per 1,000 with sourcedAnswer or structured)",
          "numeric": 50,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "faq",
          "quote": "`\"deep\"` queries cost \\$50 per 1,000 queries with `outputType: \"searchResults\"` (\\$55 per 1,000 with `\"sourcedAnswer\"` or `\"structured\"`).",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/faq/faq.md"
        },
        {
          "item": "Search, deep depth, sourcedAnswer or structured output, per request",
          "value": "$0.055 per request",
          "numeric": 0.055,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"deep\"` | `\"sourcedAnswer\"` / `\"structured\"` | \\$0.055 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, standard mode, no JS rendering, markdown only",
          "value": "$0.001 per call",
          "numeric": 0.001,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"standard\"` | `false` | \\$0.001 per call | \\$0.002 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, standard mode, no JS rendering, with schema (structured output)",
          "value": "$0.002 per call",
          "numeric": 0.002,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"standard\"` | `false` | \\$0.001 per call | \\$0.002 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, standard mode, JS rendering, markdown only",
          "value": "$0.005 per call",
          "numeric": 0.005,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"standard\"` | `true` | \\$0.005 per call | \\$0.006 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, standard mode, JS rendering, with schema",
          "value": "$0.006 per call",
          "numeric": 0.006,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"standard\"` | `true` | \\$0.005 per call | \\$0.006 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, pro mode, no JS rendering, markdown only",
          "value": "$0.005 per call",
          "numeric": 0.005,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"pro\"` | `false` | \\$0.005 per call | \\$0.006 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, pro mode, no JS rendering, with schema",
          "value": "$0.006 per call",
          "numeric": 0.006,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"pro\"` | `false` | \\$0.005 per call | \\$0.006 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, pro mode, JS rendering, markdown only",
          "value": "$0.01 per call",
          "numeric": 0.01,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"pro\"` | `true` | \\$0.01 per call | \\$0.011 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch, pro mode, JS rendering, with schema",
          "value": "$0.011 per call",
          "numeric": 0.011,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"pro\"` | `true` | \\$0.01 per call | \\$0.011 per call |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Fetch structured output (schema) surcharge",
          "value": "Flat $0.001 added to any mode/renderJs combination",
          "numeric": 0.001,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "Adding a `schema` for\n[structured output](https://docs.linkup.so/pages/documentation/endpoints/fetch/overview.md#structured-output)\nadds a flat \\$0.001 on top of any combination.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Research, reasoningDepth S",
          "value": "$0.25 per call",
          "numeric": 0.25,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"S\"` | \\$0.25 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Research, reasoningDepth M",
          "value": "$0.50 per call",
          "numeric": 0.5,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"M\"` | \\$0.50 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Research, reasoningDepth L",
          "value": "$1.50 per call",
          "numeric": 1.5,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"L\"` | \\$1.50 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Research, reasoningDepth XL",
          "value": "$2.50 per call",
          "numeric": 2.5,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "| `\"XL\"` | \\$2.50 |",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Extract (closed beta), per task",
          "value": "Variable, scales with crawl complexity; most completed tasks fall in the $2–10 range",
          "unit": "USD/task",
          "published": true,
          "source": "docs_pricing",
          "quote": "cost is variable and scales with crawl complexity. Most completed tasks fall in the **\\$2–10** range.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Extract minimum account balance to submit a task",
          "value": "$10",
          "numeric": 10,
          "unit": "USD",
          "published": true,
          "source": "docs_pricing",
          "quote": "A minimum account balance of **\\$10** is required to submit an extract task.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Tasks (batch) endpoint",
          "value": "Billed exactly like the corresponding direct Search, Fetch, Research or Extract call",
          "published": true,
          "source": "docs_pricing",
          "quote": "Each task is billed exactly like the corresponding direct **Search**, **Fetch**, **Research**, or **Extract** call.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "x402 (USDC on Base) minimum charge per request",
          "value": "$0.01 minimum per request; same per-request costs as API key billing",
          "numeric": 0.01,
          "unit": "USD/request",
          "published": true,
          "source": "docs_pricing",
          "quote": "x402 pricing follows the same per-request costs listed above. A minimum charge of **\\$0.01 per request** applies.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "x402 flat rate (search and fetch endpoints)",
          "value": "$0.01 per request",
          "numeric": 0.01,
          "unit": "USD/request",
          "published": true,
          "source": "x402",
          "quote": "All x402-enabled endpoints are billed at a flat rate of **\\$0.01 per request**.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/x402.md"
        },
        {
          "item": "Rate limit, Search and Fetch endpoints",
          "value": "10 queries per second per organization",
          "numeric": 10,
          "unit": "requests/second",
          "published": true,
          "source": "rate_limits",
          "quote": "For our [**Search**](https://docs.linkup.so/pages/documentation/endpoints/search/overview.md) and [**Fetch**](https://docs.linkup.so/pages/documentation/endpoints/fetch/overview.md) endpoints, our rate limits are currently set at `10 queries per second` per organization.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/rate-limits.md"
        },
        {
          "item": "Rate limit, x402 requests",
          "value": "Applied per IP address instead of per organization",
          "published": false,
          "source": "rate_limits",
          "quote": "For [x402](https://docs.linkup.so/pages/documentation/platform/x402.md) requests, rate limits are applied per IP address instead of per organization.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/rate-limits.md"
        },
        {
          "item": "Rate limit, Research endpoint",
          "value": "Not stated; rate-limit page covers Search and Fetch only",
          "published": false,
          "source": "rate_limits",
          "quote": "If you need higher rate limits, please reach out to [contact@linkup.so](mailto:contact@linkup.so) to discuss Custom plans.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/rate-limits.md"
        },
        {
          "item": "Bulk top-up bonus credits",
          "value": "Extra credits at $1,000 (10%), $5,000 (15%) and $10,000 (20%)",
          "unit": "percent bonus",
          "published": true,
          "source": "changelog_usd",
          "quote": "Bulk top-ups earn extra credits at three thresholds: \\$1,000 (10%), \\$5,000 (15%), and \\$10,000 (20%).",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/changelog/usd-pricing.md"
        },
        {
          "item": "Minimum top-up",
          "value": "Not stated; \"You can add money to your account in the Billing section of the Linkup app.\"",
          "published": false,
          "source": "docs_pricing",
          "quote": "You can add money to your account in the [Billing](https://app.linkup.so/organization/billing) section of the Linkup app.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "item": "Credit expiry",
          "value": "Not stated",
          "published": false,
          "source": "docs_pricing",
          "quote": "You can view your current consumption in the [Billing](https://app.linkup.so/organization/billing) section of the Linkup app.",
          "verified": true,
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "Usage is deducted from a prepaid balance. When the balance runs out, the API responds with an HTTP 429 error.",
        "source": "docs_pricing",
        "quote": "If your account runs out, the API will respond with a `429` HTTP error."
      },
      "gotchas": [
        {
          "title": "Deep search costs 10x standard",
          "detail": "Deep search costs $0.05 per request ($0.055 with sourcedAnswer or structured), compared with $0.005 for flash, fast and standard.",
          "source": "docs_pricing",
          "quote": "| `\"deep\"` | `\"searchResults\"` | \\$0.05 |",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "LLM premium on answer and structured outputs",
          "detail": "sourcedAnswer and structured outputs invoke an LLM and carry a premium over raw searchResults.",
          "source": "docs_pricing",
          "quote": "`\"sourcedAnswer\"` and `\"structured\"` invoke an LLM to compose or shape the response and carry a small premium over raw `\"searchResults\"`.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "JS rendering and pro mode raise Fetch price",
          "detail": "Fetch costs $0.001 per call in standard mode without JS rendering. JS rendering or pro mode costs $0.005, and both together cost $0.01. A schema adds $0.001 to any combination.",
          "source": "docs_pricing",
          "quote": "Cost depends on `mode` and `renderJs`.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "Fetch file types and size limits",
          "detail": "Fetch supports HTML and PDF only. HTML pages over 20 MB and PDFs over 100 MB return a 400 error.",
          "source": "fetch_overview",
          "quote": "HTML pages over 20 MB and PDFs over 100 MB return a `400` error.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/endpoints/fetch/overview.md"
        },
        {
          "title": "Free monthly credit requires a professional email",
          "detail": "The $20 sign-up credit and monthly top-up apply to accounts created with a professional email address (eligible accounts).",
          "source": "docs_pricing",
          "quote": "When you first sign up with a professional email address, your account is automatically credited with \\$20.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "No charge for errors",
          "detail": "No credit is deducted when an error occurs, including when nothing relevant is found.",
          "source": "docs_pricing",
          "quote": "No credit is subtracted when an error occurs, whether that is due to a missing parameter, an internal server error, or because we were unable to find anything relevant to your query.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "Extract is closed beta with variable cost",
          "detail": "Extract cost scales with crawl complexity, most tasks cost $2–10, and a $10 minimum balance is required to submit a task. Failed tasks are not charged.",
          "source": "docs_pricing",
          "quote": "No credit is deducted for failed tasks. A minimum account balance of **\\$10** is required to submit an extract task.",
          "sourceUrl": "https://docs.linkup.so/pages/documentation/platform/pricing.md"
        },
        {
          "title": "Startup credits by application",
          "detail": "Startups can apply for $5000 in free credits.",
          "source": "pricing",
          "quote": "Apply for $5000 in free credits for startups",
          "sourceUrl": "https://www.linkup.so/pricing"
        },
        {
          "title": "Pricing switched from EUR to USD in May 2026",
          "detail": "Pricing is now in USD, and EUR balances were converted at 1:1. The monthly free top-up went from $5 to $20.",
          "source": "changelog_usd",
          "quote": "Linkup API pricing is now denominated in **USD**, with a 1:1 conversion across per-call rates and existing balances — same numbers, new currency symbol.",
          "sourceUrl": "https://docs.linkup.so/pages/changelog/usd-pricing.md"
        }
      ]
    },
    {
      "id": "perplexity-sonar",
      "name": "Perplexity Sonar API",
      "vendor": "Perplexity AI",
      "category": "search-api",
      "url": "https://docs.perplexity.ai",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Pricing (Perplexity API docs)",
          "url": "https://docs.perplexity.ai/getting-started/pricing"
        },
        "blog": {
          "name": "Introducing the Sonar Pro API by Perplexity",
          "url": "https://www.perplexity.ai/hub/blog/introducing-the-sonar-pro-api"
        },
        "llms": {
          "name": "Perplexity API docs index (llms.txt)",
          "url": "https://docs.perplexity.ai/llms.txt"
        },
        "migrate": {
          "name": "Migrate from Sonar to the Agent API",
          "url": "https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/overview.md"
        },
        "howto": {
          "name": "How to migrate from Sonar",
          "url": "https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/how-to.md"
        },
        "rate": {
          "name": "Rate Limits & Usage Tiers",
          "url": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        "faq": {
          "name": "Frequently Asked Questions",
          "url": "https://docs.perplexity.ai/docs/resources/faq.md"
        },
        "billing": {
          "name": "Projects & Billing",
          "url": "https://docs.perplexity.ai/docs/getting-started/projects.md"
        },
        "router": {
          "name": "Orchestrator Models & Pricing",
          "url": "https://docs.perplexity.ai/docs/router/models.md"
        }
      },
      "unit": {
        "tag": "Per request",
        "definition": "Search API charges for each successful POST /search request, not for each query in the request. A successful request containing an array of up to five queries is one billing unit.",
        "source": "pricing",
        "quote": "Billing unit: Search API charges for each successful `POST /search` request, not for each query in the request. A successful request containing an array of up to five queries is one billing unit."
      },
      "free": {
        "summary": "No free credits stated. Credits are purchased in advance and used for API calls.",
        "published": false,
        "source": "billing",
        "quote": "Credits are purchased in advance and used for API calls"
      },
      "plans": [
        {
          "id": "search-api-standard",
          "name": "Search API (standard)",
          "priceUsd": 5,
          "priceNote": "per 1,000 successful requests",
          "billing": "usage",
          "included": "Ranked web results as JSON, with page text extracted into each result's snippet. No model, no generated answer, no token billing.",
          "source": "pricing",
          "quote": "Search API | $5.00 | Ranked web results as JSON, with page text extracted into each result's `snippet`. No model, no generated answer, no token billing.",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "id": "search-api-fast",
          "name": "Search API with Fast Search",
          "priceUsd": 1,
          "priceNote": "per 1,000 successful requests",
          "billing": "usage",
          "included": "Lower-latency results in the same response format. Set search_type: \"fast\".",
          "source": "pricing",
          "quote": "Search API with [Fast Search](https://docs.perplexity.ai/docs/search/fast-search.md) | $1.00 | Lower-latency results in the same response format. Set `search_type: \"fast\"`",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "id": "agent-api",
          "name": "Agent API (replacement for Sonar Chat Completions)",
          "priceUsd": null,
          "priceNote": "Per token at each model's rates, plus tool fees",
          "billing": "usage",
          "included": "Per token, at each model's rates, plus tool fees. Most tools bill per call; sandbox bills per session.",
          "source": "pricing",
          "quote": "Agent API: per token, at each model's rates, plus tool fees. Most tools bill per call; `sandbox` bills per session, plus each SDK search query made inside it.",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        }
      ],
      "rates": [
        {
          "item": "Search API, standard, per 1,000 requests",
          "value": "$5.00 per 1K requests",
          "numeric": 5,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "One `POST /search` with one query, up to 20 results | 1 | $5.00 ÷ 1,000 = $0.005",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Search API, Fast Search, per 1,000 requests",
          "value": "$1.00 per 1K requests",
          "numeric": 1,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "pricing",
          "quote": "One `POST /search` with one query and `search_type: \"fast\"` | 1 | $1.00 ÷ 1,000 = $0.001",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API web_search tool (standard)",
          "value": "$0.0025 per invocation; $2.50 per 1,000 invocations",
          "numeric": 0.0025,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "web_search (standard) | $0.0025 per invocation | Standard web search with `search_type: \"web\"`. $2.50 per 1,000 invocations",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API web_search tool (Fast Search)",
          "value": "$0.001 per invocation; $1.00 per 1,000 invocations",
          "numeric": 0.001,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "web_search (Fast Search) | $0.001 per invocation | The same tool with `search_type: \"fast\"`. $1.00 per 1,000 invocations.",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API fetch_url tool (content extraction)",
          "value": "$0.0005 per invocation",
          "numeric": 0.0005,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "fetch_url | $0.0005 per invocation | Fetches and extracts content from specific URLs",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API image_search tool",
          "value": "$0.0025 per successful invocation; $2.50 per 1,000 successful invocations",
          "numeric": 0.0025,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "image_search | $0.0025 per successful invocation | Finds structured image results with domain, format, and safe-search filters. $2.50 per 1,000 successful invocations",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API people_search tool",
          "value": "$0.005 per invocation; $5 per 1,000 invocations",
          "numeric": 0.005,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "people_search | $0.005 per invocation | Looks up professionals, employees, and people. $5 per 1,000 tool invocations",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API finance_search tool",
          "value": "$0.005 per invocation; $5 per 1,000 invocations",
          "numeric": 0.005,
          "unit": "USD/invocation",
          "published": true,
          "source": "pricing",
          "quote": "finance_search | $0.005 per invocation | Retrieves financial data and market information. $5 per 1,000 tool invocations",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Agent API sandbox session",
          "value": "$0.03 per session (20-minute billing window); SDK search queries inside it $0.0025 per request",
          "numeric": 0.03,
          "unit": "USD/session",
          "published": true,
          "source": "pricing",
          "quote": "sandbox | $0.03 per session | Isolated container for executing code during an Agent API request. A session covers up to 20 minutes of active use for billing purposes",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "item": "Search API rate limit (all tiers)",
          "value": "50 query units per second; burst capacity 50 query units",
          "numeric": 50,
          "unit": "query units/sec",
          "published": true,
          "source": "rate",
          "quote": "POST `/search` | 50 query units per second | 50 query units",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 0",
          "value": "1 QPS",
          "numeric": 1,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 0 | 1 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 1",
          "value": "3 QPS",
          "numeric": 3,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 1 | 3 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 2",
          "value": "8 QPS",
          "numeric": 8,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 2 | 8 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 3",
          "value": "17 QPS",
          "numeric": 17,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 3 | 17 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 4",
          "value": "33 QPS",
          "numeric": 33,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 4 | 33 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Agent API request limit, Tier 5",
          "value": "33 QPS",
          "numeric": 33,
          "unit": "requests/sec",
          "published": true,
          "source": "rate",
          "quote": "Tier 5 | 33 QPS",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Usage tier thresholds (cumulative credits purchased)",
          "value": "Tier 0 $0; Tier 1 $50+; Tier 2 $250+; Tier 3 $500+; Tier 4 $1,000+; Tier 5 $5,000+",
          "unit": "USD cumulative",
          "published": true,
          "source": "rate",
          "quote": "Tiers are based on cumulative purchases across your account lifetime, not current balance.",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "item": "Minimum credit top-up",
          "value": "Not stated. You can purchase additional credits at any time using the Buy more credits link.",
          "unit": "USD",
          "published": false,
          "source": "billing",
          "quote": "You can purchase additional credits at any time using the **Buy more credits** link.",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/getting-started/projects.md"
        },
        {
          "item": "Credit expiry",
          "value": "Not stated.",
          "unit": "",
          "published": false,
          "source": "billing",
          "quote": "Credits are purchased in advance and used for API calls",
          "verified": true,
          "sourceUrl": "https://docs.perplexity.ai/docs/getting-started/projects.md"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "Prepaid credits. If you run out of credits, your API keys are blocked until you add to your credit balance. Auto reload can add credits automatically when the balance drops below a threshold.",
        "source": "billing",
        "quote": "If you run out of credits, your API keys will be blocked until you add to your credit balance. Auto reload prevents this by automatically adding credits when your balance drops below a threshold."
      },
      "gotchas": [
        {
          "title": "Sonar Chat Completions support ended",
          "detail": "Sonar Chat Completions support ended on September 27, 2026. Synchronous and streaming requests are being reformulated as Agent API requests; asynchronous Sonar requests are no longer supported.",
          "source": "migrate",
          "quote": "Sonar Chat Completions support ended on September 27, 2026. Synchronous and streaming requests keep working: they are being reformulated as Agent API requests, rolling out gradually by model.",
          "sourceUrl": "https://docs.perplexity.ai/docs/agent-api/migrate-from-sonar/overview.md"
        },
        {
          "title": "Billed even with zero results",
          "detail": "A successful Search API response is billed even when it returns no results. Invalid requests, rate-limited requests, and upstream failures are not billed.",
          "source": "pricing",
          "quote": "Invalid requests, rate-limited requests, and upstream failures are not billed. A successful response is billed even when it returns no results.",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "title": "Multi-query requests: one billing unit, several rate-limit units",
          "detail": "A successful request containing five queries is one billable Search API request but consumes five rate-limit units.",
          "source": "rate",
          "quote": "A successful request containing five queries is one billable Search API request, but it consumes five rate-limit units.",
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "title": "Extracted text amount does not change Search API price",
          "detail": "The amount of extracted text (max_tokens, max_tokens_per_page) does not change the price.",
          "source": "pricing",
          "quote": "The amount of extracted text (`max_tokens`, `max_tokens_per_page`) does not change the price.",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "title": "Agent API tool fees are on top of token costs",
          "detail": "Tool costs are separate from model token costs.",
          "source": "pricing",
          "quote": "Tool costs are separate from model token costs.",
          "sourceUrl": "https://docs.perplexity.ai/getting-started/pricing"
        },
        {
          "title": "Polling counts against Agent API request limit",
          "detail": "GET polls, cancel, resume and file downloads all count against the shared request limit.",
          "source": "rate",
          "quote": "Polling is not free: at 1 QPS, polling once a second leaves no room for new requests.",
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        },
        {
          "title": "Out-of-credit requests return 402",
          "detail": "If your account runs out of credits, requests can return 402 Payment Required.",
          "source": "faq",
          "quote": "If your account runs out of credits, requests can return `402 Payment Required` instead.",
          "sourceUrl": "https://docs.perplexity.ai/docs/resources/faq.md"
        },
        {
          "title": "Search API rate limits do not scale with tier",
          "detail": "Search rate limits are independent of your usage tier and apply across all accounts.",
          "source": "rate",
          "quote": "Search rate limits are independent of your usage tier and apply consistently across all accounts using the same leaky bucket algorithm.",
          "sourceUrl": "https://docs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md"
        }
      ]
    },
    {
      "id": "scrapingbee",
      "name": "ScrapingBee",
      "vendor": "ScrapingBee",
      "category": "search-api",
      "url": "https://www.scrapingbee.com/",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Pricing - ScrapingBee Web Scraping API",
          "url": "https://www.scrapingbee.com/pricing/"
        },
        "docs": {
          "name": "HTML API | ScrapingBee (Documentation)",
          "url": "https://www.scrapingbee.com/documentation/"
        },
        "faq": {
          "name": "ScrapingBee FAQ",
          "url": "https://www.scrapingbee.com/faq/"
        },
        "google": {
          "name": "Google API | ScrapingBee Documentation",
          "url": "https://www.scrapingbee.com/documentation/google-api/"
        },
        "fast": {
          "name": "Fast Search API | ScrapingBee Documentation",
          "url": "https://www.scrapingbee.com/documentation/fast-search/"
        }
      },
      "unit": {
        "tag": "Per credit",
        "definition": "Plans include a monthly number of API credits. Requests start at 1 credit each, and credits are valid for one month and don't roll over.",
        "source": "pricing",
        "quote": "API credits are valid for one month and don't roll over. Requests start at 1 credit each."
      },
      "free": {
        "summary": "1,000 free API credits, no credit card required.",
        "published": true,
        "source": "pricing",
        "quote": "Get access to 1,000 free scraper API credits, no credit card required!"
      },
      "plans": [
        {
          "id": "hobby",
          "name": "Hobby",
          "priceUsd": 19,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "75,000 API credits; 25 concurrent requests; JavaScript rendering, rotating & premium proxies, geotargeting, screenshots & extraction rules, dedicated scraping APIs included",
          "source": "pricing",
          "quote": "Hobby $19/mo - API Credits: 75,000 - Concurrent requests: 25",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "freelance",
          "name": "Freelance",
          "priceUsd": 49,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "250,000 API credits; 50 concurrent requests; all scraping features and dedicated scraping APIs included",
          "source": "pricing",
          "quote": "Freelance $49/mo - API Credits: 250,000 - Concurrent requests: 50",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "startup",
          "name": "Startup",
          "priceUsd": 99,
          "priceNote": "Marked Recommended; prices exclude VAT",
          "billing": "monthly",
          "included": "1,000,000 API credits; 100 concurrent requests; all scraping features and dedicated scraping APIs included",
          "source": "pricing",
          "quote": "Startup (Recommended) ... $99/mo - API Credits: 1,000,000 - Concurrent requests: 100",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "business",
          "name": "Business",
          "priceUsd": 249,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "3,000,000 API credits; 200 concurrent requests; priority email support, dedicated account manager, team management",
          "source": "pricing",
          "quote": "Business $249/mo - API Credits: 3,000,000 - Concurrent requests: 200",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "business-plus",
          "name": "Business +",
          "priceUsd": 599,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "8,000,000 API credits; 400 concurrent requests; priority email support, dedicated account manager, team management",
          "source": "pricing",
          "quote": "Business + $599/mo - API Credits: 8,000,000 - Concurrent requests: 400",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "enterprise-14",
          "name": "Enterprise 14",
          "priceUsd": 999,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "14,000,000 API credits; 500 concurrent requests",
          "source": "pricing",
          "quote": "Enterprise 14 $999/mo - API Credits: 14,000,000 - Concurrent requests: 500",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "enterprise-24",
          "name": "Enterprise 24",
          "priceUsd": 1599,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "24,000,000 API credits; 600 concurrent requests",
          "source": "pricing",
          "quote": "Enterprise 24 $1,599/mo - API Credits: 24,000,000 - Concurrent requests: 600",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "enterprise-41",
          "name": "Enterprise 41",
          "priceUsd": 2399,
          "priceNote": "Marked Recommended; prices exclude VAT",
          "billing": "monthly",
          "included": "41,000,000 API credits; 700 concurrent requests",
          "source": "pricing",
          "quote": "Enterprise 41 (Recommended) ... $2,399/mo - API Credits: 41,000,000 - Concurrent requests: 700",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "enterprise-69",
          "name": "Enterprise 69",
          "priceUsd": 3599,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "69,000,000 API credits; 800 concurrent requests",
          "source": "pricing",
          "quote": "Enterprise 69 $3,599/mo - API Credits: 69,000,000 - Concurrent requests: 800",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "id": "enterprise-120",
          "name": "Enterprise 120",
          "priceUsd": 5799,
          "priceNote": "Prices exclude VAT",
          "billing": "monthly",
          "included": "120,000,000 API credits; 900 concurrent requests",
          "source": "pricing",
          "quote": "Enterprise 120 $5,799/mo - API Credits: 120,000,000 - Concurrent requests: 900",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        }
      ],
      "rates": [
        {
          "item": "Base request (minimum cost)",
          "value": "Requests start at 1 credit each",
          "numeric": 1,
          "unit": "credits/request",
          "published": true,
          "source": "pricing",
          "quote": "Requests start at 1 credit each.",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "JavaScript rendering (on by default)",
          "value": "5 credits per request",
          "numeric": 5,
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "This is the default behavior and costs 5 credits per request.",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "Premium proxy, no JavaScript rendering",
          "value": "10 credits per request",
          "numeric": 10,
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "If used without [JavaScript rendering](#javascript-rendering) it will cost **10 credits**",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "Premium proxy with JavaScript rendering",
          "value": "25 credits per request",
          "numeric": 25,
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "Each request with this parameter will count as **25 API credits with Javascript enabled.**",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "Stealth proxy (JavaScript rendering required)",
          "value": "75 credits per successful call",
          "numeric": 75,
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "Each successful API call using this option will cost 75 credits",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "AI extraction surcharge (ai_query / ai_extract_rules)",
          "value": "5 extra credits on top of the regular request cost",
          "numeric": 5,
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "The AI extraction parameters (`ai_query` and `ai_extract_rules`) incur an additional 5 credits cost on top of the regular [API cost]",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "Auto-Mode",
          "value": "1, 5, 10, 25 or 75 credits depending on the configuration that worked; 0 credits if every configuration fails",
          "unit": "credits/request",
          "published": true,
          "source": "docs",
          "quote": "costing 1, 5, 10, 25 or 75 credits depending on the configuration that worked. If every configuration fails, the request **costs 0 credits**.",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "item": "Concurrent requests - Hobby",
          "value": "25",
          "numeric": 25,
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 25",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Concurrent requests - Freelance",
          "value": "50",
          "numeric": 50,
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 50",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Concurrent requests - Startup",
          "value": "100",
          "numeric": 100,
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 100",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Concurrent requests - Business",
          "value": "200",
          "numeric": 200,
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 200",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Concurrent requests - Business +",
          "value": "400",
          "numeric": 400,
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 400",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Concurrent requests - Enterprise 14 / 24 / 41 / 69 / 120",
          "value": "500 / 600 / 700 / 800 / 900",
          "unit": "concurrent requests",
          "published": true,
          "source": "pricing",
          "quote": "Concurrent requests: 500 ... Concurrent requests: 600 ... Concurrent requests: 700 ... Concurrent requests: 800 ... Concurrent requests: 900",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Requests per second / per minute",
          "value": "The number of requests that can be sent at the same time.",
          "unit": "",
          "published": false,
          "source": "pricing",
          "quote": "Concurrent requests (The number of requests that can be sent at the same time.)",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "Overage / pay-as-you-go price",
          "value": "Need more monthly credits or higher concurrency? Talk to Product Expert",
          "published": false,
          "source": "pricing",
          "quote": "Need more monthly credits or higher concurrency?",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "item": "File download size limit",
          "value": "2 MB per request",
          "numeric": 2,
          "unit": "MB/request",
          "published": true,
          "source": "docs",
          "quote": "There is a **2 MB** limit per request.",
          "verified": true,
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        }
      ],
      "overage": {
        "policy": "not published",
        "summary": "No overage or top-up price is shown. For more monthly credits or higher concurrency, the vendor says to talk to a product expert.",
        "source": "pricing",
        "quote": "Need more monthly credits or higher concurrency?"
      },
      "gotchas": [
        {
          "title": "JavaScript rendering is on by default (5 credits)",
          "detail": "Requests use a headless browser by default, which costs 5 credits per request. Set render_js=false to turn it off.",
          "source": "docs",
          "quote": "This is the default behavior and costs 5 credits per request.",
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "title": "Credits expire monthly",
          "detail": "API credits are valid for one month and don't roll over.",
          "source": "pricing",
          "quote": "API credits are valid for one month and don't roll over.",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "title": "Proxy tiers multiply cost",
          "detail": "Premium proxies cost 10 or 25 credits depending on JS rendering; stealth proxies cost 75 credits per successful call.",
          "source": "pricing",
          "quote": "Each successful request with Premium proxies costs 10 or 25 credits depending on JS rendering.",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        },
        {
          "title": "AI extraction surcharge",
          "detail": "ai_query and ai_extract_rules add 5 credits on top of the regular request cost.",
          "source": "docs",
          "quote": "incur an additional 5 credits cost on top of the regular [API cost]",
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "title": "Auto-Mode is uncapped unless max_cost is set",
          "detail": "If max_cost is omitted, Auto-Mode is uncapped and may reach the most expensive configuration (75 credits).",
          "source": "docs",
          "quote": "If omitted, Auto-Mode is uncapped and may reach the most expensive configuration.",
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "title": "HTML to PDF not available",
          "detail": "HTML to PDF conversion is listed as coming soon.",
          "source": "docs",
          "quote": "Coming soon.",
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "title": "2 MB file limit",
          "detail": "Images, PDFs and other non-HTML files are downloaded with a 2 MB limit per request.",
          "source": "docs",
          "quote": "There is a **2 MB** limit per request.",
          "sourceUrl": "https://www.scrapingbee.com/documentation/"
        },
        {
          "title": "Prices exclude VAT",
          "detail": "All prices are exclusive of VAT.",
          "source": "pricing",
          "quote": "All prices are exclusive of VAT.",
          "sourceUrl": "https://www.scrapingbee.com/pricing/"
        }
      ]
    },
    {
      "id": "scraperapi",
      "name": "ScraperAPI",
      "vendor": "ScraperAPI LLC",
      "category": "search-api",
      "url": "https://www.scraperapi.com",
      "checked": "2026-10-30",
      "sources": {
        "pricing": {
          "name": "Compare Plans and Get Started for Free - ScraperAPI Pricing",
          "url": "https://www.scraperapi.com/pricing/"
        },
        "pricing_md": {
          "name": "ScraperAPI Pricing (Markdown for AI agents)",
          "url": "https://scraperapi.com/pricing.md"
        },
        "credits_doc": {
          "name": "Credits and Requests costs - ScraperAPI Docs",
          "url": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs"
        },
        "faq_billing": {
          "name": "Plans & Billing - ScraperAPI Docs FAQ",
          "url": "https://docs.scraperapi.com/resources/faq/plans-and-billing.md"
        },
        "cost_control": {
          "name": "Cost Control - ScraperAPI Docs",
          "url": "https://docs.scraperapi.com/control-and-optimization/cost-control.md"
        },
        "growth_notes": {
          "name": "More Credits, Higher Limits: Introducing New Growth Plans on ScraperAPI (release notes, May 2026)",
          "url": "https://docs.scraperapi.com/resources/release-notes/may-2026/more-credits-higher-limits-introducing-new-growth-plans-on-scraperapi.md"
        },
        "billing_notes_2025": {
          "name": "Updates to our Terms of Service and billing policies (release notes, Nov 2025)",
          "url": "https://docs.scraperapi.com/resources/release-notes/november-2025/updates-to-our-terms-of-service-and-billing-policies.md"
        },
        "docs_index": {
          "name": "ScraperAPI docs llms.txt index",
          "url": "https://docs.scraperapi.com/llms.txt"
        }
      },
      "unit": {
        "tag": "Per credit",
        "definition": "Credits are used for each successful request. A standard page costs 1 credit. The number of credits depends on the domain and the parameters sent with the request.",
        "source": "pricing_md",
        "quote": "Credits are consumed for each successful request, varying by domain and parameters."
      },
      "free": {
        "summary": "7-day trial with 5,000 API credits, no credit card required. After the trial, a free plan gives 1,000 API credits per month with 5 concurrent threads.",
        "published": true,
        "source": "pricing_md",
        "quote": "Yes. Start with a 7-day trial and 5,000 API credits, no credit card required. When the trial ends, you can move to the free plan with 1,000 credits a month and 5 concurrent threads."
      },
      "plans": [
        {
          "id": "free",
          "name": "Free Plan",
          "priceUsd": 0,
          "priceNote": "No credit card required",
          "billing": "monthly",
          "included": "1,000 API credits per month, 5 concurrent threads",
          "source": "pricing_md",
          "quote": "Credits: 1,000 per month; Price: $0 (no credit card required); Concurrency: 5 concurrent threads",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "hobby",
          "name": "Hobby",
          "priceUsd": 49,
          "priceNote": "$44.10/month billed annually ($529.20/year)",
          "billing": "monthly",
          "included": "100,000 API credits per month, 20 concurrent threads, geotargeting US & EU, analytics history last 30 days",
          "source": "pricing_md",
          "quote": "Price: $49/month or $44.10/month billed annually ($529.20/year, save $58.80)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "startup",
          "name": "Startup",
          "priceUsd": 149,
          "priceNote": "$134.10/month billed annually ($1,609.20/year)",
          "billing": "monthly",
          "included": "1,000,000 API credits per month, 50 concurrent threads, geotargeting US & EU, analytics history last 30 days",
          "source": "pricing_md",
          "quote": "Price: $149/month or $134.10/month billed annually ($1,609.20/year, save $178.80)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "business",
          "name": "Business",
          "priceUsd": 299,
          "priceNote": "$269.10/month billed annually ($3,229.20/year)",
          "billing": "monthly",
          "included": "3,000,000 API credits per month, 100 concurrent threads, country-level geotargeting, unlimited analytics history",
          "source": "pricing_md",
          "quote": "Price: $299/month or $269.10/month billed annually ($3,229.20/year, save $358.80)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "scaling",
          "name": "Scaling",
          "priceUsd": 475,
          "priceNote": "$427.50/month billed annually ($5,130/year)",
          "billing": "monthly",
          "included": "5,000,000 API credits per month, 200 concurrent threads, country-level geotargeting, unlimited analytics history, pay as you go",
          "source": "pricing_md",
          "quote": "Price: $475/month or $427.50/month billed annually ($5,130/year, save $570)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "professional",
          "name": "Professional",
          "priceUsd": 975,
          "priceNote": "$877.50/month billed annually ($10,530/year). Limited offer: +250K bonus credits",
          "billing": "monthly",
          "included": "10,500,000 API credits per month, 300 concurrent threads, country-level geotargeting, priority support, pay as you go",
          "source": "pricing_md",
          "quote": "Price: $975/month or $877.50/month billed annually ($10,530/year, save $1,170)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "advanced",
          "name": "Advanced",
          "priceUsd": 1975,
          "priceNote": "$1,777.50/month billed annually ($21,330/year). Limited offer: +500K bonus credits",
          "billing": "monthly",
          "included": "21,500,000 API credits per month, 500 concurrent threads, country-level geotargeting, priority routing, pay as you go",
          "source": "pricing_md",
          "quote": "Price: $1,975/month or $1,777.50/month billed annually ($21,330/year, save $2,370)",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "id": "enterprise",
          "name": "Enterprise",
          "priceUsd": null,
          "priceNote": "Custom pricing; contact sales",
          "billing": "monthly",
          "included": "22,000,000+ API credits per month, 500+ concurrent threads, dedicated support team, Slack support, custom volume discounts",
          "source": "pricing_md",
          "quote": "Credits: 22,000,000+ per month; Price: Custom; Concurrency: 500+ concurrent threads",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        }
      ],
      "rates": [
        {
          "item": "Standard page request",
          "value": "1 credit per request",
          "numeric": 1,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Standard page | 1 credit | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "E-commerce request (Amazon, Walmart, eBay)",
          "value": "5 credits per request",
          "numeric": 5,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| E-commerce (Amazon, Walmart, eBay) | 5 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "SERP request (Google, Bing, including subdomains)",
          "value": "25 credits per request",
          "numeric": 25,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| SERP (Google, Bing) | 25 credits | Per request, including subdomains |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Social request (LinkedIn)",
          "value": "30 credits per request",
          "numeric": 30,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Social (LinkedIn) | 30 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Bot-protection bypass (Cloudflare, Cloudflare Turnstile, DataDome, PerimeterX/HUMAN, Akamai)",
          "value": "10 credits",
          "numeric": 10,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Bot-protection bypass | 10 credits | Cloudflare, Cloudflare Turnstile, DataDome, PerimeterX/HUMAN, Akamai |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "JS rendering (render=true)",
          "value": "10 credits per request",
          "numeric": 10,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| JS rendering (`render=true`) | 10 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Premium proxies (premium=true)",
          "value": "10 credits per request",
          "numeric": 10,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Premium proxies (`premium=true`) | 10 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Screenshot (screenshot=true)",
          "value": "10 credits per request",
          "numeric": 10,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Screenshot (`screenshot=true`) | 10 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Premium proxies + JS rendering",
          "value": "25 credits per request",
          "numeric": 25,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Premium proxies + JS rendering | 25 credits | Per request |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Ultra Premium (ultra_premium=true)",
          "value": "30 credits per request, paid plans only",
          "numeric": 30,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Ultra Premium (`ultra_premium=true`) | 30 credits | Paid plans only |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Ultra Premium + JS rendering",
          "value": "75 credits per request, paid plans only",
          "numeric": 75,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Ultra Premium + JS rendering | 75 credits | Paid plans only |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Geotargeting, sessions, device type, output format, auto parsing",
          "value": "Free, no extra cost",
          "numeric": 0,
          "unit": "credits/request",
          "published": true,
          "source": "pricing_md",
          "quote": "| Geotargeting, sessions, device type, output format, auto parsing | Free | No extra cost |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Ultra Premium minimum price for custom discounted deals (no rendering)",
          "value": "$3 per 1,000 requests minimum",
          "numeric": 3,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "credits_doc",
          "quote": "to meet our minimum pricing of $3 per one thousand requests without rendering and $7 with rendered pages.",
          "verified": true,
          "sourceUrl": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs"
        },
        {
          "item": "Ultra Premium minimum price for custom discounted deals (rendered)",
          "value": "$7 per 1,000 rendered requests minimum",
          "numeric": 7,
          "unit": "USD/1,000 requests",
          "published": true,
          "source": "credits_doc",
          "quote": "to meet our minimum pricing of $3 per one thousand requests without rendering and $7 with rendered pages.",
          "verified": true,
          "sourceUrl": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs"
        },
        {
          "item": "Concurrency limit: Free / Hobby / Startup / Business / Scaling / Professional / Advanced / Enterprise",
          "value": "5 / 20 / 50 / 100 / 200 / 300 / 500 / 500+ concurrent threads",
          "unit": "concurrent threads",
          "published": true,
          "source": "pricing_md",
          "quote": "| Concurrent threads | 20 | 50 | 100 | 200 | 300 | 500 | 500+ |",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Requests per second / per minute rate limit",
          "value": "Not published; limits are given as concurrent threads",
          "unit": "requests/second",
          "published": false,
          "source": "pricing_md",
          "quote": "Concurrent threads: How many requests you can run at the same time. Going over returns a 429, with no extra charge.",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Pay-as-you-go price per credit",
          "value": "A fixed per-credit rate, up to a monthly spending cap you set; the rate is not stated",
          "unit": "USD/credit",
          "published": false,
          "source": "pricing_md",
          "quote": "Pay-as-you-go charges a fixed per-credit rate without changing your plan, up to a monthly spending cap you set.",
          "verified": true,
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "item": "Minimum top-up",
          "value": "Not published",
          "unit": "USD",
          "published": false,
          "source": "faq_billing",
          "quote": "This is a spending limit, not an amount you will be pre-charged.",
          "verified": true,
          "sourceUrl": "https://docs.scraperapi.com/resources/faq/plans-and-billing.md"
        }
      ],
      "overage": {
        "policy": "hard-stop",
        "summary": "By default, scraping pauses until credits renew. Hobby, Startup, Business, Scaling and Professional can opt in to auto-upgrade to the next plan. Scaling, Professional, Advanced and Enterprise can opt in to pay-as-you-go at a fixed per-credit rate, up to a monthly spending cap you set. Annual plans can renew early for a fresh batch of credits.",
        "source": "pricing",
        "quote": "By default, scraping pauses until your credits renew."
      },
      "gotchas": [
        {
          "title": "Google and Bing searches cost 25 credits each",
          "detail": "SERP requests to Google and Bing, including their subdomains, cost 25 credits per request.",
          "source": "credits_doc",
          "quote": "SERP\nGoogle, Bing - (applies to all subdomains) | 25",
          "sourceUrl": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs"
        },
        {
          "title": "Surcharges stack for rendering, premium proxies and bot protection",
          "detail": "JS rendering, premium proxies and screenshots each cost 10 credits per request. Premium + rendering costs 25, and Ultra Premium + rendering costs 75. Bypassing Cloudflare, DataDome, PerimeterX or Akamai adds 10 credits per request.",
          "source": "pricing",
          "quote": "Sites behind bot protection like Cloudflare, Datadome, or PerimeterX add 10 credits per request when we bypass them.",
          "sourceUrl": "https://www.scraperapi.com/pricing/"
        },
        {
          "title": "Credits do not roll over",
          "detail": "The credit balance resets when the subscription renews.",
          "source": "pricing",
          "quote": "No, your ScraperAPI credit balance resets when your subscription renews.",
          "sourceUrl": "https://www.scraperapi.com/pricing/"
        },
        {
          "title": "Pay-as-you-go only on Scaling and above",
          "detail": "Pay-as-you-go is not available on Free, Hobby, Startup, or Business.",
          "source": "pricing_md",
          "quote": "Pay-as-you-go is not available on Free, Hobby, Startup, or Business.",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "title": "Charged for 404s and for requests cancelled after 70 seconds",
          "detail": "Only successful responses (200 and 404) are charged, plus requests cancelled from your side after 70 seconds.",
          "source": "pricing_md",
          "quote": "You're only charged for successful responses (200 and 404), and for requests you cancel after 70 seconds.",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "title": "Going over concurrency returns 429",
          "detail": "Requests above the plan's concurrency limit get a 429 response and are turned away rather than queued. There is no extra charge.",
          "source": "pricing",
          "quote": "There’s no extra charge for going over, the request is simply turned away rather than queued.",
          "sourceUrl": "https://www.scraperapi.com/pricing/"
        },
        {
          "title": "Domain credit costs can change",
          "detail": "The vendor recommends testing URLs before scraping because domains may switch protection measures. Each response shows its cost in the sa-credit-cost header.",
          "source": "credits_doc",
          "quote": "as domains may switch protection measures.",
          "sourceUrl": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs"
        },
        {
          "title": "Per-request cost cap",
          "detail": "A max_cost parameter sets the maximum credits per scrape. Requests that would cost more return a 403.",
          "source": "cost_control",
          "quote": "If the scrape cost exceeds your limit, a 403 status code will be returned for the request",
          "sourceUrl": "https://docs.scraperapi.com/control-and-optimization/cost-control.md"
        },
        {
          "title": "Enterprise discounts exclude Ultra Premium",
          "detail": "Custom Enterprise pricing applies across usage except Ultra Premium requests, which carry their own minimum rate.",
          "source": "pricing",
          "quote": "with the exception of requests to Ultra Premium which carry their own minimum rate.",
          "sourceUrl": "https://www.scraperapi.com/pricing/"
        },
        {
          "title": "Ultra Premium is for paid plans only",
          "detail": "Ultra Premium requests are only available on paid plans.",
          "source": "pricing_md",
          "quote": "| Ultra Premium (`ultra_premium=true`) | 30 credits | Paid plans only |",
          "sourceUrl": "https://scraperapi.com/pricing.md"
        },
        {
          "title": "Annual plans give credits upfront",
          "detail": "Annual plans get the full year's credits upfront and can renew early for a fresh allocation.",
          "source": "faq_billing",
          "quote": "You get the full year's credits upfront and can use them on any timeline.",
          "sourceUrl": "https://docs.scraperapi.com/resources/faq/plans-and-billing.md"
        }
      ]
    }
  ]
}