The problem with how retrieval works today

Every major search and retrieval API (Exa, Tavily, Perplexity Sonar) works the same way: take a query, search the web, rank the results by semantic similarity, return the top URLs. The authority of the author is nowhere in that pipeline. A research paper by Ugur Sahin and a blog post paraphrasing it look identical to a vector similarity function.

This produces a fundamental quality ceiling. No matter how good the embeddings, you cannot reliably surface expert content if you treat all content as equivalent. You end up with a mix of primary sources, summaries, SEO articles, and AI-generated rewrites, with no way to tell them apart at retrieval time.

A different retrieval architecture

Authority-first retrieval inverts the order. Instead of searching the web and hoping you find the right experts, you establish who the verified authorities are first, then retrieve the URLs that are both relevant to your query and attributable to those experts. The quality filter is applied before retrieval, not after.

The practical difference is significant. When you ask for the latest research on mRNA vaccines for cancer treatment, a broad semantic search returns whatever the web has indexed most recently. An authority-first query returns papers by Ugur Sahin at BioNTech, Vinod Balachandran at Memorial Sloan Kettering, and Adam Grippin at MD Anderson, because those are the verified oncologists the authority index identified, and those are the URLs that match your query within their known publishing footprint.

How it works: two calls

The pattern is two API calls. First, use the /index/ endpoint to retrieve the top verified authorities for your query. Then pass their SDU identifiers plus the original query to the new /sources/ endpoint, which returns the top 25 URLs sourced exclusively from those authorities.

Step 1: get the top verified authorities

Python: fetch top 100 verified authorities
import requests

AMYGDALA_API_KEY = "amyg_..."

query = "latest research on mRNA vaccines for cancer treatment by top oncologists"

# Step 1: get the top 100 verified authorities for this query
authorities = requests.get(
    "https://api.amygdala.eu/api/v1/index/",
    params={"query": query, "limit": 100},
    headers={"Authorization": f"Bearer {AMYGDALA_API_KEY}"},
).json()["results"]

sdus = [a["sdu"] for a in authorities]
print(f"Found {len(sdus)} verified authorities")

Step 2: retrieve curated URLs from those authorities

The /sources/ endpoint takes the SDU list and the original query and returns the top URLs ranked by relevance to your query, within the publishing footprint of the verified authorities. Coming soon.

Python: retrieve top 25 curated sources (coming soon)
# Step 2: retrieve the top 25 URLs most relevant to the query,
# sourced exclusively from the verified authorities above
# (endpoint coming soon)
response = requests.get(
    "https://api.amygdala.eu/api/v1/sources/",
    params={"sdus": sdus, "query": query, "limit": 25},
    headers={"Authorization": f"Bearer {AMYGDALA_API_KEY}"},
)

urls = response.json()["results"]

for item in urls:
    print(f"{item['title']}")
    print(f"  Author:  {item['author']} ({item['institution']})")
    print(f"  URL:     {item['url']}")
    print(f"  Date:    {item['date']}")
    print()
Example output
# Example output:
# ESMO 2025: mRNA-based COVID vaccines generate improved responses to immunotherapy
#   Author:  Adam Grippin, Steven H. Lin (MD Anderson)
#   URL:     https://mdanderson.org/...
#   Date:    Oct 2025
#
# SARS-CoV-2 mRNA vaccines sensitize tumours to immune checkpoint blockade
#   Author:  Elias Sayour, Hector R. Mendez-Gomez, Wen Jiang (UF)
#   URL:     https://nature.com/...
#   Date:    Oct 2025
#
# Individualized mRNA vaccines evoke durable T cell immunity in adjuvant TNBC
#   Author:  Ugur Sahin, Özlem Türeci (BioNTech)
#   URL:     https://nature.com/...
#   Date:    Feb 2026

Plugging sources into a RAG pipeline

Once you have a set of authority-attributed URLs, the rest of the pipeline is standard RAG: fetch the content of each URL, build a context block, and pass it to the LLM. The difference is in what goes into that context block. Every document has a named, verified author. Every source traces to an institution or a known publishing location. The LLM is reasoning over content that was selected because of who produced it, not just because it happened to rank in a web search.

Python: full pipeline: authorities → sources → answer
from mistralai import Mistral
import httpx

AMYGDALA_API_KEY = "amyg_..."
MISTRAL_API_KEY  = "..."

mistral = Mistral(api_key=MISTRAL_API_KEY)

def fetch_content(url: str) -> str:
    """Fetch plain text from a URL. Replace with your preferred scraper."""
    try:
        resp = httpx.get(url, timeout=10, follow_redirects=True)
        return resp.text[:3000]  # trim to fit context window
    except Exception:
        return ""

def answer_from_authority_sources(query: str) -> str:
    # Step 1: get top verified authorities
    sdus = [
        a["sdu"] for a in requests.get(
            "https://api.amygdala.eu/api/v1/index/",
            params={"query": query, "limit": 100},
            headers={"Authorization": f"Bearer {AMYGDALA_API_KEY}"},
        ).json()["results"]
    ]

    # Step 2: get the top 25 curated URLs from those authorities
    sources = requests.get(
        "https://api.amygdala.eu/api/v1/sources/",
        params={"sdus": sdus, "query": query, "limit": 25},
        headers={"Authorization": f"Bearer {AMYGDALA_API_KEY}"},
    ).json()["results"]

    # Step 3: fetch content from each source URL
    context_parts = []
    for s in sources:
        content = fetch_content(s["url"])
        if content:
            context_parts.append(
                f"Source: {s['title']}\n"
                f"Author: {s['author']}\n"
                f"URL: {s['url']}\n\n"
                f"{content}"
            )

    context = "\n\n---\n\n".join(context_parts)

    # Step 4: answer using only verified authority sources
    response = mistral.chat.complete(
        model="mistral-large-latest",
        messages=[{
            "role": "user",
            "content": (
                f"Answer this query based on the content below.\n\n"
                f"Query: {query}\n\n"
                f"{context}"
            ),
        }],
    )
    return response.choices[0].message.content

print(answer_from_authority_sources(
    "What are the latest publications in mRNA vaccines for cancer treatment by top oncologists?"
))

Why this is better than Exa or Tavily

Exa and Tavily are good at finding semantically similar documents across the open web. They are not designed to answer the question "what has Ugur Sahin published about neoantigen vaccines recently?" because they have no concept of who Ugur Sahin is, where he publishes, or what his authority rank is in oncology.

The Amygdala approach answers that question directly. The authority index knows which SDU corresponds to Ugur Sahin, knows his verified publishing locations, and can route the retrieval query to those locations specifically. You get fewer URLs, but every one of them is attributable to a verified expert. That tradeoff is almost always worth making for high-stakes applications.

  • No AI slop. Every returned URL traces to a verified human authority. Content generated by AI content farms and anonymous SEO sites is structurally excluded: not filtered after the fact, but never in scope to begin with.
  • No wasted context. A 25-URL result set from authority-first retrieval carries more signal than a 100-URL result set from broad web search. Your LLM context window is limited. Filling it with verified expert content produces better outputs than filling it with whatever ranked highest on Google.
  • Attributable by default. Every source comes with an author name, institution, and SDU. Citations are automatic. No post-processing to figure out who wrote what.

What's coming: embeddings per author and topic

The /sources/ endpoint is the first layer of a deeper retrieval system. The roadmap includes pre-computed embeddings for each verified authority's best-performing content per topic, as well as embeddings for their latest publishing activity: YouTube videos, podcasts, preprints, and publications.

This means the system will know, before your query arrives, that Vinod Balachandran publishes primarily in Nature and Science, that Katharine Hayhoe publishes a podcast and a Substack, and that Ugur Sahin's most-cited recent work is concentrated in three specific journals. When your query comes in, retrieval routes to those locations directly, no crawling required, no hoping the indexer found it. The result is the most relevant content from the most relevant experts, with the freshness and coverage that pre-computed embeddings enable.

Combined with the authority index, this creates a retrieval layer that no general-purpose search API can replicate: curated, expert-attributed, topic-specific, and continuously updated from verified human sources.

Try the Amygdala Authority Index

$50 in free credits. No credit card required.