Codex alone vs Codex + Rose: answer transcript¶
Every answer of the benchmark run, side by side, with the judge's verdict. Method and findings: Codex alone vs Codex + Rose for Agents.
| Question | Category | Codex alone | Codex + Rose | Winner |
|---|---|---|---|---|
| p1 | pricing | 3/3 · 26 s | 3/3 · 22 s | rose |
| p2 | pricing | 2/3 · 19 s | 3/3 · 14 s | rose |
| p3 | pricing | 3/3 · 33 s | 3/3 · 25 s | rose |
| p4 | pricing | 3/3 · 19 s | 3/3 · 19 s | rose |
| p5 | pricing | 3/3 · 18 s | 2/3 · 20 s | rose |
| p6 | pricing | 3/3 · 17 s | 3/3 · 20 s | rose |
| p7 | pricing | 3/3 · 20 s | 3/3 · 14 s | tie |
| p8 | pricing | 2/3 · 17 s | 3/3 · 19 s | tie |
| p9 | pricing | 2/3 · 17 s | 3/3 · 16 s | rose |
| p10 | pricing | 1/3 · 28 s | 1/3 · 19 s | rose |
| p11 | pricing | 2/3 · 12 s | 3/3 · 13 s | rose |
| p12 | pricing | 3/3 · 38 s | 3/3 · 22 s | rose |
| f1 | features | 2/3 · 56 s | 3/3 · 22 s | base |
| f2 | features | 3/3 · 21 s | 3/3 · 19 s | base |
| f3 | features | 2/3 · 48 s | 2/3 · 17 s | base |
| f4 | features | 2/3 · 78 s | 3/3 · 26 s | rose |
| f5 | features | 3/3 · 56 s | 3/3 · 13 s | base |
| f6 | features | 3/3 · 30 s | 3/3 · 13 s | tie |
| f7 | features | 2/3 · 13 s | 3/3 · 17 s | tie |
| f8 | features | 3/3 · 18 s | 3/3 · 18 s | tie |
| f9 | features | 2/3 · 21 s | 2/3 · 14 s | tie |
| g1 | get_started | 2/3 · 28 s | 2/3 · 22 s | rose |
| g2 | get_started | 3/3 · 20 s | 3/3 · 12 s | rose |
| g3 | get_started | 3/3 · 19 s | 3/3 · 16 s | tie |
| g4 | get_started | 2/3 · 42 s | 2/3 · 15 s | base |
| c1 | comparison | 2/3 · 33 s | 3/3 · 15 s | tie |
| c2 | comparison | 2/3 · 39 s | 2/3 · 19 s | rose |
| c3 | comparison | 2/3 · 31 s | 2/3 · 20 s | rose |
| c4 | comparison | 3/3 · 23 s | 3/3 · 20 s | tie |
| c5 | comparison | 3/3 · 41 s | 3/3 · 29 s | tie |
| c6 | comparison | 2/3 · 59 s | 3/3 · 40 s | rose |
| l1 | listing | 2/3 · 130 s | 3/3 · 21 s | rose |
| l2 | listing | 2/3 · 71 s | 3/3 · 25 s | rose |
| l3 | listing | 3/3 · 120 s | 3/3 · 45 s | base |
| l4 | listing | 3/3 · 86 s | 3/3 · 28 s | rose |
| w1 | what_does_what | 2/3 · 23 s | 3/3 · 33 s | rose |
| w2 | what_does_what | 2/3 · 46 s | 2/3 · 32 s | tie |
| w3 | what_does_what | 2/3 · 17 s | 2/3 · 14 s | tie |
| w4 | what_does_what | 3/3 · 41 s | 3/3 · 50 s | rose |
p1: How much would Firecrawl cost me per month to scrape 20,000 pages, billed monthly?¶
Gold facts. About $94/month: Hobby is $19/month for 5,000 credits (1 credit = 1 basic page), plus 15,000 extra pages at $5 per 1,000 ($75). The Standard plan ($99/month, 100,000 credits) is the next option. Annual billing is cheaper but not what was asked.
Judge. Winner: rose. Answer A provides the same correct $94 calculation but adds a clearer comparison table and more complete context on other plans, matching the reference's mention of Standard at $99/month.
Codex alone: 3/3 · 26 s · 78,105 tokens¶
Tools: web_search ×2
$94/month USD, before tax, for 20,000 basic page scrapes:
- Hobby plan: $19/month for 5,000 pages
- 15,000 extra credits: 15 × $5 = $75
- Total: $19 + $75 = $94/month
This assumes basic scraping at one credit per page. Advanced formats such as JSON consume extra credits. Firecrawl pricing
Codex + Rose: 3/3 · 22 s · 88,940 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Firecrawl"})
Firecrawl would cost $94/month for 20,000 basic scraped pages:
- Hobby plan: $19/month, includes 5,000 pages
- 15,000 additional pages × $5 per 1,000 = $75
- Total: $94/month
That’s slightly cheaper than Standard at $99/month for 100,000 pages.
Other monthly plans:
| Plan | Monthly price | Included pages | Extra pages |
|---|---|---|---|
| Free | $0 | 1,000 | Unavailable |
| Hobby | $19 | 5,000 | $5/1,000 |
| Standard | $99 | 100,000 | $2.50/1,000 |
| Growth | $399 | 500,000 | $2/1,000 |
| Scale | $749 | 1,000,000 | $1/1,000 |
This assumes basic scraping at one credit per page. Certain formats such as JSON, highlights, questions, or PII redaction add four credits per page and would change the cheapest option. The free plan requires no card; Rose’s sheet doesn’t specify card requirements for paid plans.
Figures come from Rose’s normalized Firecrawl data as of October 1, 2026, sourced from Firecrawl’s pricing page.
p2: What does Exa charge per 1,000 searches, and is there a free allowance?¶
Gold facts. Default 'auto' search is $7 per 1,000 requests (up to 10 results); 'instant' search is $4 per 1,000; deep search costs more ($12-$15 per 1,000). Page contents are $1 per 1,000 pages. Exa gives $10 of free credit every month (about 1,428 auto searches), no card required. A one-time $10 onboarding bonus also exists.
Judge. Winner: rose. Answer A provides the full tiered pricing breakdown (instant, auto, deep variants) matching the reference, while Answer B only mentions the default $7 tier and omits the other pricing tiers.
Codex alone: 2/3 · 19 s · 46,326 tokens¶
Tools: web_search ×1
Judge: Did not mention 'instant' search pricing at $4 per 1,000 Judge: Did not mention deep search pricing at $12-$15 per 1,000 Judge: Did not mention page content cost of $1 per 1,000 pages
Exa’s standard Search API costs $7 per 1,000 searches, including up to 10 results per request.
Yes. The free tier includes $10 in credits each month, plus a $10 onboarding bonus, with no payment method required. That monthly credit covers roughly 1,428 standard searches. Exa pricing
Codex + Rose: 3/3 · 14 s · 89,320 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Exa"})
Exa charges per 1,000 searches:
- Instant: $4
- Auto/default: $7
- Deep or Deep-lite: $12
- Deep-reasoning: $15
Yes—its card-free Starter tier includes $10 in monthly credits, equivalent to 1,428 Auto searches or 2,500 Instant searches. Credits reset monthly and don’t roll over. Completing onboarding also earns a one-time $10 bonus.
Rose vendor data as of October 1, 2026, sourced from Exa’s pricing page.
p3: Summarize Tavily's pricing: free tier and paid plans.¶
Gold facts. Free Researcher plan: 1,000 API credits per month, no card (basic search = 1 credit, advanced = 2). Pay as you go: $0.008 per credit. Monthly plans: Project $30 (4,000 credits), Bootstrap $100 (15,000), Startup $220 (38,000), Growth $500 (100,000).
Judge. Winner: rose. Answer A matches all reference figures exactly and adds well-sourced, relevant usage mechanics (credit costs for basic/advanced search and extraction, overage behavior, rate limits) with clear links, whereas Answer B, while also matching the core numbers, pads the answer with unsourced extras (student discounts, enterprise seats) that aren't tied to the reference or clearly verified.
Codex alone: 3/3 · 33 s · 76,429 tokens¶
Tools: web_search ×2
Tavily offers a free monthly allowance, usage-based billing, subscriptions, and enterprise pricing.
| Plan | Price | Included credits |
|---|---|---|
| Researcher | Free | 1,000/month |
| Pay as you go | $0.008/credit | Usage-based |
| Project | $30/month | 4,000/month |
| Bootstrap | $100/month | 15,000/month |
| Startup | $220/month | 38,000/month |
| Growth | $500/month | 100,000/month |
| Enterprise | Custom | Custom usage and limits |
Key details:
- The free tier requires no credit card and includes email support.
- Paid subscriptions provide higher rate limits and email support.
- Credits reset on the first day of each calendar month.
- Credit consumption varies by endpoint and request complexity.
- Enterprise includes custom limits, seats, SLAs, security, and privacy terms.
- Tavily also advertises free access for eligible students.
The live pricing interface groups the adjustable subscriptions under “Project”; the named price points above come from Tavily’s official pricing guide. See Tavily pricing and its pricing guide.
Codex + Rose: 3/3 · 25 s · 88,720 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Tavily"})
Tavily pricing, in USD per month:
| Plan | Price | Included monthly usage |
|---|---|---|
| Researcher | Free | 1,000 basic searches or 5,000 basic extracted pages |
| Pay As You Go | No base fee | $8 per 1,000 basic searches; $1.60 per 1,000 basic extracted pages |
| Project | $30 | 4,000 searches or 20,000 pages |
| Bootstrap | $100 | 15,000 searches or 75,000 pages |
| Startup | $220 | 38,000 searches or 190,000 pages |
| Growth | $500 | 100,000 searches or 500,000 pages |
Key details:
- The free tier requires no card and resets monthly; requests stop when its credits run out.
- Allowances share one credit balance—they are alternatives, not additive.
- Basic search costs one credit; advanced search costs two.
- Basic extraction costs one credit per five successful pages; advanced extraction costs twice that.
- Subscription overages use PAYGO pricing when enabled; otherwise requests stop.
- Paid plans provide production keys with a 1,000-request/minute general limit.
Figures come from Rose’s normalized Tavily vendor data as of October 1, 2026.
p4: How much does the Brave Search API cost, and what's free?¶
Gold facts. $5 per 1,000 requests, with $5 of free credit every month (about 1,000 searches). A credit card is required even for the free credit. Rate limit 50 queries per second.
Judge. Winner: rose. Answer A matches the reference facts precisely (50 qps limit, $5 free credit = 1,000 requests, card required) while Answer B introduces unverified extra claims (e.g., $20 total credit, $0 prepaid spend) that risk inaccuracy.
Codex alone: 3/3 · 19 s · 49,931 tokens¶
Tools: web_search ×1
Brave Search API currently costs $5 per 1,000 search requests.
What’s free:
- $5 in credits every month, equivalent to 1,000 search requests
- No standalone free plan; the credit renews monthly
- A credit card is required for fraud prevention, but you can set prepaid spending to $0
- Search capacity: 50 requests/second
Other endpoints:
- Answers: $4/1,000 queries, plus $5 per million input tokens and $5 per million output tokens
- Autosuggest: $5/10,000 requests
- Spellcheck: $5/10,000 requests
- Each plan separately receives $5/month, potentially $20 total monthly credit across all four plans.
Sources: official pricing, Brave’s free-credit FAQ.
Codex + Rose: 3/3 · 19 s · 74,536 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Brave Search API"})
Brave Search API pricing:
- Web Search + LLM Context: $5 per 1,000 successful requests.
- Free: $5 in recurring monthly credits, equivalent to 1,000 free requests/month.
- A credit card is required for identity verification, but isn’t charged for the free allowance.
- Answers API: $4 per 1,000 queries, plus $5 per million input/output tokens.
- Enterprise: custom pricing.
The Search plan supports up to 50 queries/second; Answers supports 2 queries/second.
Figures come from Rose’s vendor data as of October 1, 2026, sourced from Brave’s Search API pricing page.
p5: What are SerpApi's free plan and cheapest paid plans?¶
Gold facts. Free: 250 searches per month. Starter $25/month for 1,000 searches; Developer $75 for 5,000; Production $150 for 15,000; Big Data $275 for 30,000. No overage price: when searches run out you upgrade or renew the plan early.
Judge. Winner: rose. Answer A accurately reflects the reference's key fact that there is no overage price and plans are renewed early, whereas Answer B omits this and adds unverified extra details like throughput and 'Ludicrous Speed' pricing not asked for.
Codex alone: 3/3 · 18 s · 46,365 tokens¶
Tools: web_search ×1
As of October 2026, SerpApi’s standard month-to-month pricing is:
| Plan | Monthly price | Searches/month | Throughput/hour |
|---|---|---|---|
| Free | $0 | 250 | 50 |
| Starter | $25 | 1,000 | 200 |
| Developer | $75 | 5,000 | 1,000 |
| Production | $150 | 15,000 | 3,000 |
Only successful searches consume credits; cached, failed, and errored requests do not. Faster “Ludicrous Speed” options cost more—for example, Starter rises to $50/month. Plans can be cancelled or changed at any time.
Source: SerpApi’s official pricing page.
Codex + Rose: 2/3 · 20 s · 93,529 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "SerpApi"})
Judge: Missing Big Data plan: $275/month for 30,000 searches.
According to Rose’s SerpApi vendor data, current as of October 1, 2026:
| Plan | Monthly price | Included searches | Effective cost |
|---|---|---|---|
| Free | $0 | 250/month | Free; no card required |
| Starter | $25 | 1,000/month | $25 per 1,000 |
| Developer | $75 | 5,000/month | $15 per 1,000 |
| Production | $150 | 15,000/month | $10 per 1,000 |
These are month-to-month plans. There’s no overage rate; after exhausting the allowance, paid plans can renew early. A search counts only when successful—cached, failed, and errored requests aren’t counted.
Source: SerpApi pricing.
p6: How is serper.dev priced?¶
Gold facts. Prepaid credit packs valid for 6 months, 1 credit per query: Starter $50 for 50,000 ($1.00 per 1,000), Standard $375 for 500,000 ($0.75), Scale $1,250 for 2.5M ($0.50), Ultimate $3,750 for 12.5M ($0.30). 2,500 free queries on sign-up, no card required.
Judge. Winner: rose. Both are accurate and clear, but A adds a useful per-month budgeting breakdown and explicitly notes the no-card-required free signup, giving slightly more actionable detail for the buyer.
Codex alone: 3/3 · 17 s · 46,770 tokens¶
Tools: web_search ×1
Serper.dev uses prepaid credits—no monthly subscription.
| Package | Price | Queries | Cost per 1,000 | Rate limit |
|---|---|---|---|---|
| Free trial | $0 | 2,500 | — | — |
| Starter | $50 | 50,000 | $1.00 | 50/sec |
| Standard | $375 | 500,000 | $0.75 | 100/sec |
| Scale | $1,250 | 2.5 million | $0.50 | 200/sec |
| Ultimate | $3,750 | 12.5 million | $0.30 | 300/sec |
Credits are valid for six months and deducted only for successful responses. Prices exclude applicable sales tax, VAT, or GST. Source: Serper’s official pricing page.
Codex + Rose: 3/3 · 20 s · 87,797 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Serper"})
Serper.dev uses prepaid credit packs, not monthly subscriptions:
| Pack | Price | Queries | Cost / 1,000 | Rate limit |
|---|---|---|---|---|
| Free signup credit | $0 | 2,500 once | — | — |
| Starter | $50 | 50,000 | $1.00 | 50/sec |
| Standard | $375 | 500,000 | $0.75 | 100/sec |
| Scale | $1,250 | 2.5 million | $0.50 | 200/sec |
| Ultimate | $3,750 | 12.5 million | $0.30 | 300/sec |
Credits expire after six months and are charged only for successful responses. The free signup credit requires no card. Paid prices exclude applicable sales tax, VAT, or GST.
For budgeting, using one pack evenly across its six-month validity works out to roughly $8.33, $62.50, $208.33, or $625 per month, respectively.
Figures come from Rose’s vendor data as of October 1, 2026, sourced from Serper’s pricing page.
p7: On ScrapingBee's $49 plan, how many pages can I scrape with and without JavaScript rendering?¶
Gold facts. The $49 Freelance plan has 250,000 API credits per month. A request with JavaScript rendering (the default) costs 5 credits, so 50,000 pages; without JS rendering 1 credit, so 250,000 pages. Premium proxies cost more (10 or 25 credits).
Judge. Winner: tie. Both answers provide identical correct figures (250,000 pages without JS, 50,000 with JS) with matching credit math, differing only in minor presentation and link choice.
Codex alone: 3/3 · 20 s · 49,722 tokens¶
Tools: web_search ×1
On ScrapingBee’s $49/month Freelance plan, you get 250,000 API credits:
- Without JavaScript rendering: 250,000 pages (1 credit/page)
- With JavaScript rendering: 50,000 pages (5 credits/page)
This assumes standard proxies; premium or stealth proxies consume more credits. ScrapingBee pricing and credit rules
Codex + Rose: 3/3 · 14 s · 90,641 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "ScrapingBee"})
On ScrapingBee’s $49/month Freelance plan:
- Without JavaScript: 250,000 pages/month
- With JavaScript rendering: 50,000 pages/month
That’s 250,000 credits: 1 credit per non-JS page or 5 credits per JS-rendered page. Figures are from ScrapingBee’s pricing page, normalized by Rose as of October 1, 2026.
p8: What does Zyte API cost per 1,000 pages?¶
Gold facts. It depends on the site's difficulty tier and on browser rendering. Pay as you go, HTTP responses cost $0.13 to $1.27 per 1,000 (tiers 1-5) and browser-rendered ones $1.01 to $16.08 per 1,000. Monthly commitments lower the rates ($100/month: from $0.10 per 1,000 HTTP; $500/month: from $0.06). A $5 free trial credit is offered.
Judge. Winner: tie. A fabricates specific numeric details not supported by the reference (e.g., a $200/month tier and exact upper-bound rates for all commitment levels), while B's figures match the reference accurately without inventing unverified numbers.
Codex alone: 2/3 · 17 s · 47,445 tokens¶
Tools: web_search ×1
Judge: Does not mention specific monthly commitment rates ($100/month: from $0.10 per 1,000 HTTP; $500/month: from $0.06) Judge: Does not mention the $5 free trial credit
Zyte API’s pay-as-you-go pricing per 1,000 successful pages is:
- HTTP pages: $0.13–$1.27
- Browser-rendered pages: $1.01–$16.08
The exact price depends on the website’s difficulty tier. Monthly commitments reduce these rates; extraction and screenshots may add fees. Official Zyte pricing
Codex + Rose: 3/3 · 19 s · 78,491 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Zyte"})
Zyte charges per successful response, with the rate determined automatically by site difficulty:
| Plan | HTTP pages / 1,000 | Browser-rendered / 1,000 |
|---|---|---|
| Pay as you go | $0.13–$1.27 | $1.01–$16.08 |
| $100/month commitment | $0.10–$0.95 | $0.75–$12.00 |
| $200/month commitment | $0.08–$0.76 | $0.60–$9.60 |
| $500/month commitment | $0.06–$0.61 | $0.48–$7.68 |
The low end is tier 1/simple sites; the high end is tier 5. Screenshots, browser actions, and extraction can cost extra. New accounts receive a $5, 30-day trial credit, equivalent to about 38,461 tier-1 HTTP pages.
Figures come from Rose’s Zyte vendor data as of October 1, 2026, sourced from Zyte’s pricing page.
p9: What does Bright Data's SERP API cost per 1,000 requests?¶
Gold facts. Pay as you go $1.50 per 1,000 successful requests. A $499/month plan includes about 380,000 requests and charges $1.30 per 1,000 beyond. There is a free tier of 5,000 requests per month shared across Bright Data's APIs. Bright Data says the price starts from $1 per 1,000 at its highest commitment tiers.
Judge. Winner: rose. Answer A matches all reference facts (PAYG $1.50, $499 plan at $1.30/1k, free tier) and adds verified-looking tier detail including the $1/1,000 highest-commitment rate mentioned in the reference, giving the buyer more actionable specifics than B's vaguer range.
Codex alone: 2/3 · 17 s · 47,533 tokens¶
Tools: web_search ×1
Judge: Does not mention the $499/month plan structure (about 380,000 requests included, $1.30 per 1,000 beyond) Judge: Does not specify that the 5,000 free tier is shared across Bright Data's APIs
Bright Data’s SERP API costs $1.50 per 1,000 successful requests on pay-as-you-go. Volume plans reduce this to $1.00–$1.30 per 1,000. A free tier includes 5,000 monthly requests. Official pricing
Codex + Rose: 3/3 · 16 s · 88,900 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Bright Data"})
Bright Data’s SERP API costs $1.50 per 1,000 successful requests on pay-as-you-go.
Volume plans reduce the rate:
- $499/month: 380,000 included; $1.30/1,000 extra
- $999/month: 900,000 included; $1.10/1,000 extra
- $1,999/month: 2 million included; $1.00/1,000 extra
- Free tier: 5,000 shared monthly credits, no card required
Source: Rose’s vendor data as of October 1, 2026, based on Bright Data’s SERP pricing.
p10: What does the Linkup search API cost?¶
Gold facts. Standard search $0.005 per call ($5 per 1,000), sourced answer or structured output $0.006 ($6 per 1,000), deep search about $0.05 per call. Page fetch $1 per 1,000 without JS rendering, $5 with. Accounts with a professional email get $20 of free credit every month.
Judge. Winner: rose. Answer A matches the reference figures precisely (including deep search and page fetch context) and cites Rose's vendor data correctly, while Answer B gives vague, less accurate ranges and omits page fetch pricing and the professional-email credit detail.
Codex alone: 1/3 · 28 s · 105,218 tokens¶
Tools: web_search ×3
Judge: Deep search price stated as $0.005-$0.006 (same as standard/structured), but reference says deep search costs about $0.05 per call — an order of magnitude different. Judge: No mention of page fetch pricing ($1 per 1,000 without JS rendering, $5 with). Judge: Free credit claim differs: answer says '4,000 queries free' while reference states $20 of free credit per month for professional email accounts — not clearly the same offer. Judge: Does not clearly distinguish standard ($0.005) vs sourced/structured ($0.006) pricing.
Linkup’s current Search API pricing is $0.005–$0.006 per request, depending on search depth (Fast, Standard, or Deep).
- 4,000 queries free
- 10,000 paid searches: roughly $50–$60
- Enterprise plans use custom pricing
Source: Linkup pricing
Codex + Rose: 1/3 · 19 s · 88,086 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Linkup"})
Judge: Missing page fetch pricing: $1 per 1,000 without JS rendering, $5 per 1,000 with JS rendering - not mentioned in the answer at all.
Linkup’s search API is usage-based with no monthly subscription:
- Standard/fast/flash search with raw results: $0.005 per request ($5 per 1,000)
- Standard search with a sourced or structured answer: $0.006 per request ($6 per 1,000)
- Deep search: $0.050–$0.055 per request ($50–$55 per 1,000)
- Research requests: $0.25–$2.50 each
- Failed requests aren’t charged.
Eligible accounts created with a professional email receive $20 in monthly credit, enough for roughly 4,000 basic searches. Paid usage draws from a prepaid balance after that credit is exhausted. Rose’s sheet doesn’t state whether a card is required for the free credit.
Figures come from Rose’s normalized vendor data as of October 1, 2026, based on Linkup’s pricing documentation.
p11: How much is Parallel's Search API per 1,000 requests?¶
Gold facts. $1 per 1,000 requests on the Turbo and Fast processors, $5 per 1,000 on Basic and Advanced (10 results; extra results $1 per 1,000). Extract is $1 per 1,000 pages. $5 of free credits per month (about 5,000 requests) for organizations with a card on file.
Judge. Winner: rose. Answer A includes the correct extra-results pricing and free credit detail matching the reference, while Answer B incorrectly claims no additional fees for extra results.
Codex alone: 2/3 · 12 s · 47,655 tokens¶
Tools: web_search ×1
Judge: Missing detail that additional results beyond 10 cost $1 per 1,000 Judge: Missing mention of Extract pricing at $1 per 1,000 pages Judge: Missing mention of $5 free credits per month (~5,000 requests) for orgs with a card on file
Parallel’s Search API costs:
- Turbo / Fast: $1 per 1,000 requests
- Basic / Advanced: $5 per 1,000 requests
Each request includes up to 10 results, with no additional token fees. Parallel pricing
Codex + Rose: 3/3 · 13 s · 88,833 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Parallel"})
Parallel’s Search API costs:
- Turbo and Fast: $1 per 1,000 requests
- Basic and Advanced: $5 per 1,000 requests
Each request includes 10 results; extra results cost $1 per 1,000. A $5 monthly credit can cover up to 5,000 Turbo/Fast requests, but requires a card on file.
Source: Parallel pricing, via Rose vendor data as of October 1, 2026.
p12: How are Jina's Reader and Search APIs priced?¶
Gold facts. Prepaid tokens: $50 for 1 billion tokens or $500 for 11 billion. Reader bills the output tokens of each page; a search costs a fixed number of tokens starting from 10,000 (so from about $0.45-$0.50 per 1,000 searches). A new API key gets 10 million free tokens. Reader also works without a key at 20 requests per minute.
Judge. Winner: rose. Answer A correctly attributes figures to Rose's vendor data (as instructed) and keeps rate-limit/package details consistent, while Answer B presents the same data as Jina's own advertised rates without citing Rose, which is less aligned with the sourcing context, and both are similar in completeness but A's attribution is more appropriate per the scenario.
Codex alone: 3/3 · 38 s · 90,812 tokens¶
Tools: web_search ×2
Jina prices both APIs through shared token credits:
| Tier | Included tokens | Price | Effective rate |
|---|---|---|---|
| Free | 10 million | $0 | Non-commercial use |
| Standard | 1 billion | $50 | $0.050 / million tokens |
| Premium | 11 billion | $500 | About $0.045 / million tokens |
- Reader API (
r.jina.ai): billed on the number of tokens in the extracted output. At the standard rate, a 5,000-token page costs about $0.00025. - Search API (
s.jina.ai): each search consumes a fixed allocation starting at 10,000 tokens. That makes a minimum-size request roughly $0.00050 standard or $0.00045 premium—about 2,000–2,222 searches per dollar. - Basic Reader access works without a key at 20 requests/minute. Search requires an API key.
- A free key allows 500 Reader requests/minute and 100 Search requests/minute; premium limits are 5,000 and 1,000 respectively.
- Reader’s unauthenticated basic usage is free. With a key, usage draws from the shared token balance. Specialized processing such as OCR can consume tokens at a higher multiplier.
These are Jina’s currently advertised rates; taxes and billing currency can vary by location. Official Jina pricing · Reader and Search details
Codex + Rose: 3/3 · 22 s · 89,839 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Jina AI"})
Jina uses prepaid token-based pricing for both APIs:
- Reader API
- Free without an API key at 20 requests/minute per IP; no card required.
- With an API key, usage is charged according to the number of output tokens. There is no fixed per-page price because page lengths vary.
-
OCR with
jina-ocr-v1consumes 40× the normal token amount. -
Search API
- Requires an API key.
- Each search starts at 10,000 tokens.
- At the $50 rate, that is at least $0.0005/search, or $0.50 per 1,000 searches.
- At the $500 rate, it is at least $0.00045/search, or $0.45 per 1,000 searches.
Token packages:
| Package | Effective rate | Approx. searches at minimum charge |
|---|---|---|
| New API key | 10M tokens free, one time | Up to 1,000 |
| $50 | 1B tokens | Up to 100,000 |
| $500 premium | 11B tokens | Up to 1.1 million |
The $50 package permits 500 Reader RPM and 100 Search RPM. The $500 premium package raises those limits to 5,000 and 1,000 RPM respectively. Failed requests do not consume tokens, and optional automatic top-ups are available.
These figures come from Rose’s unofficial normalized vendor data as of October 1, 2026, sourced from Jina’s Reader and Search pricing page.
f1: Do Firecrawl, Exa, Tavily and Brave have official MCP servers? Are they hosted or local?¶
Gold facts. All four have one. Firecrawl: hosted (https://mcp.firecrawl.dev/v2/mcp) and local (npx -y firecrawl-mcp). Exa: hosted (https://mcp.exa.ai/mcp, works keyless with rate limits) and local (npm package exa-mcp-server). Tavily: hosted (https://mcp.tavily.com/mcp/) and local (npx -y tavily-mcp). Brave: local only (npx -y @brave/brave-search-mcp-server with BRAVE_API_KEY).
Judge. Winner: base. Answer B provides the exact hosted URLs matching the reference (including Exa's correct https://mcp.exa.ai/mcp) while Answer A omits the actual hosted endpoint links, making B more precise and actionable.
Codex alone: 2/3 · 56 s · 257,944 tokens¶
Tools: web_search ×5
Judge: Answer does not mention that Exa's hosted MCP works keyless with rate limits. Judge: Answer does not give the exact local npm commands (e.g., npx -y firecrawl-mcp, npx -y tavily-mcp, npx -y @brave/brave-search-mcp-server) as in the reference. Judge: Tavily hosted URL given as https://mcp.tavily.com/mcp without trailing slash, a minor deviation from reference's https://mcp.tavily.com/mcp/.
Yes—all four have vendor-maintained official MCP servers.
| Provider | Official MCP | Vendor-hosted remote | Local/self-hosted |
|---|---|---|---|
| Firecrawl | Yes | https://mcp.firecrawl.dev/v2/mcp |
Yes, via firecrawl-mcp; supports Firecrawl Cloud or a self-hosted Firecrawl backend. Official repository |
| Exa | Yes | https://mcp.exa.ai/mcp |
Open-source/npm implementation is available, although Exa now recommends its hosted endpoint. Official Exa MCP page |
| Tavily | Yes | https://mcp.tavily.com/mcp |
Yes, via npx tavily-mcp@latest. Official repository |
| Brave Search | Yes | No documented public Brave-hosted MCP endpoint | Yes, via npm or Docker; supports stdio or locally hosted HTTP. Official repository |
Important distinction: running the MCP server locally does not necessarily make the search itself local. The local Exa, Tavily, and Brave servers are adapters that still call their hosted APIs. Firecrawl can also use its cloud API, but uniquely supports pointing the MCP server at a self-hosted Firecrawl deployment.
Codex + Rose: 3/3 · 22 s · 128,936 tokens¶
Tools: rose ×5
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "vendors": ["Firecrawl", "Exa", "Tavily", "Brave"]}), get_access({"brand": "Firecrawl"}), get_access({"brand": "Exa"}), get_access({"brand": "Tavily"}), get_access({"brand": "Brave"})
Done — all four have official MCP servers.
| Vendor | Hosted MCP | Local MCP |
|---|---|---|
| Firecrawl | Yes | Yes, via npx firecrawl-mcp |
| Exa | Yes | Yes, via npx exa-mcp-server |
| Tavily | Yes | Yes, via npx tavily-mcp@latest |
| Brave | No official hosted endpoint listed | Yes, via npx @brave/brave-search-mcp-server |
The local servers still call each vendor’s hosted API; they are local MCP adapters, not self-hosted search infrastructure.
Figures come from Rose’s normalized vendor data as of October 1, 2026.
f2: Does serper.dev have an official MCP server?¶
Gold facts. No official MCP server from Serper; the Serper MCP servers that exist are community projects.
Judge. Winner: base. Both correctly state there's no official MCP server, but B provides more actionable detail by naming specific community MCP projects with links.
Codex alone: 3/3 · 21 s · 79,617 tokens¶
Tools: web_search ×2
No. As of October 2026, Serper.dev does not publish an official MCP server—only its REST API. Several community-built MCP wrappers exist, such as postfix/serper-mcp and garylab/serper-mcp-server, but they aren’t maintained or endorsed by Serper.
Serper’s official site currently makes no mention of MCP.
Codex + Rose: 3/3 · 19 s · 158,699 tokens¶
Tools: rose ×3
Rose calls: get_offers({"brand": "Serper"}), get_access({"brand": "Serper"}), compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "require": ["official_mcp_server"], "vendors": ["Serper"]})
No. Rose’s vendor data, current as of October 1, 2026, shows that Serper does not offer an official MCP server. Third-party/community MCP wrappers may exist, but they aren’t maintained by Serper.
f3: Is Exa SOC 2 compliant, and can it keep data in the EU?¶
Gold facts. Exa has SOC 2. Its data is processed and hosted in the United States; processing outside the US is only a custom enterprise arrangement, so no standard EU hosting.
Judge. Winner: base. Answer B more closely matches the reference by acknowledging configurable enterprise regions (aligning with the 'custom enterprise arrangement' nuance) while still correctly noting no public EU-only guarantee, and it adds actionable contract guidance, whereas Answer A omits the enterprise-arrangement nuance entirely.
Codex alone: 2/3 · 48 s · 174,682 tokens¶
Tools: web_search ×4
Judge: Does not state that Exa's data is hosted/processed in the US by default, and that EU hosting is only available via custom enterprise arrangement.
Yes on SOC 2; EU-only data residency is not publicly confirmed.
- SOC 2: Exa states it is SOC 2 Type II audited. The current report is available through its Trust Center.
- EU residency: Exa supports GDPR, DPAs, configurable enterprise regions, and optional Zero Data Retention, but its public documentation does not explicitly guarantee that all customer data and processing remain exclusively in the EU. Exa’s enterprise documentation
For a strict EU-residency requirement, obtain written confirmation covering API queries, logs, results, backups, support access, and subprocessors—and put the regional restriction in the contract. Zero Data Retention is helpful but is not itself an EU-residency guarantee.
Codex + Rose: 2/3 · 17 s · 121,759 tokens¶
Tools: rose ×2
Rose calls: get_offers({"brand": "Exa"}), compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "vendors": ["Exa"], "require": ["soc2", "eu_hosting"]})
Judge: Does not mention that Exa's data is hosted/processed in the US by default, and that EU hosting is only available via a custom enterprise arrangement, not a standard offering.
Yes—Exa reports SOC 2 compliance. However, EU data residency/hosting is not documented, so you shouldn’t assume data can remain exclusively in the EU.
Source: Exa security overview. Figures come from Rose’s vendor data as of October 1, 2026.
f4: Which of these scraping APIs offer a GDPR DPA and EU data processing: Firecrawl, ScrapingBee, Linkup, Jina, Exa, Parallel?¶
Gold facts. ScrapingBee (DPA, processing primarily in the EU), Linkup (GDPR DPA, EU processing available), Jina (GDPR DPA via Elastic, EU option), Parallel (DPA; EU data residency option for business customers, Search API requests to the EU endpoint processed in the EU). Firecrawl offers a DPA on paid plans but states no EU hosting. Exa hosts data in the US.
Judge. Winner: rose. Answer A's shortlist (Linkup, ScrapingBee, Jina, Parallel) exactly matches the reference facts on DPA+EU processing, whereas Answer B incorrectly downgrades Jina's EU option status and omits it from its final recommended list, contradicting the reference.
Codex alone: 2/3 · 78 s · 347,027 tokens¶
Tools: web_search ×7
Judge: Answer states Jina's EU processing is 'Not confirmed for hosted Jina API,' contradicting reference, which states Jina offers a GDPR DPA via Elastic with an EU option. Judge: Exa's lack of EU processing is described as 'Not publicly confirmed' rather than the reference's more definitive statement that Exa hosts data in the US (not EU).
As of October 2026, the procurement-grade answer is:
| Provider | GDPR DPA | EU processing for API payloads | Assessment |
|---|---|---|---|
| Linkup | Available, but obtain it from sales | Yes | Best EU-native candidate. Linkup is French and states that data is processed and stored in the EU. Its public DPA documentation is less accessible, so request the executed Art. 28 DPA and subprocessor annex before approval. Privacy policy |
| ScrapingBee | Yes, incorporated automatically | Primarily EU | Strong yes, but not completely EU-only: core hosting is in Paris/EU, while monitoring, billing, and email subprocessors include US companies under SCCs. DPA and processing locations |
| Parallel | Yes, separately executed | Yes, optional EU endpoint | Strong yes if the EU-residency option is contractually enabled. EU Search API requests are processed and served in the EU with no request/response retention. Privacy policy, customer terms |
| Firecrawl | Yes, enterprise | No | DPA and zero-data-retention are available, but Firecrawl’s privacy policy says its servers and storage are in the US. Enterprise controls, processing location |
| Exa | Yes, enterprise/custom | Not publicly confirmed | Exa offers custom DPA documentation and zero retention, but I found no first-party commitment to an EU processing region or EU endpoint. Enterprise offering, pricing |
| Jina | Yes, through Elastic | Not confirmed for hosted Jina API | The Elastic Customer DPA now governs Jina, but hosted API data residency is not clearly committed to the EU. Self-hosting/on-prem is available where residency is mandatory. Jina legal terms, deployment options |
Bottom line:
- Clearest “DPA + EU processing” choices: Linkup, ScrapingBee, and Parallel.
- Strict EU-only request processing: Linkup, or Parallel with its EU option.
- Not suitable where API payloads must remain in the EU: Firecrawl.
- Require written clarification before approval: Exa and hosted Jina.
“EU processing” does not necessarily mean every billing, support, telemetry, or proxy subprocessor remains in the EU. For strict residency, require the DPA/order form to specify the API endpoints, logs, backups, support access, subprocessors, and failover regions.
Codex + Rose: 3/3 · 26 s · 125,692 tokens¶
Tools: rose ×2
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 1000, "vendors": ["Firecrawl", "ScrapingBee", "Linkup", "Jina AI", "Exa", "Parallel"]}), get_offers({"brand": "Jina AI"})
All six offer a GDPR DPA, but only four document EU-region data processing/hosting:
| Vendor | GDPR DPA | EU processing/hosting |
|---|---|---|
| Linkup | Yes | Yes |
| ScrapingBee | Yes | Yes |
| Jina AI | Yes | Yes |
| Parallel | Yes | Yes |
| Firecrawl | Yes | No |
| Exa | Yes | Not documented |
So if both are mandatory, shortlist Linkup, ScrapingBee, Jina AI, and Parallel. “EU processing” here means an advertised EU hosting/processing option, not merely GDPR compliance or use of EU subprocessors.
Figures come from Rose’s vendor data as of October 1, 2026.
f5: What output formats can Firecrawl's scrape endpoint return?¶
Gold facts. Markdown, HTML, raw HTML, screenshot, links, JSON (structured extraction), summary, images and more (branding, product, audio/video formats in newer versions).
Judge. Winner: base. Answer B provides a more complete and accurate list of formats (including menu, changeTracking, question, highlights) with useful operational details like rawBase64 exclusivity, while Answer A includes a dubious 'query' format not corroborated by the reference.
Codex alone: 3/3 · 56 s · 294,574 tokens¶
Tools: web_search ×6
Firecrawl’s /v2/scrape endpoint supports these output formats:
markdownsummaryhtml— cleaned HTMLrawHtml— original HTMLrawBase64— Base64-encoded response bodylinksimagesscreenshotjson— structured extractionchangeTrackingbrandingproductmenuaudiovideoquestionhighlights
You can request multiple formats together, except rawBase64, which must be requested alone. Some formats accept or require configuration objects, such as json, screenshot, question, and highlights. Firecrawl Scrape API reference
Codex + Rose: 3/3 · 13 s · 90,430 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Firecrawl"})
Firecrawl’s /scrape endpoint supports these output formats:
markdownsummaryhtmlrawHtmlrawBase64screenshotlinksjsonimagesbrandingproductaudiovideoquery
Source: Firecrawl scrape documentation. Figures come from Rose’s vendor data as of October 1, 2026.
f6: For the free tiers of Brave Search API, Tavily, Exa and Firecrawl, which need a credit card?¶
Gold facts. Brave requires a card (for identity, not charged). Tavily, Exa and Firecrawl free tiers need no card.
Judge. Winner: tie. Both answers correctly identify that only Brave requires a credit card, matching the reference, with comparable clarity and sourcing.
Codex alone: 3/3 · 30 s · 135,956 tokens¶
Tools: web_search ×3
Only Brave Search API requires a credit card for its free monthly credits, as an anti-fraud check.
| Provider | Card required for free tier? |
|---|---|
| Brave Search API | Yes |
| Tavily | No |
| Exa | No |
| Firecrawl | No |
Sources: Brave, Tavily, Exa, Firecrawl. Verified October 1, 2026.
Codex + Rose: 3/3 · 13 s · 89,805 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1, "vendors": ["Brave Search API", "Tavily", "Exa", "Firecrawl"]})
Only Brave Search API requires a credit card for its free monthly credits, used for identity verification.
No credit card is required for:
Source: Rose’s normalized vendor data, current as of October 1, 2026.
f7: Can I use Jina Reader without an API key?¶
Gold facts. Yes: Reader (r.jina.ai) works without a key, rate-limited to 20 requests per minute per IP. The Search API (s.jina.ai) needs a key.
Judge. Winner: tie. Both are correct and complete, but B provides an actionable curl command plus an extra pricing/rate-limit link, giving slightly more clarity and actionability without unnecessary length.
Codex alone: 2/3 · 13 s · 47,492 tokens¶
Tools: web_search ×1
Judge: The 500 RPM figure for free API key usage is not confirmed in the reference and may be inaccurate/unverified
Yes. Jina Reader supports keyless basic usage:
No Authorization header is needed. The current limit is 20 requests per minute per IP without a key; a free API key raises that to 500 RPM. Note that Jina Search (s.jina.ai) does require a key. Jina Reader documentation · Pricing and rate limits
Codex + Rose: 3/3 · 17 s · 87,992 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Jina AI"})
Yes. Jina Reader works without an API key:
Keyless use is free and limited to 20 requests/minute per IP. An API key raises the Reader limit to 500 RPM; Jina Search (s.jina.ai) does require a key.
Source: Jina Reader via Rose vendor data, current as of October 1, 2026.
f8: Does Zyte have a SOC 2 report?¶
Gold facts. No SOC 2 is listed on Zyte's trust center; it lists ISO 27001.
Judge. Winner: tie. Both answers correctly state no SOC 2 is listed, cite the same trust center source, and give comparable actionable next steps, with no meaningful difference in correctness, completeness, or clarity.
Codex alone: 3/3 · 18 s · 80,469 tokens¶
Tools: web_search ×2
No—at least not publicly. Zyte’s current Security & Trust Center lists ISO 27001, GDPR, and CCPA, but not SOC 2. It offers penetration-test reports under NDA.
For vendor due diligence, confirm directly with sales@zyte.com, since an unpublished or in-progress SOC 2 report is still possible.
Codex + Rose: 3/3 · 18 s · 133,244 tokens¶
Tools: rose ×1, web_search ×1
Rose calls: get_offers({"brand": "Zyte"})
No public SOC 2 report is listed. Zyte’s Trust Center identifies ISO 27001 certification, GDPR, and CCPA compliance, but not SOC 2.
Based on Rose’s vendor data as of October 1, 2026, treat Zyte as not publicly SOC 2 certified unless their sales/security team provides a private report.
f9: Does Bright Data offer an MCP server, and how does it authenticate?¶
Gold facts. Yes, an official hosted MCP server at https://mcp.brightdata.com/mcp, authenticated with an API token (passed as ?token=
Judge. Winner: tie. Answer B includes the same core facts plus practical security guidance and more specific, plausible source citations, without sacrificing accuracy or clarity (though both omit the free tier detail).
Codex alone: 2/3 · 21 s · 90,189 tokens¶
Tools: web_search ×2
Judge: Missing free tier detail: 5,000 requests per month
Yes—Bright Data offers an official MCP server in two forms:
- Hosted: Connect to
https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN - Self-hosted/local: Run
npx @brightdata/mcpand provide the token as theAPI_TOKENenvironment variable.
Authentication uses a Bright Data API token, obtained from account settings—not OAuth. The hosted configuration places it in the connection URL, while the local server keeps it in an environment variable. Treat the full hosted URL as a secret because it contains the credential. Bright Data MCP documentation, official server manifest.
Codex + Rose: 2/3 · 14 s · 88,928 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Bright Data"})
Judge: Missing free tier detail (5,000 requests/month) mentioned in reference
Yes. Bright Data offers an official MCP server with two connection options:
- Hosted:
https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN - Local:
npx @brightdata/mcp, withAPI_TOKENset as an environment variable.
Authentication uses a Bright Data API token. Source: Bright Data MCP repository.
These details come from Rose’s vendor data as of October 1, 2026.
g1: How do I add Tavily's MCP server to Claude Code?¶
Gold facts. claude mcp add --transport http tavily https://mcp.tavily.com/mcp/ (authenticate with OAuth or a Tavily API key as tavilyApiKey or a Bearer header), or run the local server: claude mcp add tavily -e TAVILY_API_KEY=
Judge. Winner: rose. Answer A fully matches the reference by providing both the hosted OAuth setup and the local npx server with the API key, whereas Answer B omits the local server option entirely.
Codex alone: 2/3 · 28 s · 86,520 tokens¶
Tools: web_search ×2
Judge: Does not mention the local server alternative (claude mcp add tavily -e TAVILY_API_KEY=
-- npx -y tavily-mcp) Judge: Does not mention that the Tavily API key can be obtained at app.tavily.com Judge: URL used lacks trailing slash (https://mcp.tavily.com/mcp vs reference's https://mcp.tavily.com/mcp/), a minor discrepancy
The simplest and safest approach is Tavily’s hosted MCP server with OAuth:
Then:
- Start Claude Code with
claude. - Enter
/mcp. - Select
tavilyand complete authentication in your browser. - Verify with:
--scope user makes Tavily available in every project. Omit it to configure Tavily only for the current project.
Alternatively, authenticate with an API key:
claude mcp add --transport http --scope user tavily \
'https://mcp.tavily.com/mcp/?tavilyApiKey=YOUR_API_KEY'
OAuth is preferable because putting a key in the URL can expose it through shell history or configuration. Once connected, Claude Code gains Tavily’s search, extraction, site-map, and crawling tools.
Sources: Tavily MCP server documentation, Claude Code MCP documentation.
Codex + Rose: 2/3 · 22 s · 87,179 tokens¶
Tools: rose ×1
Rose calls: get_access({"brand": "Tavily"})
Judge: Does not mention the alternative authentication option for the hosted server via a Tavily API key passed as tavilyApiKey or a Bearer header; only OAuth is mentioned.
Add Tavily’s hosted MCP server to Claude Code:
Then run Claude Code, enter /mcp, select tavily, and authenticate with OAuth.
Alternatively, use the local server with an API key:
Get an API key from the Tavily dashboard. Confirm installation with:
These setup details come from Rose’s Tavily vendor data as of October 1, 2026, sourced from Tavily’s MCP documentation.
g2: Give me the mcpServers JSON config for the Brave Search MCP server for Cursor.¶
Gold facts. {"mcpServers": {"brave-search": {"command": "npx", "args": ["-y", "@brave/brave-search-mcp-server"], "env": {"BRAVE_API_KEY": "
Judge. Winner: rose. Answer A matches the reference config exactly (command, args, env) and cites Rose's vendor data for verification, whereas Answer B adds an unverified extra "--transport stdio" argument not present in the reference.
Codex alone: 3/3 · 20 s · 48,373 tokens¶
Tools: web_search ×1
Done — add this to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server",
"--transport",
"stdio"
],
"env": {
"BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
}
}
}
}
Get an API key from Brave Search API. This uses Brave’s current official package; the older @modelcontextprotocol/server-brave-search package is deprecated. Official server documentation
Codex + Rose: 3/3 · 12 s · 86,681 tokens¶
Tools: rose ×1
Rose calls: get_access({"brand": "Brave Search API"})
Done — add this to Cursor’s MCP configuration:
{
"mcpServers": {
"brave": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server"],
"env": {
"BRAVE_API_KEY": "<your_BRAVE_API_KEY>"
}
}
}
}
Get your key from the Brave Search API dashboard. Source: official Brave MCP server, via Rose vendor data as of October 1, 2026.
g3: What are the Python SDK install commands for Exa, Firecrawl and Tavily?¶
Gold facts. pip install exa-py; pip install firecrawl-py; pip install tavily-python.
Judge. Winner: tie. Both give correct install commands, but B adds a useful combined install command and more specific SDK source links, offering slightly more actionable completeness without sacrificing correctness.
Codex alone: 3/3 · 19 s · 82,082 tokens¶
Tools: web_search ×2
Or install all three together:
Sources: Exa, Firecrawl, Tavily.
Codex + Rose: 3/3 · 16 s · 89,657 tokens¶
Tools: rose ×3
Rose calls: get_access({"brand": "Exa"}), get_access({"brand": "Firecrawl"}), get_access({"brand": "Tavily"})
From Rose’s vendor data as of October 1, 2026:
Docs: Exa · Firecrawl · Tavily
g4: How do I connect Apify to my AI assistant?¶
Gold facts. Through Apify's official hosted MCP server at https://mcp.apify.com (OAuth or an Apify API token, APIFY_TOKEN). Sign up at apify.com; the free plan includes $5 of monthly platform credit.
Judge. Winner: base. Answer B covers the same core facts (hosted MCP server, OAuth/API token) but adds concrete, actionable steps for multiple clients (ChatGPT, Codex, Cursor, custom agents, REST API fallback) and a test command, making it more complete and useful without sacrificing correctness.
Codex alone: 2/3 · 42 s · 159,750 tokens¶
Tools: command_execution ×1, web_search ×3
Judge: Does not mention the free plan includes $5 of monthly platform credit
The easiest connection is through Apify’s hosted MCP server.
- Create an Apify account and get your API token from Apify Console → Settings → API & Integrations.
- Add this MCP server to your assistant:
- Authenticate with Apify when prompted. OAuth is preferable because it avoids storing the token in configuration.
- Test it with: “Use Apify to scrape
https://example.comand summarize the page.”
Apify MCP lets the assistant discover and run Actors, then access their results. You can restrict access to selected tools or Actors:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=apify/rag-web-browser,apify/web-fetch"
}
}
}
The exact setup depends on your assistant:
- ChatGPT: Enable Developer mode, open Settings → Apps & Connectors → Create, enter
https://mcp.apify.com, choose OAuth, and authorize Apify. ChatGPT instructions - Codex: After installing and signing into the Apify CLI, run
apify mcp install codex. - Cursor/VS Code/Claude: Add the JSON above to the client’s MCP configuration.
- Custom OpenAI agent: Connect
https://mcp.apify.comas a streamable HTTP MCP server and passAuthorization: Bearer $APIFY_TOKEN. OpenAI Agents SDK example - No MCP support: Call the Apify REST API as an ordinary function tool: start an Actor run, wait for completion, then retrieve its dataset.
Keep the API token server-side, restrict the available Actors, and remember that Actor executions may incur Apify usage charges. The complete configuration reference is in the Apify MCP documentation.
Codex + Rose: 2/3 · 15 s · 86,751 tokens¶
Tools: rose ×1
Rose calls: get_access({"brand": "Apify"})
Judge: Does not mention the free plan includes $5 of monthly platform credit.
You can connect Apify through its official MCP server.
The simplest configuration is:
Add this to your assistant’s MCP configuration, restart it, then complete the Apify OAuth browser sign-in when prompted.
Alternatively, run the MCP server locally:
Set APIFY_TOKEN in the server environment using a token from your Apify Console. Don’t place the token directly in source code or commit it.
Once connected, your assistant can discover and run Apify Actors for scraping and browser automation. See the Apify MCP documentation.
These connection details come from Rose’s Apify vendor sheet, current as of October 1, 2026.
c1: Exa or Tavily for about 30,000 searches a month: which is cheaper and by how much?¶
Gold facts. Exa is slightly cheaper: about $200/month pay as you go (30,000 auto searches at $7 per 1,000 minus the $10 monthly free credit), or about $110 using 'instant' search at $4 per 1,000. Tavily costs about $220/month (Startup plan, 38,000 credits, or Bootstrap $100 plus overage).
Judge. Winner: tie. Answer B more completely mirrors the reference's two Exa pricing tiers (instant ~$110-120 and auto ~$200-210) alongside Tavily's ~$220, giving a more accurate and actionable breakdown than Answer A's single auto-only comparison.
Codex alone: 2/3 · 33 s · 91,843 tokens¶
Tools: web_search ×2
Judge: Exa Instant listed as $120 vs reference ~$110 Judge: Exa pay-as-you-go/Fast-Auto listed as $210 vs reference ~$200 Judge: Added an extra 'Tavily Basic — pay-as-you-go' $240 figure not in reference (unverified)
Exa is cheaper at 30,000 searches/month.
| Configuration | Monthly cost |
|---|---|
| Exa Instant Search | $120 |
| Exa Fast/Auto Search | $210 |
| Tavily Basic — Startup plan | $220 |
| Tavily Basic — pay-as-you-go | $240 |
So, compared with Tavily’s cheapest suitable plan:
- Exa Instant saves $100/month—about 45%.
- Exa Fast/Auto saves $10/month—about 5%.
This assumes up to 10 Exa results per request and Tavily Basic at one credit per search. Tavily Advanced consumes two credits, making 30,000 searches substantially more expensive. Optional extraction, summaries, or extra results can change the totals.
Sources: Exa pricing, Tavily pricing, Tavily credit usage.
Codex + Rose: 3/3 · 15 s · 88,390 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 30000, "vendors": ["Exa", "Tavily"]})
Exa is cheaper for 30,000 standard searches/month.
- Exa: about $200/month
- Tavily: about $220/month
- Savings: $20/month or $240/year—roughly 9% cheaper
This assumes Exa’s default “auto” search and Tavily’s basic search; advanced/deep modes use different rates. Figures come from Rose’s vendor data as of October 1, 2026: Exa pricing, Tavily API credits.
c2: SerpApi vs Serper for 50,000 Google searches a month: what would each cost?¶
Gold facts. Serper: the $50 Starter pack (50,000 queries, valid 6 months) covers it, so about $50 a month. SerpApi has no 50,000 plan: Big Data ($275, 30,000) renewed early, about $550, or Searcher ($725, 100,000). Serper is about 10 times cheaper; SerpApi covers many more engines.
Judge. Winner: rose. Answer A correctly reflects the reference's key $550 (Big Data renewed early) SerpApi figure with accurate per-1000 math, while Answer B leads with the less relevant $725 plan and bungles its attempt to compute the renewed-Big-Data cost ($458.33 instead of the correct ~$550).
Codex alone: 2/3 · 39 s · 136,572 tokens¶
Tools: web_search ×3
Judge: Answer states SerpApi's early-renewal 30,000 plan averages to about $458.33/month for 50,000 searches, whereas the reference indicates the early-renewal cost is about $550 (not $458.33). Judge: Answer omits the reference's point that SerpApi covers many more search engines, a nuance that should be weighed against the price difference.
At current public pricing:
| Provider | Plan needed for 50,000 searches | Cost | Cost per 1,000 |
|---|---|---|---|
| Serper | 50,000-credit top-up | $50/month | $1.00 |
| SerpApi | 100,000-search “Searcher” plan | $725/month | $14.50 per 1,000 actually used |
Serper is prepaid rather than a subscription; credits last six months. Serper pricing
SerpApi has no standard 50,000-search tier—the plans jump from 30,000 at $275 to 100,000 at $725. SerpApi pricing
So the straightforward comparison is $50 vs. $725 per month: Serper saves $675/month, or $8,100/year, before taxes.
One nuance: repeatedly early-renewing SerpApi’s 30,000-search plan would average about $458.33/month at exactly 50,000 searches, but billing would be irregular and the throughput limit lower.
Codex + Rose: 2/3 · 19 s · 87,445 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 50000, "vendors": ["SerpApi", "Serper"]})
Judge: Answer omits that SerpApi supports many more search engines than Serper, a point included in the reference.
At 50,000 Google searches/month:
| Vendor | Cost | Effective rate |
|---|---|---|
| Serper | $50 prepaid pack | $1 / 1,000 searches |
| SerpApi | $550/month Big Data plan | $11 / 1,000 searches |
Serper is $500/month cheaper—about 91% less. Its credits are prepaid, valid for six months, and taxes may be added. SerpApi is a monthly subscription.
Figures come from Rose’s vendor data as of October 1, 2026: Serper and SerpApi.
c3: Brave, Exa or Tavily for 5,000 searches a month: rank them by monthly cost.¶
Gold facts. Brave about $20 (5,000 at $5 per 1,000 minus the $5 monthly credit); Exa about $25 (5,000 auto searches at $7 per 1,000 minus $10 free credit; about $10 with instant search); Tavily about $38 (Project $30 for 4,000 credits plus 1,000 at $0.008) or pay as you go about $32 after the 1,000 free credits.
Judge. Winner: rose. Answer A's cost figures ($20 Brave, $25 Exa, $38 Tavily) align with the reference values, while Answer B's Tavily figure ($40) ignores the free credit allowance cited in the reference, making its ranking numerically less accurate despite correct ordering.
Codex alone: 2/3 · 31 s · 90,743 tokens¶
Tools: web_search ×2
Judge: Tavily cost stated as $40 (5,000 × $0.008) ignoring the 1,000 free credits, which would make pay-as-you-go about $32 per the reference, not $40 Judge: Reference also cites Tavily Project plan at about $38 ($30 for 4,000 credits plus 1,000 at $0.008), which the answer dismisses without correctly recalculating the PAYG alternative
Done — for 5,000 standard/basic API searches per month, cheapest to most expensive:
✅ Verified¶
| Rank | Provider | Monthly cost | Calculation |
|---|---|---|---|
| 1 | Brave | $20 | $25 usage at $5/1,000, minus $5 monthly credit |
| 2 | Exa | $25 | $35 usage at $7/1,000, minus $10 monthly credit |
| 3 | Tavily | $40 | 5,000 basic searches × $0.008/credit |
Sources: Brave pricing, Exa pricing, Tavily pricing.
Tavily’s advanced search consumes two credits, making 5,000 searches $80. Its $30 Project plan only includes 4,000 credits, so pay-as-you-go is the cheapest published option that covers 5,000. Exa’s one-time $10 onboarding bonus may reduce its first month to $15.
Codex + Rose: 2/3 · 20 s · 89,296 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 5000, "vendors": ["Brave", "Exa", "Tavily"]})
Judge: Brave pricing explanation says '1,000 free searches, then 4,000 × $5/1,000' which mischaracterizes the actual billing mechanism (a $5 monthly credit applied to $5/1,000 pricing) even though the final $20 figure matches.
At 5,000 standard searches/month, cheapest to most expensive:
- Brave Search API — $20/month
-
1,000 free searches, then 4,000 × $5/1,000.
-
Exa — about $25/month
-
Based on default
autosearch pricing and monthly free credits. -
Tavily — $38/month
- Project plan: $30 for 4,000 basic searches, plus $8 overage for 1,000.
Verdict: Brave is cheapest, saving roughly $5/month versus Exa and $18/month versus Tavily.
Figures come from Rose’s normalized vendor data as of October 1, 2026. Exa search modes and Tavily advanced searches cost more than the standard modes compared here.
c4: Zyte or Bright Data for scraping 500,000 simple pages a month: which is cheaper?¶
Gold facts. Zyte: from about $65/month pay as you go at the cheapest tier ($0.13 per 1,000), more for harder sites or browser rendering. Bright Data Web Unlocker: $1.50 per 1,000 pay as you go, about $750, or the $499 plan (about 383,000 included, then $1.30 per 1,000), about $650. Zyte is much cheaper for simple sites.
Judge. Winner: tie. Answer B includes both Bright Data pricing options (PAYG and Scale plan) matching the reference, while Answer A omits the $750 PAYG figure and adds an inaccurate claim about a '38,461 request trial' not supported by the reference.
Codex alone: 3/3 · 23 s · 52,404 tokens¶
Tools: web_search ×1
Zyte is substantially cheaper for 500,000 simple pages/month.
Assuming plain HTML requests without full browser rendering:
| Provider | Estimated monthly cost |
|---|---|
| Zyte API | $65 pay-as-you-go |
| Bright Data Web Unlocker | about $651 on its $499 Scale plan |
| Bright Data Web Unlocker PAYG | $750 |
Zyte’s simple-site rate is $0.13 per 1,000 successful responses: 500 × $0.13 = $65. Zyte pricing
Bright Data charges $1.50 per 1,000 PAYG, or $499 for 383,000 requests plus $1.30 per 1,000 additional requests: $499 + (117 × $1.30) = $651.10. Bright Data Web Unlocker pricing
Verdict: Choose Zyte if these genuinely are simple, unrendered pages—roughly 90% cheaper on published pricing. Confirm several representative URLs in Zyte’s calculator because it assigns pricing per website; harder targets may enter higher tiers. If you need browser interaction rather than basic page retrieval, the comparison changes because Bright Data’s browser product is bandwidth-priced.
Codex + Rose: 3/3 · 20 s · 87,728 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 500000, "vendors": ["Zyte", "Bright Data"]})
Zyte is cheaper—about 10× cheaper for 500,000 simple pages/month.
- Zyte: $65/month at $0.13 per 1,000 simple HTTP pages.
- Bright Data: $651.10/month via Web Unlocker—$499 for 383,000 requests, plus $152.10 for the remaining 117,000.
- Savings with Zyte: $586.10/month.
Zyte automatically assigns each website a difficulty tier, so harder sites, browser rendering, screenshots, or extraction increase the price. Bright Data includes 5,000 free requests monthly; Zyte instead offers roughly 38,461 requests as a one-time trial.
Figures come from Rose’s normalized vendor data as of October 1, 2026.
c5: Firecrawl, ScrapingBee or ScraperAPI for 100,000 basic (non-JS) pages a month: what does each cost?¶
Gold facts. ScraperAPI: Hobby $49/month (100,000 credits, 1 credit per basic page). ScrapingBee: Freelance $49/month (250,000 credits, 1 credit per page without JS). Firecrawl: Standard $99/month (100,000 credits). ScraperAPI and ScrapingBee tie at $49; Firecrawl is about double.
Judge. Winner: tie. Both answers correctly match the reference pricing, structure, and conclusions with similar clarity, links, and actionable detail, making them essentially equivalent in quality.
Codex alone: 3/3 · 41 s · 141,266 tokens¶
Tools: web_search ×3
For 100,000 basic, non-JavaScript pages per month, assuming ordinary domains and one credit per successful page:
| Provider | Required plan | Monthly billing | Annual commitment | Included capacity |
|---|---|---|---|---|
| Firecrawl | Standard | $99/mo | $83/mo ($990/year) | 100,000 pages |
| ScrapingBee | Freelance | $49/mo | Not advertised | 250,000 pages |
| ScraperAPI | Hobby | $49/mo | $44.10/mo ($529.20/year) | 100,000 pages |
So:
- Cheapest month-to-month: ScrapingBee and ScraperAPI, tied at $49/month.
- Best capacity at that price: ScrapingBee—its $49 plan includes 250,000 basic requests.
- Cheapest with annual billing: ScraperAPI at $44.10/month equivalent.
- Firecrawl: roughly twice the price, but it returns processed content such as clean Markdown and includes crawling/content-extraction functionality rather than primarily acting as a proxy API.
The calculation uses each vendor’s basic rate:
- Firecrawl: one credit per basic page. Official pricing
- ScrapingBee: one credit with classic proxies and JavaScript disabled. Prices exclude VAT. Official pricing and credit rules
- ScraperAPI: one credit for a normal request; protected domains and special features consume more. Official pricing and credit rules
These numbers rise substantially for premium proxies, protected domains, SERPs, or anti-bot bypassing.
Codex + Rose: 3/3 · 29 s · 136,806 tokens¶
Tools: rose ×4
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 100000, "vendors": ["Firecrawl", "ScrapingBee", "ScraperAPI"]}), get_offers({"brand": "Firecrawl"}), get_offers({"brand": "ScrapingBee"}), get_offers({"brand": "ScraperAPI"})
Done — for 100,000 basic, non-JavaScript pages per month:
| Vendor | Cheapest suitable plan | Monthly billing | Annual commitment | Effective cost |
|---|---|---|---|---|
| ScraperAPI | Hobby, 100k credits | $49/month | $44.10/month | $0.49/1k monthly |
| ScrapingBee | Freelance, 250k credits | $49/month | No discount listed | $0.49/1k used |
| Firecrawl | Standard, 100k credits | $99/month | $83/month | $0.99/1k monthly |
ScraperAPI and Firecrawl match the volume exactly. ScrapingBee supplies 250,000 non-JS pages for the same $49, making it the best value if usage may grow.
Important credit rules:
- ScrapingBee: disable JS rendering; otherwise pages cost 5 credits each. No overages—upgrade or renew early.
- ScraperAPI: standard pages cost 1 credit; rendering or premium proxies cost 10+. No overages on Hobby.
- Firecrawl: basic pages cost 1 credit, but JSON extraction and certain advanced formats add 4 credits per page. Paid overage is available.
Free access: Firecrawl offers 1,000 pages monthly without a card; ScraperAPI offers 1,000 monthly plus a one-time 5,000-credit trial; ScrapingBee offers a one-time 1,000-credit trial.
Figures come from Rose’s normalized vendor data dated October 1, 2026.
c6: For an AI agent that needs search plus page content, compare Exa, Tavily, Linkup and Parallel on price per 1,000 searches and per 1,000 pages.¶
Gold facts. Exa: $7 per 1,000 searches (auto; $4 instant), $1 per 1,000 pages. Tavily: $8 per 1,000 basic searches, $1.60 per 1,000 extracted pages (pay as you go). Linkup: $5 per 1,000 searches, $1 per 1,000 pages (no JS). Parallel: $1 per 1,000 searches (Turbo/Fast; $5 Basic/Advanced), $1 per 1,000 pages. Parallel is cheapest on search; pages are about $1 everywhere except Tavily.
Judge. Winner: rose. Answer A reproduces every reference figure exactly (including Exa's $4 instant‑search price and Tavily's $1.60/$3.20 page cost) and adds correctly‑sourced nuance (free‑credit tiers, Linkup JS surcharge) without distorting the baseline numbers, whereas Answer B blurs Linkup's page price into a vague $1–$6 range and omits the Exa instant‑search detail, making it slightly less faithful to the reference facts.
Codex alone: 2/3 · 59 s · 260,444 tokens¶
Tools: web_search ×5
Judge: Exa's $4 instant search price is omitted (only $7 auto price mentioned) Judge: Linkup's page price is given as a range $1-$6, while reference specifies a single $1 per 1,000 pages for no-JS mode, adding ambiguity not supported by reference
Bottom line: Parallel is cheapest for search, while Exa and Parallel tie for standard page extraction at $1 per 1,000 pages.
Current public pay-as-you-go pricing, normalized to USD:
| Provider | 1,000 searches | 1,000 extracted pages | Notes |
|---|---|---|---|
| Parallel | $1–$5 | $1 | Turbo/Fast search is $1; Basic/Advanced is $5. Each search returns up to 10 URLs with compressed excerpts. |
| Linkup | $5–$6 | $1–$6 | Price varies by search output and Fetch mode; the upper Fetch tier is intended for harder pages. |
| Exa | $7 | $1 per content type | Search includes up to 10 results. Text, highlights, and summaries can be separately metered content types. |
| Tavily | $8 basic / $16 advanced | $1.60 basic / $3.20 advanced | PAYG is $0.008/credit; search costs 1–2 credits and extraction costs 1–2 credits per five successful URLs. |
For an agent doing 1,000 searches and fetching five pages after each search:
| Provider | Estimated total |
|---|---|
| Parallel | $6–$10 |
| Exa | $12 |
| Tavily | $16 basic / $32 advanced |
| Linkup | $10–$36 |
The general formula is:
cost = search CPM + pages-per-search × page CPM
Important caveats:
- These tiers are not quality-equivalent. “Advanced,” JavaScript rendering, live crawling, and harder-site handling differ.
- Search responses already include snippets or compressed excerpts. Only count page extraction when the agent needs fuller page content.
- Tavily becomes cheaper on prepaid monthly plans: credits fall from $0.008 to $0.005–$0.0075, making basic search roughly $5–$7.50/1,000 and basic extraction $1–$1.50/1,000 pages.
- Free credits and enterprise discounts are excluded.
Sources: Exa pricing, Tavily credit pricing, Linkup pricing, Parallel pricing.
Codex + Rose: 3/3 · 40 s · 145,655 tokens¶
Tools: rose ×6
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "vendors": ["Exa", "Tavily", "Linkup", "Parallel"]}), compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 1000, "vendors": ["Exa", "Tavily", "Linkup", "Parallel"]}), get_offers({"brand": "Exa"}), get_offers({"brand": "Tavily"}), get_offers({"brand": "Linkup"}), get_offers({"brand": "Parallel"})
For a workload of 1,000 searches plus 1,000 fetched pages, Parallel is cheapest on published base rates.
| Vendor | Per 1,000 searches | Per 1,000 pages | Combined nominal cost | Effective cost after recurring free credit* |
|---|---|---|---|---|
| Parallel | $1 Turbo/Fast; $5 Basic/Advanced | $1 | $2 | $0 |
| Linkup | $5 standard results; $6 sourced answer | $1 standard | $6 | $0 |
| Exa | $7 Auto; $4 Instant | $1 per content type | $8 using Auto | $0 |
| Tavily | $8 Basic; $16 Advanced | $1.60 Basic; $3.20 Advanced | $9.60 Basic | $1.60 |
*Free allowances use a shared balance across searches and pages:
- Parallel: $5/month, requiring a card on file.
- Linkup: $20/month for eligible accounts using a professional email.
- Exa: $10/month, no card required.
- Tavily: 1,000 credits/month, no card required. The example workload consumes 1,200 credits, hence $1.60 payable.
Important caveats:
- Exa’s $1 page rate is per content type; requesting text, highlights, and summary can bill each separately.
- Linkup’s page price rises to $5/1,000 with JavaScript rendering or Pro mode, and $10 with both.
- Parallel’s $1 search tier returns up to ten results; extra results cost more.
- These prices compare base search results, not deep research endpoints.
Verdict: choose Parallel for minimum unit cost. Linkup has the most generous recurring free credit, provided the account qualifies. Exa is competitive when its Instant search is sufficient; Tavily is the most expensive here but still inexpensive for page extraction.
Figures come from Rose’s normalized vendor data as of October 1, 2026: Parallel pricing, Linkup pricing, Exa pricing, and Tavily API credits.
l1: List web search APIs that have an official MCP server and at least 1,000 free searches every month.¶
Gold facts. Non-exhaustive; must include most of: Parallel (5,000/month), Bright Data (5,000/month shared across products), Linkup (about 4,000/month, professional email), Exa (about 1,428/month), Tavily (1,000/month), Brave (about 1,000/month, card required), Browserbase (1,000/month). Must not include Firecrawl (its 1,000 free credits are only about 500 searches) or SerpApi (250).
Judge. Winner: rose. Answer A closely matches the reference list (including Linkup and Browserbase, which B omits) and avoids introducing unverified or borderline providers, whereas B misses key reference entries and adds several speculative/non-standard services (freesea, You.com, SERPdive, Liner) that aren’t corroborated and complicate the buyer’s decision.
Codex alone: 2/3 · 130 s · 926,571 tokens¶
Tools: web_search ×12
Judge: Missing Linkup (about 4,000/month) which is one of the reference's required vendors Judge: Missing Browserbase (1,000/month) which is one of the reference's required vendors
Done — as of October 1, 2026, these web-search APIs meet the requirement through vendor-operated or vendor-maintained MCP servers:
| Provider | Recurring free search allowance | Notes |
|---|---|---|
| freesea | No monthly cap | Free official API and MCP server; 100 requests/minute, but capacity is shared and not guaranteed. |
| Bright Data | 5,000/month | Web search is included in its official hosted and self-hosted MCP server. |
| Parallel | 1,000–5,000/month | $5 recurring monthly credit; search costs $0.001–$0.005 per request. Its official Search MCP also supports anonymous use. |
| You.com | 100/day, roughly 2,800–3,100/month | Keyless official MCP profile: https://api.you.com/mcp?profile=free. |
| Exa | About 1,428/month | $10 recurring monthly credit ÷ $7 per 1,000 standard searches. Full-page content can incur additional charges. Official MCP server. |
| Brave Search | 1,000/month | $5 recurring credit at $5 per 1,000 searches; requires a card for verification. Official MCP repository. |
| Tavily | 1,000 basic searches/month | Advanced searches consume two credits, reducing the allowance to 500. Official MCP server. |
| SERPdive | 1,000 Mako searches/month | No card required. Moby searches cost 1.5 credits, so only Mako reaches 1,000. |
A conditional additional option is Liner: 200 free searches daily, but only for one year and only for the first 1,000 eligible users.
I excluded providers whose advertised “1,000 free credits” produce fewer than 1,000 actual searches—for example, Firecrawl at roughly 500 searches and HasData at roughly 100.
Codex + Rose: 3/3 · 21 s · 93,953 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "min_free_per_month": 1000, "require": ["official_mcp_server"]})
Done — eight APIs meet both criteria.
Rose vendor data as of October 1, 2026:
| API | Free searches/month | Important condition |
|---|---|---|
| Parallel | 5,000 | Card required to receive recurring credits |
| Bright Data | 5,000 | Shared credit pool; no card required |
| Linkup | 4,000 | Requires an eligible professional-email account |
| Exa | 1,428 | Based on default auto search pricing; no card required |
| Apify | ≈1,111 | Estimate using the free credit with its official Google Search Results Scraper |
| Tavily | 1,000 basic searches | Advanced searches consume two credits; no card required |
| Brave Search API | 1,000 | Card required for identity verification |
| Browserbase | 1,000 | Search API calls; no card required |
All eight are recorded by Rose as having vendor-official MCP servers. Free allowances may be shared with other API products rather than reserved exclusively for search.
l2: Which web scraping APIs have a recurring monthly free tier with no credit card?¶
Gold facts. Non-exhaustive; must include most of: Firecrawl (1,000 pages/month), ScraperAPI (1,000 credits/month), Bright Data (5,000 requests/month), Tavily (1,000 credits), Exa ($10 credit), Apify ($5 platform credit), Browserbase (free plan). ScrapingBee and Zyte offer only one-time trials.
Judge. Winner: rose. Answer A matches all seven core providers from the reference (including Exa and Browserbase, which Answer B omits entirely) with accurate, well-sourced figures, whereas Answer B introduces several unverified or likely fabricated vendors while missing key reference items.
Codex alone: 2/3 · 71 s · 336,068 tokens¶
Tools: web_search ×5
Judge: Exa ($10 credit) is not mentioned, though it's a key vendor in the reference list. Judge: Browserbase (free plan) is not mentioned, though it's a key vendor in the reference list.
Verified as of October 1, 2026: these services advertise a monthly-renewing free tier without requiring a credit card.
| API | Recurring free allowance | Important limitation |
|---|---|---|
| Diffbot Extract API | 10,000 credits/month | Extracting one page costs 1 credit; limited to 5 requests/minute. Bulk crawling requires a paid plan. |
| ScrapingAnt | 10,000 credits/month | Credit cost varies with rendering, proxies, and extraction features. |
| ZenRows | 5,000 credits/month | Advanced proxies and JavaScript rendering use credit multipliers. |
| Bright Data Web Scraper API | 5,000 records/month | Best suited to its prebuilt scrapers; Browser API and standalone proxy products are separate. |
| Firecrawl | 1,000 credits/month | Approximately 1,000 basic page scrapes; structured extraction and browser interaction can cost more. |
| ScraperAPI | 1,000 credits/month | First seven days include a temporary 5,000-credit allowance; afterward it drops to 1,000/month. |
| Scrape.do | 1,000 successful calls/month | Includes rendering, residential/mobile proxies, geotargeting, and CAPTCHA handling. |
| Tavily | 1,000 credits/month | Primarily agent-oriented search, extract, crawl, and map APIs; endpoint costs vary. |
| Browserless | 1,000 units/month | Browser automation rather than a conventional HTML-only scraping API; proxy traffic consumes additional units. |
| Context.dev | 500 credits/month | Basic scrape is 1 credit; structured extraction and brand retrieval cost more. |
| Apify | $5 platform credit/month | Flexible scraping platform rather than one uniform API; actual page capacity depends on the Actor and compute usage. |
A few newer/smaller providers also make the same recurring, no-card claim: Scrapio at 1,000 credits/month, LucidExtractor at 500 credits/month, and Datpaq at 250 requests/month.
Not recurring: ScrapingBee, Scrapfly, and Zyte currently provide signup or trial credits, not a permanently renewed monthly allowance.
For most projects, I’d start with:
- Firecrawl for Markdown, crawling, and RAG ingestion.
- Scrape.do or ScrapingAnt for protected or JavaScript-heavy pages.
- Diffbot for high-volume structured page extraction.
- Browserless when you need Playwright/Puppeteer-style interaction.
Codex + Rose: 3/3 · 25 s · 89,570 tokens¶
Tools: rose ×1
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 1, "min_free_per_month": 1, "require": ["free_without_card"]})
Seven APIs have a recurring monthly free allowance with no credit card, according to Rose’s vendor data as of October 1, 2026:
| API | Monthly free allowance |
|---|---|
| Exa | Up to 10,000 fetched pages from $10 shared credits |
| Tavily | Up to 5,000 basic extracted pages from 1,000 shared credits |
| Bright Data | 5,000 shared credits |
| Apify | $5 platform credit; approximately 2,192 pages using its RAG Web Browser |
| Firecrawl | 1,000 credits/pages |
| ScraperAPI | 1,000 API credits/standard pages |
| Browserbase | 1,000 Fetch API calls, plus one browser hour |
Allowances may be shared across products, and JavaScript rendering, premium proxies, structured extraction, or other advanced features can consume multiple credits per page.
l3: Among Firecrawl, Exa, Tavily, Brave, SerpApi, Serper, Jina, Linkup, Parallel, ScrapingBee, ScraperAPI, Zyte, Bright Data, Apify and Browserbase, which sell search only, and which also fetch page content?¶
Gold facts. Search only: Brave, SerpApi, Serper. Search and page content: Firecrawl, Exa, Tavily, Jina (Reader + Search), Linkup, Parallel (Search + Extract), ScrapingBee, ScraperAPI, Zyte, Bright Data (SERP + Web Unlocker), Apify (Actors), Browserbase (Search + Fetch).
Judge. Winner: base. Both reach the correct classification, but Answer B provides clearer per-vendor justification with a well-organized table and more precise capability descriptions, making it more actionable for the buyer.
Codex alone: 3/3 · 120 s · 876,286 tokens¶
Tools: web_search ×12
Using “fetch page content” to mean retrieving the body of an arbitrary result URL—not merely SERP snippets or the search-results HTML:
Search only¶
- Brave — URLs, snippets, enriched search context; no arbitrary-URL page-fetch API. Docs
- SerpApi — structured search-engine results, not destination-page content. Docs
- Serper — Google SERP endpoints only; no first-party arbitrary-page fetcher. Site
Search and page-content fetching¶
| Provider | Page-content capability |
|---|---|
| Firecrawl | Scrape/crawl APIs; search can optionally return full result content. Docs |
| Exa | Contents API returns full text, highlights, or summaries from URLs; content can be requested during search. Docs |
| Tavily | Extract API plus include_raw_content in search. Docs |
| Jina | Reader fetches arbitrary URLs; Search returns result content. Docs |
| Linkup | Separate Fetch endpoint returning cleaned Markdown or raw HTML. Site |
| Parallel | Extract API for URL content; Search also returns substantial relevant excerpts. Docs |
| ScrapingBee | Google Search API plus arbitrary-URL HTML/Markdown scraping. Docs |
| ScraperAPI | Google SERP API plus a general URL-scraping API. Docs |
| Zyte | Search API plus /extract for arbitrary URLs and rendered content. Docs |
| Bright Data | SERP API plus Web Unlocker and Web Scraper APIs. Overview |
| Apify | Search-result Actors plus website-content crawlers and arbitrary-page scrapers. Docs |
| Browserbase | Search returns lightweight results; separate Fetch API returns HTML, Markdown, or JSON. Search and Fetch |
So the short answer is: Brave, SerpApi, and Serper are search-only; the other twelve also sell page-content retrieval.
Codex + Rose: 3/3 · 45 s · 226,945 tokens¶
Tools: rose ×6
Rose calls: compare_offers({"niche": "web-search-scraping", "monthly_volume": 1000, "vendors": ["Firecrawl", "Exa", "Tavily", "Brave", "SerpApi", "Serper", "Jina", "Linkup", "Parallel", "ScrapingBee", "ScraperAPI", "Zyte", "Bright Data", "Apify", "Browserbase"], "unit": "search"}), compare_offers({"niche": "web-search-scraping", "monthly_volume": 1000, "vendors": ["Firecrawl", "Exa", "Tavily", "Brave", "SerpApi", "Serper", "Jina", "Linkup", "Parallel", "ScrapingBee", "ScraperAPI", "Zyte", "Bright Data", "Apify", "Browserbase"], "unit": "page"}), get_offers({"brand": "Jina AI"}), get_offers({"brand": "Brave"}), get_offers({"brand": "Serper"}), get_offers({"brand": "SerpApi"})
Using “fetch page content” to mean an arbitrary URL-to-content endpoint:
- Search only: Brave Search API, SerpApi, Serper.
- Search + page-content fetching: Firecrawl, Exa, Tavily, Jina AI, Linkup, Parallel, ScrapingBee, ScraperAPI, Zyte, Bright Data, Apify, and Browserbase.
SerpApi can return the search-results page itself in formats such as HTML or Markdown, but Rose does not classify it as an arbitrary webpage-fetching product. Apify and Bright Data provide the two capabilities through separate actors/products.
These classifications come from Rose’s normalized vendor data as of October 1, 2026.
l4: Which web search or scraping APIs for agents have a SOC 2 report?¶
Gold facts. Non-exhaustive; must include most of: Firecrawl, Exa, Tavily, Brave, SerpApi, Linkup, Parallel, ScrapingBee (SOC 2 Type II), Bright Data, Apify, Browserbase. Not shown for Serper, ScraperAPI or Zyte (ISO 27001 instead).
Judge. Winner: rose. Answer A matches the reference list exactly (including Linkup) and correctly flags Jina, Serper, ScraperAPI, Zyte as unconfirmed, while explicitly sourcing Rose's vendor data; Answer B omits Linkup and adds several unverified/likely inaccurate vendors (Jina, Perplexity, You.com, Oxylabs, Valyu) without grounding in Rose's data.
Codex alone: 3/3 · 86 s · 557,393 tokens¶
Tools: web_search ×9
Yes—several agent-oriented web search and scraping APIs publicly confirm current SOC 2 Type II reports. Verified as of October 1, 2026:
| Provider | Capability | SOC 2 evidence / access |
|---|---|---|
| Tavily | Search, extract, crawl, research | Type II; 2026 report available by request through its Trust Center |
| Exa | Search, page contents, crawling, research | Type II; current reports published in its Trust Center, according to Exa’s enterprise page |
| Brave Search API | Independent-index web search | Type II specifically scoped to the Search API; report available under NDA through its Trust Center |
| Parallel | Search, extraction, structured research | Type II; its Trust Center explicitly lists the report |
| SerpApi | Google and other search-engine results | Type II covering its production platform and APIs; see SerpApi Security |
| Firecrawl | Search, scrape, crawl, extract | Type II; independently audited, documented on its enterprise page |
| Apify | Scraping, crawling, browser automation | Type II; report request available through the Apify Trust Center |
| Browserbase | Search, fetch, cloud-browser automation | Type II; report available from its Trust Center, per Browserbase Enterprise |
| Bright Data | Scraping APIs, datasets, proxies | SOC 2 report available by contacting the vendor through its Trust Center |
| Oxylabs | Scraper API and Web Unblocker | Type II specifically covering those products; report access through the Oxylabs Trust Center |
| ScrapingBee | Rendered-page scraping and extraction | Type II; its DPA contemplates providing the report, and the vendor publicly announced completion. See DPA |
| Valyu | Search, URL contents, answers, deep research | Type II advertised for enterprise customers on its pricing page |
| Jina AI | Web search and URL-to-LLM reader | Claims Type I and Type II coverage on the Jina AI site |
Also worth checking, but verify report scope before procurement:
- Perplexity API: Perplexity states it is SOC 2 Type II audited, but its public material does not clearly show whether every API product and plan is within scope. Security page
- You.com API: its security addendum says a Type II report is available on request, but you should confirm that the developer API is explicitly in the audited system boundary. Security addendum
For vendor selection, request the actual report and check:
- The API product is named in the system description.
- The audit period is current, or there is a bridge letter.
- Exceptions and qualified opinions.
- Which Trust Services Criteria were covered.
- Subservice organizations and complementary user controls.
- Whether zero-data-retention applies to your pricing tier.
SOC 2 reports are usually confidential and gated behind an NDA; a badge or “SOC 2 compliant” statement alone is insufficient for vendor diligence.
Codex + Rose: 3/3 · 28 s · 132,703 tokens¶
Tools: rose ×2
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 1000, "require": ["soc2"]}), compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "require": ["soc2"]})
Rose’s vendor data identifies these providers as having SOC 2 coverage:
- Apify
- Brave Search API
- Bright Data
- Browserbase
- Exa
- Firecrawl
- Linkup
- Parallel
- ScrapingBee
- SerpApi
- Tavily
SOC 2 was not publicly confirmed in Rose’s sheets for Jina AI, Serper, ScraperAPI, or Zyte. “Has SOC 2” does not necessarily mean the full report is publicly downloadable; vendors commonly provide it through a trust center, under NDA, or upon request.
Figures come from Rose’s normalized vendor data as of October 1, 2026.
w1: What's the difference between Browserbase, Firecrawl and SerpApi?¶
Gold facts. Browserbase hosts headless browsers for agents (billed by browser hours and proxy bandwidth), plus newer Search and Fetch APIs. Firecrawl turns websites into LLM-ready markdown or structured data (scrape, crawl, search), billed in credits. SerpApi returns search engine results pages (Google, Bing and 100+ engines) as structured JSON, sold as monthly search plans.
Judge. Winner: rose. Answer A matches the reference facts more completely by explaining each tool's billing model (browser hours/proxy bandwidth, credits, search plans) and backs it up with concrete, sourced pricing figures and free-tier details, giving the buyer more actionable decision-making information than Answer B, which omits pricing entirely.
Codex alone: 2/3 · 23 s · 88,930 tokens¶
Tools: web_search ×2
Judge: Missing that Browserbase is billed by browser hours and proxy bandwidth Judge: Missing that Firecrawl billing is credit-based Judge: Missing that SerpApi is sold as monthly search plans Judge: Does not explicitly mention SerpApi covers 100+ search engines beyond Google/Bing (though implied)
The simplest distinction: Browserbase operates websites, Firecrawl turns websites into data, and SerpApi returns search-engine results.
| Product | Primary job | Best for | Typical output |
|---|---|---|---|
| Browserbase | Hosted browser infrastructure and automation | Logging in, clicking buttons, filling forms, downloads, multi-step browser agents, testing flows | Browser sessions, screenshots, extracted page data, session replays |
| Firecrawl | Scraping, crawling, and content extraction | Converting a page or whole site into clean content for RAG, research, or datasets | Markdown, structured JSON, HTML, links, metadata |
| SerpApi | Search-engine results APIs | Querying Google, Bing, Maps, Shopping, Flights, News, etc., with location/device controls | Structured SERP JSON or Markdown |
A practical example:
- SerpApi: Find the top 20 websites ranking for “best accounting software.”
- Firecrawl: Crawl those websites and extract their pricing and feature pages.
- Browserbase: Log into selected products, navigate their dashboards, and perform interactive tasks.
There is now some overlap:
- Browserbase also offers Search and Fetch APIs, but its distinctive strength remains long-lived, observable browser sessions and interaction.
- Firecrawl also offers search and browser interaction, but its core abstraction is extracting clean, LLM-ready content from URLs or whole sites.
- SerpApi uses browsers internally, but you do not control those browsers—it exposes specialized, structured search results.
Rule of thumb: choose SerpApi for discovery, Firecrawl for ingestion, and Browserbase for action.
Codex + Rose: 3/3 · 33 s · 142,896 tokens¶
Tools: rose ×5
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 10000, "vendors": ["Browserbase", "Firecrawl", "SerpApi"]}), get_offers({"brand": "Browserbase"}), get_offers({"brand": "Firecrawl"}), get_offers({"brand": "SerpApi"}), compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 10000, "vendors": ["Browserbase", "Firecrawl", "SerpApi"]})
They operate at different layers:
| Tool | Best thought of as | Choose it when… |
|---|---|---|
| Browserbase | Managed cloud browsers | An agent must interact with websites: navigate, click, log in, execute JavaScript, take screenshots, or automate workflows. It also offers simpler Search and Fetch APIs. |
| Firecrawl | Web-content extraction and crawling | You need clean Markdown/JSON from pages, whole-site crawling, URL discovery, structured extraction, or search results followed by usable page content. |
| SerpApi | Search-engine results API | You specifically need structured Google, Bing, Maps, Shopping, or other search-engine results—including SERP-specific fields such as rankings and knowledge panels. |
A practical rule:
- “Operate this website” → Browserbase
- “Turn this website into LLM-ready data” → Firecrawl
- “Tell me what Google/Bing returned” → SerpApi
There is some overlap: all three expose search-related functionality, while Browserbase and Firecrawl both support JavaScript-heavy sites and proxies. But their centers of gravity remain browser automation, content extraction, and SERP data respectively.
For an illustrative 10,000 searches/month, Rose calculates approximately:
- Browserbase: $83
- Firecrawl: $94
- SerpApi: $150 through two 5,000-search Developer-plan renewals
For 10,000 basic page fetches, it calculates Browserbase at $29 and Firecrawl at $44; SerpApi is not a general page-crawling product, so that comparison does not apply.
All have card-free recurring free tiers: Browserbase includes 1,000 Search/Fetch calls, Firecrawl has 1,000 shared credits—roughly 500 searches or 1,000 basic pages—and SerpApi includes 250 searches.
These figures come from Rose’s normalized vendor data as of October 1, 2026: Browserbase pricing, Firecrawl pricing, and SerpApi pricing.
w2: I need raw Google search results as structured JSON, not page content. Which vendors do that?¶
Gold facts. Non-exhaustive; SERP APIs: SerpApi, Serper, Bright Data SERP API, Zyte SERP, ScrapingBee Google Search API, ScraperAPI (structured Google SERP endpoint). Brave returns its own index, not Google.
Judge. Winner: tie. Answer B covers more of the reference vendors (including Zyte-equivalent coverage via additional structured SERP providers like DataForSEO, Oxylabs, SearchApi, Zenserp, Scale SERP) and adds useful actionable context on Google's own Custom Search API deprecation, making it more complete and actionable without sacrificing correctness.
Codex alone: 2/3 · 46 s · 190,825 tokens¶
Tools: web_search ×4
Judge: Claims Google's Custom Search JSON API is 'closed to new customers and scheduled for discontinuation on January 1, 2027' — this specific deprecation date is not substantiated and appears to be a fabricated detail not supported by Google's actual documentation. Judge: Reference lists ScrapingBee Google Search API, Zyte SERP, and ScraperAPI as additional correct vendors; answer omits these (acceptable since list is non-exhaustive, but worth noting).
You want a Google SERP API: it returns the result page itself as parsed JSON—rank, URL, title, snippet, ads, local results, People Also Ask, knowledge panels, etc.—without fetching destination pages.
| Vendor | Best fit |
|---|---|
| SerpApi | Mature, comprehensive Google SERP coverage and clean JSON; easiest default |
| Serper | Fast, inexpensive, simple API; good for organic results and AI pipelines |
| DataForSEO | Bulk SEO/rank-tracking workloads; extensive localization and SERP features |
| SearchApi | Broad Google vertical coverage and straightforward structured responses |
| Bright Data | High-volume enterprise infrastructure; parsed JSON available |
| Oxylabs | Enterprise-scale SERP collection with structured output and precise geolocation |
| Zenserp | Lower-cost conventional SERP API with batch support |
| Scale SERP | Another established option supporting structured JSON, HTML, or CSV |
My shortlist:
- Best overall: SerpApi
- Best price/speed for ordinary searches: Serper
- Best for bulk SEO data: DataForSEO
- Best for enterprise procurement/compliance: Bright Data or Oxylabs
Avoid Tavily, Exa, and generic scraping APIs if exact Google rankings matter: those are search/content-retrieval products, not faithful Google SERP feeds.
Google’s own Custom Search JSON API is not a practical new option: it is closed to new customers and scheduled for discontinuation on January 1, 2027. It also represents Programmable Search rather than the complete consumer Google SERP. Google documentation
Codex + Rose: 2/3 · 32 s · 136,467 tokens¶
Tools: rose ×7
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "search", "monthly_volume": 1000, "vendors": ["SerpApi", "Serper", "ScrapingBee", "Bright Data", "Apify", "ScraperAPI"]}), get_offers({"brand": "Serper"}), get_offers({"brand": "ScrapingBee"}), get_offers({"brand": "SerpApi"}), get_offers({"brand": "Bright Data"}), get_offers({"brand": "ScraperAPI"}), get_offers({"brand": "Apify"})
Judge: Missing Zyte SERP from the list of vendors offering structured Google SERP JSON.
Done — six covered vendors return parsed Google SERPs as structured JSON rather than page content:
- SerpApi — purpose-built, detailed JSON for organic results, ads, knowledge panels, maps, shopping, and more.
- Serper — streamlined Google JSON API covering web, images, news, maps, shopping, places, and Scholar.
- Bright Data SERP API — structured JSON with high-volume infrastructure and geotargeting.
- ScrapingBee Google Search API — JSON SERPs alongside its broader scraping API.
- ScraperAPI — parsed JSON for Google/Bing SERPs, although it is primarily a general scraping platform.
- Apify Google Search Results Scraper — structured dataset output via an Actor; more workflow-oriented than a simple search endpoint.
My shortlist: Serper for low-cost simplicity, SerpApi for the richest schema and broadest SERP-feature coverage, and Bright Data for scale.
These figures and capabilities come from Rose’s vendor data as of October 1, 2026. General search APIs such as Exa, Tavily, Brave, Linkup, Parallel, and Jina were excluded because they return their own search indexes or synthesized results—not raw Google SERPs.
w3: What do Jina's r.jina.ai and s.jina.ai do?¶
Gold facts. r.jina.ai (Reader) turns a URL into LLM-friendly markdown or text; s.jina.ai (Search) searches the web and returns the top results as LLM-friendly content. Billed in tokens; Jina AI is part of Elastic.
Judge. Winner: tie. Answer B is equally accurate but more complete and actionable, providing a concrete query-based example for s.jina.ai, noting PDF support for r.jina.ai, and avoiding the questionable claim in A that s.jina.ai strictly requires an API key.
Codex alone: 2/3 · 17 s · 86,862 tokens¶
Tools: web_search ×2
Judge: Does not mention billing is in tokens Judge: Does not mention Jina AI is part of Elastic
r.jina.ai— Reader: Fetches a specific public URL, renders it if necessary, removes navigation/ads/boilerplate, and returns the main content as clean, LLM-friendly Markdown. It also supports PDFs.
s.jina.ai— Search: Searches the web for a query and returns the top results—including their URLs and extracted page contents—in LLM-friendly text.
In short: r reads a URL; s searches for URLs and reads the results. They’re primarily grounding infrastructure for agents, RAG systems, and LLM applications—not embedding or generative-answer endpoints. Jina Reader documentation
Codex + Rose: 2/3 · 14 s · 89,487 tokens¶
Tools: rose ×1
Rose calls: get_offers({"brand": "Jina AI"})
Judge: Does not mention billing is in tokens Judge: Does not mention Jina AI is part of Elastic
r.jina.ai— Reader: Fetches a webpage and converts it into clean, LLM-friendly Markdown or text. Typically, prefix a URL:https://r.jina.ai/https://example.com.s.jina.ai— Search: Searches the web for a query and returns search results as LLM-friendly text. It requires a Jina API key.
In short: r reads a known URL; s searches for relevant URLs/content. Reader supports JavaScript rendering and outputs including Markdown, HTML, text, JSON, and screenshots. Jina Reader documentation
These details come from Rose’s Jina AI vendor data as of October 1, 2026.
w4: My agent needs to fetch pages behind anti-bot protection (Cloudflare, CAPTCHAs). Which APIs are built for that?¶
Gold facts. Non-exhaustive; must include several of: Bright Data Web Unlocker (CAPTCHA solving, proxy management), Zyte API (automatic ban handling), ScraperAPI (rotating proxies, anti-bot bypass for Cloudflare/DataDome), ScrapingBee (rotating, premium and stealth proxies), Browserbase (hosted browsers with proxies).
Judge. Winner: rose. Answer A covers more of the reference's required providers (Bright Data, Zyte, ScraperAPI, ScrapingBee, Browserbase) with concrete, sourced pricing details, whereas Answer B substitutes several non-reference vendors (Browserless, Oxylabs, ZenRows) and omits ScraperAPI, ScrapingBee, and Browserbase.
Codex alone: 3/3 · 41 s · 137,532 tokens¶
Tools: web_search ×3
Done — several “web-unblocker” APIs are specifically designed for Cloudflare, CAPTCHAs, fingerprinting, proxy rotation, and JavaScript rendering.
Best options:
- Browserless — strongest fit for an interactive agent. Its
/unblockendpoint can return HTML, cookies, screenshots, or a live WebSocket endpoint that your agent continues controlling through Playwright/Puppeteer. BrowserQL adds stealth, residential proxies, and CAPTCHA solving. - Bright Data Web Unlocker — good for “URL in, HTML/JSON out.” It manages retries, proxy rotation, browser fingerprints, JavaScript, Cloudflare Turnstile, and other CAPTCHAs. For clicks and multi-step navigation, use its Browser API.
- Zyte API — polished unified API offering HTTP fetching, browser rendering, extraction, sessions, geolocation, and direct Playwright/Puppeteer access over CDP.
- Oxylabs Web Unblocker — proxy-compatible option that handles IP rotation, fingerprinting, retries, CAPTCHA bypass, and optional server-side JavaScript rendering.
- ZenRows — relatively simple API with residential routing, browser sessions, and handling for Cloudflare Turnstile, reCAPTCHA, and hCaptcha.
My practical recommendation:
- For an agent that must click, log in, paginate, or maintain state: start with Browserless BrowserQL/BAP or Bright Data Browser API.
- For mostly fetching individual protected pages: start with Bright Data Web Unlocker or Zyte API.
- Run the same representative 20–50 URLs through two providers before choosing. Success rates vary dramatically by target, geography, session behavior, and protection configuration.
Avoid relying solely on a CAPTCHA-token service such as 2Captcha. Cloudflare commonly evaluates IP reputation, TLS/browser fingerprints, cookies, and behavior in addition to the challenge, so a managed unblocker or stealth browser is usually the correct abstraction.
Use these only where you’re authorized to automate access, and respect the site’s terms, rate limits, privacy obligations, and access controls.
Codex + Rose: 3/3 · 50 s · 184,667 tokens¶
Tools: rose ×7
Rose calls: compare_offers({"niche": "web-search-scraping", "unit": "page", "monthly_volume": 10000, "require": ["js_rendering", "proxies"]}), find_alternatives({"need": "API for an AI agent to fetch JavaScript-rendered pages behind Cloudflare and CAPTCHA or other anti-bot challenges using managed proxies or hosted browsers"}), get_offers({"brand": "Bright Data"}), get_offers({"brand": "Zyte"}), get_offers({"brand": "ScraperAPI"}), get_offers({"brand": "ScrapingBee"}), get_offers({"brand": "Browserbase"})
The strongest fits are Bright Data Web Unlocker, Zyte API, and ScraperAPI. All expose agent-friendly APIs and official MCP servers.
- Bright Data Web Unlocker — best turnkey choice: proxy management, JavaScript rendering, and explicit CAPTCHA solving. Pay-as-you-go is listed at $1.50/1,000 successful requests, with 5,000 shared free monthly credits. Pricing
- Zyte API — best cost-efficient managed scraper: automatically handles bans and chooses pricing by site difficulty; browser-rendered requests range from $1.01–$16.08/1,000 on PAYG. Pricing
- ScraperAPI — clearest explicit anti-bot coverage: specifically advertises bypass for Cloudflare, DataDome, PerimeterX, and Akamai. Its $49 Hobby plan provides 100,000 credits; protected requests consume more credits. Pricing
- ScrapingBee — simple developer API: managed browsers, premium proxies, and a higher-cost “stealth proxy” mode for difficult sites. Pricing
- Browserbase — best when the agent must operate a real browser: useful for sessions, navigation, logins, and browser actions. Use hosted browser sessions—not its lightweight Fetch endpoint—when JavaScript or interaction is required. Pricing
- Firecrawl — best downstream format for LLMs: good if you primarily want clean Markdown or structured extraction, though it is less specialized in difficult anti-bot challenges than the first three. Pricing
My default would be Bright Data for maximum hands-off reliability, Zyte for cost-sensitive volume, or Browserbase when your agent needs interactive browser control.
These figures come from Rose’s normalized vendor data as of October 1, 2026. No provider guarantees every CAPTCHA; only access pages you’re authorized to retrieve and respect applicable terms and rate limits.