Skip to the page

Jina Search (s.jina.ai) compatible

Change the address.

SpecStream answers the s.jina.ai search in Jina's own JSON and text forms, at $0.005 a search of up to 10 results with each page's text. Every line below was measured on production on November 10, 2026.

The switch is one address: https://api.specstream.ai/jina-search/ in place of https://s.jina.ai/, and a SpecStream key as the Bearer token. Your code reads data[].title, url, description and content as before.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks. A search costs one price, whatever the length of the pages.

New accounts get $10 of credit, no card. It covers 2,000 searches.

Jina Search to SpecStream, parameter by parameter and field by field

SpecStreamJina Search (s.jina.ai)
Addresshttps://api.specstream.ai/jina-search/ with q, as a GET, a POST with a JSON body, or the query as the pathPOST https://s.jina.ai/ with q
The keyA SpecStream key as Authorization: BearerA Jina key in the Authorization header
`count` and `num`0 to 20, 10 when you send none or 0. page moves to the next resultsnum 0 to 20, default 10, and page
Sitessite and the X-Site header keep the results on one siteThe X-Site header, for searches in one domain
Page textEach result's page is read and its text returned in content by default, at no extra cost. X-Respond-With: no-content returns the results aloneReturns the top five results with their URLs and contents in LLM friendly text
The replyWith Accept: application/json: code, status and data[] with title, url, description and content. Any other Accept gets Jina's text form, [1] Title: and the rest. Not returned: publishedTime, favicon and token countscode, status and data[] of page objects with title, description, url, content and publishedTime
`type`Web results. type images or news gets 400 with Jina's error bodyweb, images or news
Price$0.005 a search of up to 10 results, page text included, whatever the length of the pagesPriced by tokens processed. Every request costs at least 10,000 tokens
Free to start$10 of credit, no card, which covers 2,000 searches10M free tokens with every new API key

The Jina Search reference, on SpecStream

What else Jina Search users price

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to migrate, step by step

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Set the address to https://api.specstream.ai/jina-search/ where your code has https://s.jina.ai/, and send the SpecStream key as the Bearer token. In Python:

import requests

BASE = "https://api.specstream.ai/jina-search/"  # was https://s.jina.ai/

reply = requests.get(
    BASE,
    params={"q": "Who founded Mistral AI and when?", "num": 10},
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}", "Accept": "application/json"},
    timeout=60,
)
reply.raise_for_status()
for item in reply.json()["data"]:
    print(item["title"], item["url"], item["content"][:200])

3. In JavaScript:

const url = new URL("https://api.specstream.ai/jina-search/");
url.searchParams.set("q", "Who founded Mistral AI and when?");
const res = await fetch(url, {
  headers: {
    Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`,
    Accept: "application/json",
    "X-Respond-With": "no-content",
  },
});
const data = await res.json();
for (const item of data.data) console.log(item.title, item.url);

4. Read 402 InsufficientBalanceError as an empty balance and 429 as a call to send again after Retry-After; neither is charged.

5. When your product needs every match in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet and the facts to bring back, quotes the most it can cost, and delivers the rows after you approve.

Frequently asked questions

Something we didn't answer? Talk to a human

Is there a Jina Search (s.jina.ai) compatible API?
Yes. SpecStream answers the s.jina.ai search at https://api.specstream.ai/jina-search/ in Jina's JSON and text forms, checked on production on November 10, 2026, for $0.005 a search of up to 10 results.
How do I migrate from Jina Search?
Change one address: https://api.specstream.ai/jina-search/ in place of https://s.jina.ai/, and a SpecStream key as the Bearer token. The request and the code that reads data[] stay as they are.
How much does Jina Search cost?
Jina prices search by tokens processed, from 10,000 tokens a request, and every new API key gets 10M free tokens. SpecStream charges $0.005 a search of up to 10 results with each page's text.
Which apps and SDKs take the SpecStream address for Jina Search?
LangChain, langchain-community 0.4.2: set base_url on JinaSearch to https://api.specstream.ai/jina-search?q=. The wrapper adds the query straight after the address, so the value ends in ?q=. agno: pass search_url="https://api.specstream.ai/jina-search/" to JinaReaderTools, with your SpecStream key in JINA_API_KEY. Cherry Studio: in the Jina provider, set the API host for search to https://api.specstream.ai/jina-search.
Does LangChain's JinaSearchAPIWrapper work with SpecStream?
Yes. In langchain-community 0.4.2, JinaSearchAPIWrapper(base_url="https://api.specstream.ai/jina-search/") with the SpecStream key in JINA_API_KEY returned 10 results, each with content, link, snippet and title.
Does SpecStream return page text like s.jina.ai?
Yes, by default: each of the 10 results carries its page's text in content, at $0.005 a call. Send X-Respond-With: no-content for the results alone.
Which Jina fields does SpecStream not return?
Three: publishedTime, favicon and the token counts in usage. Each item has title, url, description and content.
What happens when search is busy?
The route answers 429 RateLimitTriggeredError with a Retry-After header and charges nothing. One account can send up to 8,800 searches a minute.

Sources

SpecStream wrote this page. Each Jina figure comes from Jina's own pages, and each other provider's figure from that company's own page. The route's behavior is taken from its code and from the pass table measured on production on November 10, 2026.

  1. Jina API docsdocs.jina.ai/llms.txt, read Nov 10, 2026
  2. Jina Reader and Searchjina.ai/reader, read Nov 10, 2026
  3. Jina OpenAPIdocs.jina.ai/openapi.json, read Nov 10, 2026
  4. LangChain JinaSearchAPIWrapperraw.githubusercontent.com/langchain-ai/langchain-community/main/libs/community/langchain_community/utilities/jina_search.py, read Nov 10, 2026
  5. SpecStream pass table, Jina Search routespecstream.ai/specstream/dialects/jina-search.md, read Nov 10, 2026
  6. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 9, 2026
  7. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 9, 2026
  8. Serperserper.dev/, read Nov 9, 2026
  9. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  10. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  11. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026