[{"data":1,"prerenderedAt":492},["ShallowReactive",2],{"navigation_docs":3,"-providers":100,"-providers-surround":488},[4,44],{"title":5,"path":6,"stem":7,"children":8,"icon":43},"Guide","\u002Fguide","1.guide\u002F1.index",[9,11,15,19,23,27,31,35,39],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Searching","\u002Fguide\u002Fsearch","1.guide\u002F2.search",{"title":16,"path":17,"stem":18},"Fan-out","\u002Fguide\u002Ffanout","1.guide\u002F3.fanout",{"title":20,"path":21,"stem":22},"Reading","\u002Fguide\u002Fread","1.guide\u002F4.read",{"title":24,"path":25,"stem":26},"Reverse Image Search","\u002Fguide\u002Fimage","1.guide\u002F5.image",{"title":28,"path":29,"stem":30},"CLI","\u002Fguide\u002Fcli","1.guide\u002F6.cli",{"title":32,"path":33,"stem":34},"Agents","\u002Fguide\u002Fagents","1.guide\u002F7.agents",{"title":36,"path":37,"stem":38},"Custom Providers","\u002Fguide\u002Fcustom","1.guide\u002F8.custom",{"title":40,"path":41,"stem":42},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F9.explorer","i-lucide-book-open",{"title":45,"path":46,"stem":47,"children":48,"icon":99},"Providers","\u002Fproviders","2.providers\u002F0.index",[49,51,55,59,63,67,71,75,79,83,87,91,95],{"title":50,"path":46,"stem":47},"Overview",{"title":52,"path":53,"stem":54},"Brave","\u002Fproviders\u002Fbrave","2.providers\u002F01.brave",{"title":56,"path":57,"stem":58},"Context.dev","\u002Fproviders\u002Fcontext","2.providers\u002F02.context",{"title":60,"path":61,"stem":62},"Exa","\u002Fproviders\u002Fexa","2.providers\u002F03.exa",{"title":64,"path":65,"stem":66},"Firecrawl","\u002Fproviders\u002Ffirecrawl","2.providers\u002F04.firecrawl",{"title":68,"path":69,"stem":70},"Jina","\u002Fproviders\u002Fjina","2.providers\u002F05.jina",{"title":72,"path":73,"stem":74},"Mojeek","\u002Fproviders\u002Fmojeek","2.providers\u002F06.mojeek",{"title":76,"path":77,"stem":78},"SearXNG","\u002Fproviders\u002Fsearxng","2.providers\u002F07.searxng",{"title":80,"path":81,"stem":82},"SerpAPI","\u002Fproviders\u002Fserpapi","2.providers\u002F08.serpapi",{"title":84,"path":85,"stem":86},"SerpBase","\u002Fproviders\u002Fserpbase","2.providers\u002F09.serpbase",{"title":88,"path":89,"stem":90},"Tavily","\u002Fproviders\u002Ftavily","2.providers\u002F10.tavily",{"title":92,"path":93,"stem":94},"TinyFish","\u002Fproviders\u002Ftinyfish","2.providers\u002F11.tinyfish",{"title":96,"path":97,"stem":98},"OpenAI Codex","\u002Fproviders\u002Fopenai-codex","2.providers\u002F12.openai-codex","i-lucide-library",{"id":101,"title":45,"body":102,"description":481,"extension":482,"links":483,"meta":484,"navigation":485,"path":46,"seo":486,"stem":47,"__hash__":487},"docs\u002F2.providers\u002F0.index.md",{"type":103,"value":104,"toc":477},"minimark",[105,130,425],[106,107,108,109,113,114,117,118,121,122,125,126,129],"p",{},"Every search provider answers the same ",[110,111,112],"code",{},"search()"," with the same ",[110,115,116],{},"SearchResult",". Five of them also ",[110,119,120],{},"read()",", one also ",[110,123,124],{},"searchByImage()",". What changes is the API behind it, the filters it can honour, which optional fields it fills, and what ends up in ",[110,127,128],{},"metadata",". The pages are short on purpose. The part worth reading on each one is the gotcha list.",[131,132,133,161],"table",{},[134,135,136],"thead",{},[137,138,139,143,146,149,152,155,158],"tr",{},[140,141,142],"th",{},"Provider",[140,144,145],{},"Env var",[140,147,148],{},"Search",[140,150,151],{},"Image",[140,153,154],{},"Read",[140,156,157],{},"Filters",[140,159,160],{},"Paging",[162,163,164,189,211,233,255,277,299,322,341,362,383,404],"tbody",{},[137,165,166,172,177,180,182,184,187],{},[167,168,169],"td",{},[170,171,52],"a",{"href":53},[167,173,174],{},[110,175,176],{},"BRAVE_API_KEY",[167,178,179],{},"yes",[167,181],{},[167,183],{},[167,185,186],{},"dates",[167,188,179],{},[137,190,191,195,200,202,204,206,209],{},[167,192,193],{},[170,194,56],{"href":57},[167,196,197],{},[110,198,199],{},"CONTEXT_DEV_API_KEY",[167,201,179],{},[167,203],{},[167,205,179],{},[167,207,208],{},"domains",[167,210],{},[137,212,213,217,222,224,226,228,231],{},[167,214,215],{},[170,216,60],{"href":61},[167,218,219],{},[110,220,221],{},"EXA_API_KEY",[167,223,179],{},[167,225],{},[167,227],{},[167,229,230],{},"domains, category, dates",[167,232],{},[137,234,235,239,244,246,248,250,253],{},[167,236,237],{},[170,238,64],{"href":65},[167,240,241],{},[110,242,243],{},"FIRECRAWL_API_KEY",[167,245,179],{},[167,247],{},[167,249,179],{},[167,251,252],{},"domains, sources, categories",[167,254],{},[137,256,257,261,266,268,270,272,275],{},[167,258,259],{},[170,260,68],{"href":69},[167,262,263],{},[110,264,265],{},"JINA_API_KEY",[167,267,179],{},[167,269],{},[167,271,179],{},[167,273,274],{},"include domains, category",[167,276],{},[137,278,279,283,288,290,292,294,297],{},[167,280,281],{},[170,282,72],{"href":73},[167,284,285],{},[110,286,287],{},"MOJEEK_API_KEY",[167,289,179],{},[167,291],{},[167,293],{},[167,295,296],{},"domains, dates",[167,298,179],{},[137,300,301,305,311,313,315,317,320],{},[167,302,303],{},[170,304,96],{"href":97},[167,306,307,308],{},"Existing login; optional ",[110,309,310],{},"OPENAI_CODEX_ACCESS_TOKEN",[167,312,179],{},[167,314],{},[167,316],{},[167,318,319],{},"none",[167,321],{},[137,323,324,328,330,332,334,336,339],{},[167,325,326],{},[170,327,76],{"href":77},[167,329,319],{},[167,331,179],{},[167,333],{},[167,335],{},[167,337,338],{},"category",[167,340,179],{},[137,342,343,347,352,354,356,358,360],{},[167,344,345],{},[170,346,80],{"href":81},[167,348,349],{},[110,350,351],{},"SERPAPI_API_KEY",[167,353,179],{},[167,355,179],{},[167,357],{},[167,359,319],{},[167,361,179],{},[137,363,364,368,373,375,377,379,381],{},[167,365,366],{},[170,367,84],{"href":85},[167,369,370],{},[110,371,372],{},"SERPBASE_API_KEY",[167,374,179],{},[167,376],{},[167,378],{},[167,380,338],{},[167,382,179],{},[137,384,385,389,394,396,398,400,402],{},[167,386,387],{},[170,388,88],{"href":89},[167,390,391],{},[110,392,393],{},"TAVILY_API_KEY",[167,395,179],{},[167,397],{},[167,399,179],{},[167,401,230],{},[167,403],{},[137,405,406,410,415,417,419,421,423],{},[167,407,408],{},[170,409,92],{"href":93},[167,411,412],{},[110,413,414],{},"TINYFISH_API_KEY",[167,416,179],{},[167,418],{},[167,420,179],{},[167,422,230],{},[167,424,179],{},[426,427,428,433,437,441,445,449,453,457,461,465,469,473],"card-group",{},[429,430,432],"card",{"icon":431,"title":52,"to":53},"i-simple-icons-brave","The Brave Search API, one GET per page, with extra snippets joined into text and a continuation that carries the offset.",[429,434,436],{"icon":435,"title":56,"to":57},"i-lucide-book-text","The Context.dev API for search with Markdown ranked by relevance and for scraping pages into Markdown or HTML.",[429,438,440],{"icon":439,"title":60,"to":61},"i-lucide-sparkles","The Exa neural search API, the richest result shape of the built-ins, with highlights by default and summaries and full text on request.",[429,442,444],{"icon":443,"title":64,"to":65},"i-lucide-flame","The Firecrawl v2 API for search with scraped passages and for scraping a page into Markdown or HTML.",[429,446,448],{"icon":447,"title":68,"to":69},"i-lucide-file-text","Jina's s.jina.ai for search and r.jina.ai for reading, the default reader, with an optional key.",[429,450,452],{"icon":451,"title":72,"to":73},"i-simple-icons-mojeek","The Mojeek Search API, an independent index with classic SERP metadata, domain and date filters and paging.",[429,454,456],{"icon":455,"title":96,"to":97},"i-lucide-search","Hosted web search through the ChatGPT Codex backend using an existing Pi, OMP, Codex or OpenCode login. Native sources, not snippets invented by the model.",[429,458,460],{"icon":459,"title":76,"to":77},"i-simple-icons-searxng","A self-hosted SearXNG metasearch instance, no key, with a reachability probe and the engines behind each result in metadata.",[429,462,464],{"icon":463,"title":80,"to":81},"i-lucide-scan-search","SerpAPI's Google endpoints for classic SERP results and Google Lens for reverse image search.",[429,466,468],{"icon":467,"title":84,"to":85},"i-lucide-layers","SerpBase's Google SERP endpoints, with a category that picks the web, images, news or videos endpoint.",[429,470,472],{"icon":471,"title":88,"to":89},"i-lucide-compass","The Tavily search API, with an optional generated answer in response metadata, and Tavily Extract for reading pages.",[429,474,476],{"icon":475,"title":92,"to":93},"i-lucide-fish","TinyFish Search for news and research results with publisher metadata, and TinyFish Fetch for reading pages.",{"title":478,"searchDepth":479,"depth":479,"links":480},"",2,[],"Twelve providers, one class shape. Pick one to see its endpoints, the filters it honours, the fields it fills and the traps.","md",null,{"icon":99},{"title":50},{"title":45,"description":481},"rPywz44SKcd7Qw7EUkkShKrzUBcamCNn-19IKLLg6PQ",[489,491],{"title":40,"path":41,"stem":42,"description":490,"children":-1},"The explorer page behind web.agntn.dev that runs the library live, and what it does to be a good citizen.",{"title":52,"path":53,"stem":54,"description":432,"children":-1},1790041406825]