Jina Reranker

Open weights + Hosted API · Jina AI ·

Open weightsHosted APIv3 listwiseBrowser tiny

Jina’s 2026 flagship is jina-reranker-v3: a 0.6B listwise reranker built on Qwen3-0.6B that scores up to 64 documents inside one 131K-token context and reaches 61.94 nDCG@10 on BEIR — ahead of Qwen3-Reranker-4B at roughly a sixth of the size. Older v2 pairwise models remain useful; v1-tiny is still what runs in our browser demo.

Model variants

ModelSizeLanguagesNotes
jina-reranker-v30.6B100+ langsFlagship 2026 — listwise, 64 docs in 131K ctx, 61.94 BEIR
jina-reranker-v2-base-multilingual~278 MB100+ langsPrior multilingual pair-wise flagship
jina-reranker-v1-base-en~278 MBEnglishEnglish baseline
jina-reranker-v1-tiny-en~33 MBEnglishBrowser / edge; powers our demo

What listwise v3 changes

Classic cross-encoders score each (query, doc) independently. Listwise models see a slate of candidates at once, which can improve relative ordering when many passages share vocabulary. The trade-off is higher memory and a different serving path than MiniLM-style pair scoring.

v3 reports 61.94 nDCG@10 on BEIR — level with the strongest cross-encoders in our table while being small enough to serve on a single GPU, and ahead of Qwen3-Reranker-4B despite being 6× smaller. Architecturally it takes contextual embeddings from each document’s final token after causal attention across the whole slate, rather than scoring pairs late. Details in the v3 paper; confirm model IDs and limits on jina.ai/reranker.

Pricing

TierPrice
Free tier1 M tokens/month free — no credit card
Pay-as-you-go~$0.018 / 1M tokens

Token-based pricing is friendlier for long documents than per-call pricing. Check the Jina AI website for current rates.

Quick start

Hosted API (Python)

import requests

def rerank(query: str, documents: list[str], top_n: int = 5) -> list[str]:
    resp = requests.post(
        "https://api.jina.ai/v1/rerank",
        headers={"Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json"},
        json={
            "model": "jina-reranker-v3",  # or jina-reranker-v2-base-multilingual
            "query": query,
            "documents": documents,
            "top_n": top_n,
        },
    ).json()
    return [documents[r["index"]] for r in resp["results"]]

Self-hosted (sentence-transformers)

from sentence_transformers import CrossEncoder

# Open weights — same model, self-hosted
model = CrossEncoder("jinaai/jina-reranker-v2-base-multilingual",
                     trust_remote_code=True, max_length=1024)

scores = model.predict([(query, doc) for doc in documents])
ranked = sorted(zip(scores, documents), reverse=True)

Browser / edge use

The v1-tiny model (33 MB quantised) loads via transformers.js in under 10 seconds on a typical broadband connection and runs scoring at ~200 ms for a 10-candidate batch. This is what powers our demo:

// transformers.js (ES module in the browser)
import { AutoTokenizer, AutoModelForSequenceClassification }
  from "https://cdn.jsdelivr.net/npm/@huggingface/transformers@3";

const tokenizer = await AutoTokenizer.from_pretrained(
  "jinaai/jina-reranker-v1-tiny-en", { dtype: "q8" }
);
const model = await AutoModelForSequenceClassification.from_pretrained(
  "jinaai/jina-reranker-v1-tiny-en", { dtype: "q8" }
);

const inputs = tokenizer([query, query], {
  text_pair: [doc1, doc2],
  padding: true, truncation: true,
});
const { logits } = await model(inputs);
const scores = logits.sigmoid().tolist();

Pros and cons

Pros

  • 61.94 BEIR nDCG@10 from only 0.6B parameters
  • Dual-mode: hosted API + open weights
  • Tiny variant still runs in the browser (our demo)
  • Generous free tier (1M tokens/month, no card needed)
  • Token-based pricing suits long documents

Cons

  • v1-tiny is English-only and lower quality
  • Smaller company than Cohere — less ecosystem tooling
  • Self-hosted requires trust_remote_code=True
  • Token pricing can be opaque for short passages

jina-reranker-v1-tiny powers this demo

See it score your own passages live in the browser — no API key, no data leaving the page.

Open the demo →

Other models