[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"navigation_docs":3,"-providers":96,"-providers-surround":457},[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":95},"Providers","\u002Fproviders","2.providers\u002F0.index",[49,51,55,59,63,67,71,75,79,83,87,91],{"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","i-lucide-library",{"id":97,"title":45,"body":98,"description":450,"extension":451,"links":452,"meta":453,"navigation":454,"path":46,"seo":455,"stem":47,"__hash__":456},"docs\u002F2.providers\u002F0.index.md",{"type":99,"value":100,"toc":446},"minimark",[101,126,398],[102,103,104,105,109,110,113,114,117,118,121,122,125],"p",{},"Every search provider answers the same ",[106,107,108],"code",{},"search()"," with the same ",[106,111,112],{},"SearchResult",". Four of them also ",[106,115,116],{},"read()",", one also ",[106,119,120],{},"searchByImage()",". What changes is the API behind it, the filters it can honour, which optional fields it fills, and what ends up in ",[106,123,124],{},"metadata",". The pages are short on purpose. The part worth reading on each one is the gotcha list.",[127,128,129,157],"table",{},[130,131,132],"thead",{},[133,134,135,139,142,145,148,151,154],"tr",{},[136,137,138],"th",{},"Provider",[136,140,141],{},"Env var",[136,143,144],{},"Search",[136,146,147],{},"Image",[136,149,150],{},"Read",[136,152,153],{},"Filters",[136,155,156],{},"Paging",[158,159,160,185,207,229,251,273,295,314,335,356,377],"tbody",{},[133,161,162,168,173,176,178,180,183],{},[163,164,165],"td",{},[166,167,52],"a",{"href":53},[163,169,170],{},[106,171,172],{},"BRAVE_API_KEY",[163,174,175],{},"yes",[163,177],{},[163,179],{},[163,181,182],{},"none",[163,184,175],{},[133,186,187,191,196,198,200,202,205],{},[163,188,189],{},[166,190,56],{"href":57},[163,192,193],{},[106,194,195],{},"CONTEXT_DEV_API_KEY",[163,197,175],{},[163,199],{},[163,201,175],{},[163,203,204],{},"domains",[163,206],{},[133,208,209,213,218,220,222,224,227],{},[163,210,211],{},[166,212,60],{"href":61},[163,214,215],{},[106,216,217],{},"EXA_API_KEY",[163,219,175],{},[163,221],{},[163,223],{},[163,225,226],{},"domains, category, dates",[163,228],{},[133,230,231,235,240,242,244,246,249],{},[163,232,233],{},[166,234,64],{"href":65},[163,236,237],{},[106,238,239],{},"FIRECRAWL_API_KEY",[163,241,175],{},[163,243],{},[163,245,175],{},[163,247,248],{},"domains, sources, categories",[163,250],{},[133,252,253,257,262,264,266,268,271],{},[163,254,255],{},[166,256,68],{"href":69},[163,258,259],{},[106,260,261],{},"JINA_API_KEY",[163,263,175],{},[163,265],{},[163,267,175],{},[163,269,270],{},"include domains, category",[163,272],{},[133,274,275,279,284,286,288,290,293],{},[163,276,277],{},[166,278,72],{"href":73},[163,280,281],{},[106,282,283],{},"MOJEEK_API_KEY",[163,285,175],{},[163,287],{},[163,289],{},[163,291,292],{},"domains, dates",[163,294,175],{},[133,296,297,301,303,305,307,309,312],{},[163,298,299],{},[166,300,76],{"href":77},[163,302,182],{},[163,304,175],{},[163,306],{},[163,308],{},[163,310,311],{},"category",[163,313,175],{},[133,315,316,320,325,327,329,331,333],{},[163,317,318],{},[166,319,80],{"href":81},[163,321,322],{},[106,323,324],{},"SERPAPI_API_KEY",[163,326,175],{},[163,328,175],{},[163,330],{},[163,332,182],{},[163,334,175],{},[133,336,337,341,346,348,350,352,354],{},[163,338,339],{},[166,340,84],{"href":85},[163,342,343],{},[106,344,345],{},"SERPBASE_API_KEY",[163,347,175],{},[163,349],{},[163,351],{},[163,353,311],{},[163,355,175],{},[133,357,358,362,367,369,371,373,375],{},[163,359,360],{},[166,361,88],{"href":89},[163,363,364],{},[106,365,366],{},"TAVILY_API_KEY",[163,368,175],{},[163,370],{},[163,372],{},[163,374,204],{},[163,376],{},[133,378,379,383,388,390,392,394,396],{},[163,380,381],{},[166,382,92],{"href":93},[163,384,385],{},[106,386,387],{},"TINYFISH_API_KEY",[163,389,175],{},[163,391],{},[163,393,175],{},[163,395,226],{},[163,397,175],{},[399,400,401,406,410,414,418,422,426,430,434,438,442],"card-group",{},[402,403,405],"card",{"icon":404,"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.",[402,407,409],{"icon":408,"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.",[402,411,413],{"icon":412,"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.",[402,415,417],{"icon":416,"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.",[402,419,421],{"icon":420,"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.",[402,423,425],{"icon":424,"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.",[402,427,429],{"icon":428,"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.",[402,431,433],{"icon":432,"title":80,"to":81},"i-lucide-scan-search","SerpAPI's Google endpoints for classic SERP results and Google Lens for reverse image search.",[402,435,437],{"icon":436,"title":84,"to":85},"i-lucide-layers","SerpBase's Google SERP endpoints, with a category that picks the web, images, news or videos endpoint.",[402,439,441],{"icon":440,"title":88,"to":89},"i-lucide-compass","The Tavily search API, with an optional generated answer in response metadata and raw page content on request.",[402,443,445],{"icon":444,"title":92,"to":93},"i-lucide-fish","TinyFish Search for news and research results with publisher metadata, and TinyFish Fetch for reading pages.",{"title":447,"searchDepth":448,"depth":448,"links":449},"",2,[],"Eleven providers, one class shape. Pick one to see its endpoints, the filters it honours, the fields it fills and the traps.","md",null,{"icon":95},{"title":50},{"title":45,"description":450},"q4A1athDdc0KdSOPjuMLotbbQTlc7Z4hi0VKQvQVpTY",[458,460],{"title":40,"path":41,"stem":42,"description":459,"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":405,"children":-1},1788509441443]