{"id":"llm-ready-extract","slug":"llm-ready-extract","name":"LLM-ready web extraction","shortName":"LLM-ready web extraction","problemStatement":"Turn sites into markdown/structured JSON for RAG.","whenNotTopPick":"Need search only without crawl — Exa/Tavily.","categoryIds":["cat-search-scrape"],"depotPickProviderId":"firecrawl","depotPickRationale":"capability extraction quality + dx.","runnersUpIds":["scrapingbee","exa","scrapfly","zenrows","agentql","jina","diffbot"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"capability extraction quality + dx.","tags":["llm"],"depth":{"whenNotToUse":{"text":"Need search only without crawl — Exa/Tavily.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"scrapingbee","name":"ScrapingBee","overallForJob":7.98,"pickOverallForJob":8.25,"beatsPickOn":["pricePerformance","lockInRisk","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":4,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[{"id":"markitdown","name":"MarkItDown","license":"MIT","sourceUrl":"https://github.com/microsoft/markitdown/blob/main/LICENSE"}],"migration":"Runner-up ScrapingBee has lower stored lock-in risk (4 vs 4.5, 0–10, higher = more lock-in). Self-host fallback listed for this job: MarkItDown.","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."}},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":1,"sourcesReachable":1,"pricingRows":4,"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}}},"depotPick":{"id":"firecrawl","slug":"firecrawl","name":"Firecrawl","tagline":"Depot pick for turning the web into LLM context. Browserbase when you need to *act*, Firecrawl when you need…","overall":8.25},"runnersUp":[{"id":"scrapingbee","slug":"scrapingbee","name":"ScrapingBee","tagline":"Use for fetch-the-HTML jobs. For multi-step login/click agents, use Browserbase/Steel.","overall":7.98},{"id":"exa","slug":"exa","name":"Exa","tagline":"Depot pick for research-style agent search. Pair with Firecrawl when you need full page content.","overall":8.3},{"id":"scrapfly","slug":"scrapfly","name":"Scrapfly","tagline":"Excellent Firecrawl peer when you need anti-bot + cloud browser with transparent credits. Prefer Firecrawl…","overall":8.25},{"id":"zenrows","slug":"zenrows","name":"ZenRows","tagline":"Best per-request scrape API with agent MCP. Firecrawl when you want site-wide LLM markdown; Scrapfly when you…","overall":8.27},{"id":"agentql","slug":"agentql","name":"AgentQL","tagline":"Pinned Professional $99 on the live unauthenticated card (Round 8). Strong semantic query language for agent…","overall":7.73},{"id":"jina","slug":"jina","name":"Jina AI","tagline":"Promoted high after pinning official models API token matrix ($0.05/1M). Best as EU-friendly all-in-one…","overall":8.12},{"id":"diffbot","slug":"diffbot","name":"Diffbot","tagline":"Structured extract / KG peer. Firecrawl remains llm-ready-extract default; Diffbot when you need schema'd…","overall":7.96}]}