{"jtbd":{"id":"serp-scrape","slug":"serp-scrape","name":"SERP / search results API","shortName":"SERP / search results API","problemStatement":"Programmatic search engine results pages."},"pick":{"id":"serper","slug":"serper","name":"Serper","tagline":"Budget SERP hammer. Great for hacks; prefer Tavily/Exa for cleaner long-term agent search.","website":"https://serper.dev","overall":8.03,"scoreBand":{"low":7.4,"mid":8,"high":8.6,"halfWidth":0.6,"basis":"editorial_prior","display":"7.4–8.6 (editorial prior)"},"scoreLayers":{"editorialPrior":8.03,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14: Low-cost Google SERP API; pay-per-query JSON results with generous free starter credits historically. Excellent budget hammer; prefer Tavily/Exa for LLM-shaped agent search long-term.","scores":{"capabilityFit":8,"pricePerformance":9.5,"latencyReliability":8,"developerDx":8.8,"privacyPosture":6,"lockInRisk":4,"maturity":7.8,"overall":8.03,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},"runnersUp":[{"id":"bright-data","slug":"bright-data","name":"Bright Data","tagline":"Nuclear option for hard anti-bot targets. Start with Firecrawl/ScrapingBee; escalate here when blocked.","website":"https://brightdata.com","overall":7.66,"scoreBand":{"low":7.1,"mid":7.7,"high":8.3,"halfWidth":0.6,"basis":"editorial_prior","display":"7.1–8.3 (editorial prior)"},"scoreLayers":{"editorialPrior":7.66,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Enterprise proxy/scraping network; pay for bandwidth/success; Web Scraper IDE; SERP APIs.","scores":{"capabilityFit":9.2,"pricePerformance":5.5,"latencyReliability":9,"developerDx":7,"privacyPosture":7,"lockInRisk":5,"maturity":9.2,"overall":7.66,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"brave-search","slug":"brave-search","name":"Brave Search API","tagline":"Best privacy-forward search API with an independent index. Strong complement to Tavily/Exa.","website":"https://brave.com/search/api/","overall":8.33,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.33,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Independent index search API; plan-based request quotas; privacy-oriented positioning.","scores":{"capabilityFit":8.2,"pricePerformance":8.5,"latencyReliability":8.6,"developerDx":8.2,"privacyPosture":9.2,"lockInRisk":3.5,"maturity":8.5,"overall":8.33,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"serpapi","slug":"serpapi","name":"SerpApi","tagline":"Classic SERP API when you need engine breadth. Prefer Serper for budget Google-only; Exa/Tavily/You for…","website":"https://serpapi.com","overall":8.15,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.15,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (serpapi.com/pricing): Free $0 — 250 searches/mo. Starter $25/1k, Developer $75/5k, Production $150/15k, Big Data $275/30k (month-to-month). Structured Google/Bing/Amazon/etc SERP JSON. Legal Shield add-on available.","scores":{"capabilityFit":8.6,"pricePerformance":7.4,"latencyReliability":8.8,"developerDx":8.6,"privacyPosture":7,"lockInRisk":3.5,"maturity":9,"overall":8.15,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}}],"scoreBand":{"low":7.4,"mid":8,"high":8.6,"halfWidth":0.6,"basis":"editorial_prior","display":"7.4–8.6 (editorial prior)"},"scoreLayers":{"editorialPrior":8.03,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"whyPickOverHigherScore":{"pickId":"serper","pickName":"Serper","pickScore":8.03,"highestScoredCandidateId":"brave-search","highestScoredCandidateName":"Brave Search API","highestScore":8.33,"pickHasLowerCompositeScore":true,"delta":-0.3,"pickLeadsOnDimensions":["pricePerformance (9.5 vs 8.5)","developerDx (8.8 vs 8.2)"],"explanation":"Serper (8.03) is the editorial pick for SERP / search results API over higher-composite Brave Search API (8.33) because composite scores are provider-wide priors while Serper wins on pricePerformance (9.5 vs 8.5), developerDx (8.8 vs 8.2): pricePerf + capability; compliance caveats for scrape-based SERP."},"cheapest":{"providerId":"serper","providerName":"Serper","skuId":"serper-starter-1k","item":"Google SERP API, Starter top-up","plan":"Google SERP API, Starter top-up — Prepaid top-up: $50 for 50k credits = 50,000 queries ($1","unit":"usd_per_1k_searches","amountUsd":1,"isFloorPrice":false,"floorWarning":null,"skuCountInUnit":1,"isDepotPick":true,"sourceUrl":"https://serper.dev/","asOf":"2026-10-19","verifiedAsOf":"2026-10-19"},"recommendedWorkloadQuote":{"providerId":"serper","providerName":"Serper","skuId":"serper-starter-1k","item":"Google SERP API, Starter top-up","plan":"Google SERP API, Starter top-up — Prepaid top-up: $50 for 50k credits = 50,000 queries ($1","unit":"usd_per_1k_searches","amountUsd":1,"outputSkuId":null,"outputItem":null,"outputAmountUsd":null,"outputUnit":null,"sourceUrl":"https://serper.dev/","asOf":"2026-10-19","pricingLastVerifiedAt":"2026-10-19","isFlagshipForJob":true,"differsFromFloorCheapest":false,"representativeQuote":{"skuId":"serper-starter-1k","item":"Google SERP API, Starter top-up","plan":"Google SERP API, Starter top-up — Prepaid top-up: $50 for 50k credits = 50,000 queries ($1","amountUsd":1,"inputOrUnitUsd":1,"unit":"usd_per_1k_searches","outputUsd":null,"outputUnit":null,"sourceUrl":"https://serper.dev/","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":1,"totalUsd":1.15,"estimatedTotalUsd":1.15,"perTaskUsd":0.00115,"estimatedCostPerTaskUsd":0.00115,"formula":"(1,000 calls @ $1/1k_searches) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."}},"representativeQuote":{"skuId":"serper-starter-1k","item":"Google SERP API, Starter top-up","plan":"Google SERP API, Starter top-up — Prepaid top-up: $50 for 50k credits = 50,000 queries ($1","amountUsd":1,"inputOrUnitUsd":1,"unit":"usd_per_1k_searches","outputUsd":null,"outputUnit":null,"sourceUrl":"https://serper.dev/","asOf":"2026-10-19"},"estimatedTaskCost":{"tasks":1000,"retryAndToolOverheadMultiplier":1.15,"retryToolOverheadMultiplier":1.15,"unitsPerTask":1,"baseCostPer1kTasksUsd":1,"totalUsd":1.15,"estimatedTotalUsd":1.15,"perTaskUsd":0.00115,"estimatedCostPerTaskUsd":0.00115,"formula":"(1,000 calls @ $1/1k_searches) * 1.15 overhead","assumptions":"1,000 tasks @ 1 request/task with 1.15x retry/tool-call overhead."},"freeAlternatives":[],"referenceDocs":[],"falsification":{"jtbdId":"serp-scrape","jtbdName":"SERP / search results API","currentPickId":"serper","currentPickScore":8.03,"challengerId":"bright-data","challengerScore":7.66,"currentScoreGap":0.37,"minVerifiedOutcomes":10,"requiredOutcomeMargin":0.52,"requiredSuccessRateDelta":0.15,"maxPickPriceIncreasePct":25,"whatWouldChangePick":["Bright Data (bright-data) outperforms Serper (serper) by >= 0.52 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Serper's representative SKU for serp-scrape without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=serper) or sustained >= 30% degraded/failed rate in verified production outcomes."],"frozenHoldoutPolicy":{"holdoutSplit":"20% frozen benchmark holdout tasks + 80% live production outcome receipts","requireCountersignReceipt":true,"requiredEvidenceTiers":["outcome_verified","reference_checked"],"minDistinctContributors":2,"antiGamingRule":"Unverified self-reports and seed/editorial rows never mutate picks or scores."},"triggers":[{"kind":"verified_outcomes_outperformance","challengerId":"bright-data","minVerifiedOutcomes":10,"requiredOutcomeMargin":0.52,"requiredWorkedRateDelta":0.15},{"kind":"verified_price_increase","providerId":"serper","maxPriceIncreasePct":25},{"kind":"live_rail_exhaustion_or_degradation","providerId":"serper","immediateOverrideUrl":"/api/decide?jtbd=serp-scrape&exhausted=serper"}],"submissionSpec":{"falsifyEndpoint":"/api/falsify?jtbd=serp-scrape","outcomesEndpoint":"POST /api/feedback","correctionsEndpoint":"POST /api/corrections","payloadTemplate":{"agentIdentity":"agent:<your-agent-id>","jtbdId":"serp-scrape","providerId":"bright-data","outcome":"worked","detail":"Comparative production evaluation on serp-scrape (n>=10 tasks) with Countersign receipt.","confidence":"high","receipt":{"countersign":{"claim_id":"cs-00000000","status":"verified","evidence_tier":"outcome_verified","counts_as_verified":true}}}}},"whatWouldChangePick":["Bright Data (bright-data) outperforms Serper (serper) by >= 0.52 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Serper's representative SKU for serp-scrape without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=serper) or sustained >= 30% degraded/failed rate in verified production outcomes."],"routePlan":{"jtbdId":"serp-scrape","primary":{"providerId":"serper","name":"Serper","overall":8.03,"scoreBand":{"low":7.4,"mid":8,"high":8.6,"halfWidth":0.6,"basis":"editorial_prior","display":"7.4–8.6 (editorial prior)"},"scoreLayers":{"editorialPrior":8.03,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-09-14","role":"primary","reason":"Editorial Depot Pick for SERP / search results API; healthy/eligible under caller constraints."},"fallback":[{"providerId":"bright-data","name":"Bright Data","overall":7.66,"scoreBand":{"low":7.1,"mid":7.7,"high":8.3,"halfWidth":0.6,"basis":"editorial_prior","display":"7.1–8.3 (editorial prior)"},"scoreLayers":{"editorialPrior":7.66,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for SERP / search results API."},{"providerId":"brave-search","name":"Brave Search API","overall":8.33,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.33,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for SERP / search results API."},{"providerId":"serpapi","name":"SerpApi","overall":8.15,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.15,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for SERP / search results API."}],"disqualified":[],"expectedRegret":{"scoreDeltaVsUnconstrainedPick":0,"unconstrainedPickId":"serper","activePrimaryId":"serper","summary":"0.00 score regret: unconstrained editorial pick satisfies all caller constraints."},"evidenceAgeDays":{"editorialScoreAgeDays":43,"pricingVerifiedAgeDays":8,"editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-19"},"confidenceBand":{"low":7.4,"mid":8,"high":8.6,"halfWidth":0.6,"basis":"editorial_prior","display":"7.4–8.6 (editorial prior)"},"constraintsApplied":false,"constraintBundle":{"task":null,"jtbd":"serp-scrape","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]}},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","tie":false,"scoreGap":0.37,"decidingFactor":null,"tieNote":null,"rationale":"pricePerf + capability; compliance caveats for scrape-based SERP.","whenNotTopPick":"privacy index — Brave; AI-agent search — Tavily/Exa.","skipTopPick":false,"skipReason":null,"matchedConstraints":[],"pricingSummary":"As of 2026-09-14: Low-cost Google SERP API; pay-per-query JSON results with generous free starter credits historically. Excellent budget hammer; prefer Tavily/Exa for LLM-shaped agent search long-term.","cite":"Depot Pick for serp-scrape: serper (asOf 2026-09-14). See GET /api/jtbds/serp-scrape + GET /api/methodology.","nextActions":[{"step":1,"title":"Inspect full JTBD + embeds","href":"/api/jtbds/serp-scrape?embed=providers","why":"Confirm pick, runners-up, and methodology notes."},{"step":2,"title":"Quote sourced SKUs","href":"/api/quote?jtbd=serp-scrape","why":"Depot Pick SKUs plus the cheapest sourced SKU whose unit matches this job. Does not change the pick. Does not blend input and output or borrow a chat rate for a non-chat job."},{"step":3,"title":"Open provider detail","href":"/api/providers/serper","why":"Scores, pricingNotes, strengths/weaknesses, communitySignals (claims only)."},{"step":4,"title":"Cite methodology","href":"/api/methodology","why":"Required when publishing a Depot Pick citation."},{"step":5,"title":"Grab badge SVG","href":"/api/badge?type=depot-pick&jtbd=serp-scrape","why":"Embed in README / agent passport."},{"step":6,"title":"Post production insight","method":"POST","href":"/api/insights","why":"Unverified until curated; never auto-mutates official scores."}],"honesty":["Do not invent scores or benches.","Insights are claims until curated/reviewed; they never silently mutate official scores.","lockInRisk higher = more lock-in (worse).","normalizedUsdPerMillionTokens is set only for a single sourced token row. Otherwise null, with a machine-readable reason. Do not coerce GPU, minute, or per-1k search units.","Runners-up are not Depot Picks.","Depot overall is editorial_weighted, not Arena Elo and not an Artificial Analysis index."],"asOf":"2026-09-14","depth":{"whenNotToUse":{"text":"privacy index — Brave; AI-agent search — Tavily/Exa.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"bright-data","name":"Bright Data","overallForJob":7.66,"pickOverallForJob":8.03,"beatsPickOn":["capabilityFit","latencyReliability","privacyPosture","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4,"runnerUpLockInRisk":5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Bright Data (4 vs 5).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"citation":{"text":"Agent Provider Depot (v0.12.153), Depot Pick for serp-scrape: serper, scores as of 2026-09-14, retrieved 2026-10-27. https://getagentdepot.com/jtbds/serp-scrape","markdown":"[Agent Provider Depot](https://getagentdepot.com/jtbds/serp-scrape) (v0.12.153) — Depot Pick for `serp-scrape`: **serper** (scores as of 2026-09-14, retrieved 2026-10-27)","fields":{"publisher":"Agent Provider Depot","version":"0.12.153","role":"depot_pick","jtbdId":"serp-scrape","providerId":"serper","scoreAsOf":"2026-09-14","retrievedOn":"2026-10-27","page":"https://getagentdepot.com/jtbds/serp-scrape","api":"https://getagentdepot.com/api/decide?jtbd=serp-scrape"},"howToCite":"Cite Depot as an editorial, dated recommendation, not a benchmark: name the job, the Depot Pick (or runner-up), the score asOf date and the day you retrieved it, and link the job page. Format: “Agent Provider Depot (v{version}), Depot Pick for {jobId}: {providerId}, scores as of {scoreAsOf}, retrieved {retrievedOn}. {baseUrl}/jtbds/{jobId}”. Quote prices only with their own sourceUrl and asOf. If the pick's score is stale (freshness.pick.score.stale), say so."},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":1,"pricingRows":1,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}},"scoreAsOf":"2026-09-14","editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27","pickLastReviewed":"2026-09-14","runnersUpScoreAsOf":["2026-09-14","2026-09-14","2026-09-14"],"contractAsOf":"2026-10-03","pricingShape":"sourced_rows","normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unit_mismatch","normalizationReason":"unit_mismatch","shape":"sourced_rows","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[{"id":"serper-starter-1k","providerId":"serper","sku":"Google SERP API, Starter top-up","unit":"usd_per_1k_searches","amountUsd":1,"currency":"USD","sourceUrl":"https://serper.dev/","asOf":"2026-10-19","normalizationStatus":"unit_mismatch","normalizedUsdPerMillionTokens":null,"normalizationReason":"unit_mismatch_per_1k_searches","priceSortEligible":false,"qualifier":"Prepaid top-up: $50 for 50k credits = 50,000 queries ($1.00/1k), credits valid 6 months, excluding tax. Larger packs are cheaper per 1k ($0.75 at 500k, $0.50 at 2.5M, $0.30 at 12.5M) and were not stored as the comparable rate."}],"notesExcerpt":"As of 2026-09-14: Low-cost Google SERP API; pay-per-query JSON results with generous free starter credits historically. Excellent budget hammer; prefer Tavily/Exa for LLM-shaped agent search long-term.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://serper.dev","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"Partial coverage. Providers without a fetched SKU are omitted. See GET /api/pricing."},"links":{"jtbd":"/jtbds/serp-scrape","jtbdApi":"/api/jtbds/serp-scrape","leaderboard":"/api/leaderboards?jtbd=serp-scrape","methodology":"/api/methodology","badge":"/api/badge?type=depot-pick&jtbd=serp-scrape","decide":"/api/decide?jtbd=serp-scrape","humanPage":"/jtbds/serp-scrape","alternatives":"/api/alternatives?provider=serper","canonical":"/api/canonical","quote":"/api/quote?jtbd=serp-scrape","falsify":"/api/falsify?jtbd=serp-scrape"},"constraintBundle":{"task":null,"jtbd":"serp-scrape","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"keep":null,"contextAdvice":null,"communityFeedback":{"pickOnThisJob":{"failed":0,"degraded":0,"worked":0,"insights":0,"withVerifiedReceipt":0,"failureModes":{},"latestAt":null,"note":"Agent-reported claims (unverified unless a receipt is verified by Depot's re-check). They never change scores or picks."},"outcomes":{"job":{"n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"verifiedReports":0,"contributors":0,"excluded":{"seed_editorial":0,"test":0,"notFeedback":0},"reason":"no_submitted_outcome_reports_yet"},"pick":{"providerId":"serper","n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"evidenceTiers":{"agent_claim":0,"self_declared":0,"reference_checked":0,"outcome_verified":0},"reason":"no_submitted_outcome_reports_yet"},"scoresMutated":false,"more":"/api/outcomes?jtbd=serp-scrape"},"report":"POST /api/feedback {agentIdentity, outcome: failed|degraded|worked, detail, providerId, jtbdId, failureModeId?, receipt?}"}}