[{"data":1,"prerenderedAt":659},["ShallowReactive",2],{"navigation_docs":3,"-providers-exa":100,"-providers-exa-surround":654},[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":60,"body":102,"description":647,"extension":648,"links":649,"meta":650,"navigation":173,"path":61,"seo":652,"stem":62,"__hash__":653},"docs\u002F2.providers\u002F03.exa.md",{"type":103,"value":104,"toc":640},"minimark",[105,109,114,380,388,392,469,491,495,526,560,564,627,631,636],[106,107],"provider-facts",{"provider":108},"exa",[110,111,113],"h2",{"id":112},"address-it","Address it",[115,116,121],"pre",{"className":117,"code":118,"language":119,"meta":120,"style":120},"language-ts shiki shiki-themes github-light github-light poimandres","import { create, readUrl } from \"@agntn\u002Fweb\";\n\nconst exa = await create(\"exa\"); \u002F\u002F EXA_API_KEY\nconst results = await exa.search(\"typescript runtime benchmarks\", {\n  maxResults: 5,\n  summary: true,\n  fullText: true,\n  category: \"research paper\",\n  startPublishedDate: \"2026-01-01\",\n});\n\nconst page = await readUrl(\"https:\u002F\u002Fbun.sh\u002Fblog\", { provider: \"exa\", noCache: true });\n","ts","",[122,123,124,168,175,212,245,261,274,286,303,320,326,331],"code",{"__ignoreMap":120},[125,126,129,133,137,141,144,147,150,154,158,162,165],"span",{"class":127,"line":128},"line",1,[125,130,132],{"class":131},"sP0CR","import",[125,134,136],{"class":135},"sKlNE"," {",[125,138,140],{"class":139},"snHMy"," create",[125,142,143],{"class":135},",",[125,145,146],{"class":139}," readUrl",[125,148,149],{"class":135}," }",[125,151,153],{"class":152},"stCPd"," from",[125,155,157],{"class":156},"scVjq"," \"",[125,159,161],{"class":160},"sQ7BG","@agntn\u002Fweb",[125,163,164],{"class":156},"\"",[125,166,167],{"class":135},";\n",[125,169,171],{"class":127,"line":170},2,[125,172,174],{"emptyLinePlaceholder":173},true,"\n",[125,176,178,182,186,189,193,196,199,201,203,205,208],{"class":127,"line":177},3,[125,179,181],{"class":180},"s1TYA","const",[125,183,185],{"class":184},"saoiD"," exa",[125,187,188],{"class":180}," =",[125,190,192],{"class":191},"sZW6a"," await",[125,194,140],{"class":195},"sULi6",[125,197,198],{"class":135},"(",[125,200,164],{"class":156},[125,202,108],{"class":160},[125,204,164],{"class":156},[125,206,207],{"class":135},"); ",[125,209,211],{"class":210},"sjhu3","\u002F\u002F EXA_API_KEY\n",[125,213,215,217,220,222,224,227,230,233,235,237,240,242],{"class":127,"line":214},4,[125,216,181],{"class":180},[125,218,219],{"class":184}," results",[125,221,188],{"class":180},[125,223,192],{"class":191},[125,225,185],{"class":226},"spVlQ",[125,228,229],{"class":135},".",[125,231,232],{"class":195},"search",[125,234,198],{"class":135},[125,236,164],{"class":156},[125,238,239],{"class":160},"typescript runtime benchmarks",[125,241,164],{"class":156},[125,243,244],{"class":135},", {\n",[125,246,248,251,254,258],{"class":127,"line":247},5,[125,249,250],{"class":139},"  maxResults",[125,252,253],{"class":135},":",[125,255,257],{"class":256},"siHFe"," 5",[125,259,260],{"class":135},",\n",[125,262,264,267,269,272],{"class":127,"line":263},6,[125,265,266],{"class":139},"  summary",[125,268,253],{"class":135},[125,270,271],{"class":256}," true",[125,273,260],{"class":135},[125,275,277,280,282,284],{"class":127,"line":276},7,[125,278,279],{"class":139},"  fullText",[125,281,253],{"class":135},[125,283,271],{"class":256},[125,285,260],{"class":135},[125,287,289,292,294,296,299,301],{"class":127,"line":288},8,[125,290,291],{"class":139},"  category",[125,293,253],{"class":135},[125,295,157],{"class":156},[125,297,298],{"class":160},"research paper",[125,300,164],{"class":156},[125,302,260],{"class":135},[125,304,306,309,311,313,316,318],{"class":127,"line":305},9,[125,307,308],{"class":139},"  startPublishedDate",[125,310,253],{"class":135},[125,312,157],{"class":156},[125,314,315],{"class":160},"2026-01-01",[125,317,164],{"class":156},[125,319,260],{"class":135},[125,321,323],{"class":127,"line":322},10,[125,324,325],{"class":135},"});\n",[125,327,329],{"class":127,"line":328},11,[125,330,174],{"emptyLinePlaceholder":173},[125,332,334,336,339,341,343,345,347,349,352,354,357,360,362,364,366,368,370,373,375,377],{"class":127,"line":333},12,[125,335,181],{"class":180},[125,337,338],{"class":184}," page",[125,340,188],{"class":180},[125,342,192],{"class":191},[125,344,146],{"class":195},[125,346,198],{"class":135},[125,348,164],{"class":156},[125,350,351],{"class":160},"https:\u002F\u002Fbun.sh\u002Fblog",[125,353,164],{"class":156},[125,355,356],{"class":135},", {",[125,358,359],{"class":139}," provider",[125,361,253],{"class":135},[125,363,157],{"class":156},[125,365,108],{"class":160},[125,367,164],{"class":156},[125,369,143],{"class":135},[125,371,372],{"class":139}," noCache",[125,374,253],{"class":135},[125,376,271],{"class":256},[125,378,379],{"class":135}," });\n",[381,382,383,384,387],"p",{},"The key goes in the ",[122,385,386],{},"x-api-key"," header, both requests are a POST.",[110,389,391],{"id":390},"what-it-reads","What it reads",[393,394,395,408],"table",{},[396,397,398],"thead",{},[399,400,401,405],"tr",{},[402,403,404],"th",{},"Call",[402,406,407],{},"Endpoint",[409,410,411,436],"tbody",{},[399,412,413,418],{},[414,415,416],"td",{},[122,417,232],{},[414,419,420,423,424,427,428,431,432,435],{},[122,421,422],{},"POST \u002Fsearch"," on api.exa.ai with ",[122,425,426],{},"type: \"auto\"",", ",[122,429,430],{},"numResults"," and a ",[122,433,434],{},"contents"," block",[399,437,438,443],{},[414,439,440],{},[122,441,442],{},"read",[414,444,445,448,449,427,452,427,455,458,459,462,463,458,466],{},[122,446,447],{},"POST \u002Fcontents"," with one URL in ",[122,450,451],{},"urls",[122,453,454],{},"text: true",[122,456,457],{},"maxAgeHours: 0"," for ",[122,460,461],{},"noCache"," and ",[122,464,465],{},"livecrawlTimeout",[122,467,468],{},"timeout",[381,470,471,474,475,478,479,474,482,427,485,474,488,229],{},[122,472,473],{},"contents.highlights"," follows ",[122,476,477],{},"highlights"," (default true), ",[122,480,481],{},"contents.summary",[122,483,484],{},"summary",[122,486,487],{},"contents.text",[122,489,490],{},"fullText",[110,492,494],{"id":493},"what-comes-back","What comes back",[381,496,497,427,500,427,503,427,506,427,509,427,512,515,516,462,518,521,522,525],{},[122,498,499],{},"score",[122,501,502],{},"publishedDate",[122,504,505],{},"author",[122,507,508],{},"image",[122,510,511],{},"favicon",[122,513,514],{},"highlights[]"," by default, ",[122,517,484],{},[122,519,520],{},"text"," on request. Domain filters, a ",[122,523,524],{},"category"," forwarded as given, and both date bounds all work. The most complete result shape in the provider list.",[381,527,528,529,532,533,427,536,462,538,540,541,544,545,548,549,551,552,555,556,559],{},"Reads give the page text as markdown in ",[122,530,531],{},"content",", plus ",[122,534,535],{},"title",[122,537,502],{},[122,539,508],{}," when Exa has them, and Exa's ",[122,542,543],{},"requestId"," in ",[122,546,547],{},"metadata.requestId",". ",[122,550,468],{}," is in seconds and goes out as milliseconds, capped at Exa's 90. No links, images, selectors or ",[122,553,554],{},"maxTokens",", and ",[122,557,558],{},"format"," is always markdown, whatever you ask for.",[110,561,563],{"id":562},"gotchas","Gotchas",[565,566,567,573,578,585,591,614,620],"ul",{},[568,569,570,572],"li",{},[122,571,490],{}," returns the whole page for every result. Ten of those is a lot of tokens, stick to highlights unless you will actually read the text.",[568,574,575,577],{},[122,576,524],{}," is passed through as typed, so an unknown value is Exa's problem, not the library's.",[568,579,580,581,584],{},"Exa is first in the detection order. With ",[122,582,583],{},"EXA_API_KEY"," set it is the default provider, whether you meant that or not. For reads it is the opposite, last in line after Jina, Context.dev, Firecrawl, TinyFish and Tavily.",[568,586,587,588,590],{},"Contents answers from Exa's cache when it has the page and crawls it when it doesn't. Nothing says how old that copy is, so ",[122,589,461],{}," is the thing to reach for on anything that changes.",[568,592,593,594,597,598,601,602,605,606,609,610,613],{},"A page Contents cannot fetch is not an HTTP error. The request comes back 200 with an empty ",[122,595,596],{},"results"," and a tag in ",[122,599,600],{},"statuses",", like ",[122,603,604],{},"CRAWL_NOT_FOUND"," or ",[122,607,608],{},"CRAWL_HTTP_403",". That becomes a ",[122,611,612],{},"WebError"," with the tag, not a fallback.",[568,615,616,619],{},[122,617,618],{},"url"," on a read is the one Exa reports, which can be the page after a redirect, not the address you passed.",[568,621,622,623,626],{},"Spent credits come back as HTTP 402 ",[122,624,625],{},"NO_MORE_CREDITS",", and Exa checks credits before it even looks at the request. Automatic reads move on to the next reader.",[110,628,630],{"id":629},"where-it-lives","Where it lives",[381,632,633,229],{},[122,634,635],{},"src\u002Fproviders\u002Fexa.ts",[637,638,639],"style",{},"html pre.shiki code .sP0CR, html code.shiki .sP0CR{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .stCPd, html code.shiki .stCPd{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#A6ACCD}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sZW6a, html code.shiki .sZW6a{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7C0}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":120,"searchDepth":170,"depth":170,"links":641},[642,643,644,645,646],{"id":112,"depth":170,"text":113},{"id":390,"depth":170,"text":391},{"id":493,"depth":170,"text":494},{"id":562,"depth":170,"text":563},{"id":629,"depth":170,"text":630},"The Exa neural search API, the richest result shape of the built-ins, with highlights by default and summaries and full text on request, and Exa Contents for reading pages.","md",null,{"icon":651},"i-lucide-sparkles",{"title":60,"description":647},"-5TwbLPDhzhmwHqdrMu0ucvsSeE7YYMRn9Y4YvZLrTU",[655,657],{"title":56,"path":57,"stem":58,"description":656,"children":-1},"The Context.dev API for search with Markdown ranked by relevance and for scraping pages into Markdown or HTML.",{"title":64,"path":65,"stem":66,"description":658,"children":-1},"The Firecrawl v2 API for search with scraped passages and for scraping a page into Markdown or HTML.",1790163162696]