[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"navigation_docs":3,"-providers-jina":104,"-providers-jina-surround":445},[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":103},"Providers","\u002Fproviders","2.providers\u002F0.index",[49,51,55,59,63,67,71,75,79,83,87,91,95,99],{"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",{"title":100,"path":101,"stem":102},"Marginalia","\u002Fproviders\u002Fmarginalia","2.providers\u002F13.marginalia","i-lucide-library",{"id":105,"title":68,"body":106,"description":438,"extension":439,"links":440,"meta":441,"navigation":156,"path":69,"seo":443,"stem":70,"__hash__":444},"docs\u002F2.providers\u002F05.jina.md",{"type":107,"value":108,"toc":431},"minimark",[109,113,118,254,258,262,325,340,344,394,398,417,421,427],[110,111],"provider-facts",{"provider":112},"jina",[114,115,117],"h2",{"id":116},"address-it","Address it",[119,120,125],"pre",{"className":121,"code":122,"language":123,"meta":124,"style":124},"language-ts shiki shiki-themes web web web","import { create, readUrl } from \"@agntn\u002Fweb\";\n\nconst jina = await create(\"jina\"); \u002F\u002F JINA_API_KEY, required for search\nconst results = await jina.search(\"model context protocol\", { category: \"news\" });\nconst page = await readUrl(\"https:\u002F\u002Fmodelcontextprotocol.io\", { format: \"markdown\" }); \u002F\u002F Jina first, no key needed\n","ts","",[126,127,128,151,158,190,222],"code",{"__ignoreMap":124},[129,130,133,137,141,144,148],"span",{"class":131,"line":132},"line",1,[129,134,136],{"class":135},"skH_V","import",[129,138,140],{"class":139},"s38Sx"," { create, readUrl } ",[129,142,143],{"class":135},"from",[129,145,147],{"class":146},"shU9J"," \"@agntn\u002Fweb\"",[129,149,150],{"class":139},";\n",[129,152,154],{"class":131,"line":153},2,[129,155,157],{"emptyLinePlaceholder":156},true,"\n",[129,159,161,164,167,170,173,177,180,183,186],{"class":131,"line":160},3,[129,162,163],{"class":135},"const",[129,165,166],{"class":139}," jina ",[129,168,169],{"class":135},"=",[129,171,172],{"class":135}," await",[129,174,176],{"class":175},"sK71F"," create",[129,178,179],{"class":139},"(",[129,181,182],{"class":146},"\"jina\"",[129,184,185],{"class":139},"); ",[129,187,189],{"class":188},"scIB-","\u002F\u002F JINA_API_KEY, required for search\n",[129,191,193,195,198,200,202,205,208,210,213,216,219],{"class":131,"line":192},4,[129,194,163],{"class":135},[129,196,197],{"class":139}," results ",[129,199,169],{"class":135},[129,201,172],{"class":135},[129,203,204],{"class":139}," jina.",[129,206,207],{"class":175},"search",[129,209,179],{"class":139},[129,211,212],{"class":146},"\"model context protocol\"",[129,214,215],{"class":139},", { category: ",[129,217,218],{"class":146},"\"news\"",[129,220,221],{"class":139}," });\n",[129,223,225,227,230,232,234,237,239,242,245,248,251],{"class":131,"line":224},5,[129,226,163],{"class":135},[129,228,229],{"class":139}," page ",[129,231,169],{"class":135},[129,233,172],{"class":135},[129,235,236],{"class":175}," readUrl",[129,238,179],{"class":139},[129,240,241],{"class":146},"\"https:\u002F\u002Fmodelcontextprotocol.io\"",[129,243,244],{"class":139},", { format: ",[129,246,247],{"class":146},"\"markdown\"",[129,249,250],{"class":139}," }); ",[129,252,253],{"class":188},"\u002F\u002F Jina first, no key needed\n",[255,256,257],"p",{},"The key is sent as a Bearer token. Search needs it, reading works without one and sends it when present.",[114,259,261],{"id":260},"what-it-reads","What it reads",[263,264,265,278],"table",{},[266,267,268],"thead",{},[269,270,271,275],"tr",{},[272,273,274],"th",{},"Call",[272,276,277],{},"Endpoint",[279,280,281,297],"tbody",{},[269,282,283,288],{},[284,285,286],"td",{},[126,287,207],{},[284,289,290,293,294],{},[126,291,292],{},"GET https:\u002F\u002Fs.jina.ai\u002F…"," with ",[126,295,296],{},"Accept: application\u002Fjson",[269,298,299,304],{},[284,300,301],{},[126,302,303],{},"read",[284,305,306,293,309,312,313,312,316,312,319,312,322],{},[126,307,308],{},"GET https:\u002F\u002Fr.jina.ai\u002F\u003Curl>",[126,310,311],{},"X-Return-Format",", ",[126,314,315],{},"X-Target-Selector",[126,317,318],{},"X-Remove-Selector",[126,320,321],{},"X-Timeout",[126,323,324],{},"X-No-Cache",[255,326,327,328,331,332,335,336,339],{},"The reader host is derived from the search host, so a custom ",[126,329,330],{},"baseURL"," for ",[126,333,334],{},"s."," moves ",[126,337,338],{},"r."," with it.",[114,341,343],{"id":342},"what-comes-back","What comes back",[255,345,346,347,350,351,312,354,357,358,361,362,365,366,369,370,312,373,376,377,380,381,312,384,376,386,389,390,393],{},"Search results carry the page content in ",[126,348,349],{},"text",", plus ",[126,352,353],{},"publishedDate",[126,355,356],{},"image"," and ",[126,359,360],{},"metadata",". ",[126,363,364],{},"includeDomains"," and a ",[126,367,368],{},"category"," of ",[126,371,372],{},"web",[126,374,375],{},"images"," or ",[126,378,379],{},"news"," work. Reads give ",[126,382,383],{},"markdown",[126,385,349],{},[126,387,388],{},"html"," and take ",[126,391,392],{},"maxTokens"," natively, as a budget: a longer page fails with a 409 instead of coming back cut.",[114,395,397],{"id":396},"gotchas","Gotchas",[399,400,401,405,408],"ul",{},[402,403,404],"li",{},"Without a key r.jina.ai is rate limited per address. With a key, an empty balance answers 402, which is eligible for fallback to the next configured reader.",[402,406,407],{},"A 409 from the reader (could not fetch the page right now) is eligible for fallback too.",[402,409,410,412,413,416],{},[126,411,349],{}," on search results is the whole page. Ten results can be huge, keep ",[126,414,415],{},"maxResults"," low.",[114,418,420],{"id":419},"where-it-lives","Where it lives",[255,422,423,426],{},[126,424,425],{},"src\u002Fproviders\u002Fjina.ts",", the template for a reader.",[428,429,430],"style",{},"html pre.shiki code .skH_V, html code.shiki .skH_V{--shiki-light:var(--shiki-token-keyword);--shiki-default:var(--shiki-token-keyword);--shiki-dark:var(--shiki-token-keyword)}html pre.shiki code .s38Sx, html code.shiki .s38Sx{--shiki-light:var(--ui-text-highlighted);--shiki-default:var(--ui-text-highlighted);--shiki-dark:var(--ui-text-highlighted)}html pre.shiki code .shU9J, html code.shiki .shU9J{--shiki-light:var(--shiki-token-string);--shiki-default:var(--shiki-token-string);--shiki-dark:var(--shiki-token-string)}html pre.shiki code .sK71F, html code.shiki .sK71F{--shiki-light:var(--shiki-token-function);--shiki-default:var(--shiki-token-function);--shiki-dark:var(--shiki-token-function)}html pre.shiki code .scIB-, html code.shiki .scIB-{--shiki-light:var(--shiki-token-comment);--shiki-default:var(--shiki-token-comment);--shiki-dark:var(--shiki-token-comment)}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":124,"searchDepth":153,"depth":153,"links":432},[433,434,435,436,437],{"id":116,"depth":153,"text":117},{"id":260,"depth":153,"text":261},{"id":342,"depth":153,"text":343},{"id":396,"depth":153,"text":397},{"id":419,"depth":153,"text":420},"Jina's s.jina.ai for search and r.jina.ai for reading, the default reader, with an optional key.","md",null,{"icon":442},"i-lucide-file-text",{"title":68,"description":438},"8FGoNKOWVEjCPls1S5M9qDaZPJh3J_AToJ1R3wGRnHI",[446,448],{"title":64,"path":65,"stem":66,"description":447,"children":-1},"The Firecrawl v2 API for search with scraped passages and for scraping a page into Markdown or HTML.",{"title":72,"path":73,"stem":74,"description":449,"children":-1},"The Mojeek Search API, an independent index with classic SERP metadata, domain and date filters and paging.",1791182559801]