The new Amass app is live. Ask in plain language, check every claim. Try it free

API

Six *Cores behind one REST API.

One endpoint pattern searches biomedical literature, clinical trials, drugs, genes, patents, and FDA and EMA regulatory records.

Each record comes back as typed JSON with its source identifiers (PMID, NCT ID, ChEMBL ID) and links to related records in the other *Cores. Papers and trials update daily; drugs, genes and FDA and EMA records weekly.

Join life-science AI builders on Discord

Join now

Demo

The *Core launch film

The six *Cores the API serves, and the MCP, app and agents built on them.

Builders

What people build with it

Founders, fellows, and hackathon teams who pointed their agents at the API and shipped.

We'd tried scraping patent data ourselves and it was a nightmare. With PatentCore we built a full freedom-to-operate landscape of our space in a couple of days.

Founder, stealth biotech (drug formulation)

PatentCore
The API is really great — I've used it personally for my structural-biology workflows. BioMedCore surfaced epitope annotations we couldn't find in structured databases like UniProt.

AI-for-Science Fellow, Oxford

BioMedCore
Of everything we built on during the hackathon, Amass was the most valuable API. I built a landscape around patents and trials — very, very valuable for understanding where the field is going.

Founder, Unlock Biology

PatentCore · TrialCore
This clear ground truth from a curated database to find similar, validated targets is, I think, the coolest thing of how we use Amass.

Co-founder, Apoptosis AI

DrugCore · GeneCore · BioMedCore
Read the story
we love amass.tech #londonaiscience

Data

Six *Cores in the API

Query curated life-science sources directly. Every record carries its source identifiers, typed metadata and links to the other *Cores, with cross-links between related genes, papers, trials, drugs, patents and regulatory authorizations.

BioMedCore

/cores/biomedcore/records

43M+

Peer-reviewed biomedical literature from PubMed and PubMed Central. Every record includes MeSH terms and IDs, publication types (RCT, meta-analysis, systematic review), JuFo 0–3 journal quality tier, citation count, DOI, PMID, and PMCID. Optional: full text for PMC articles, ORCID-disambiguated authors with ROR-mapped affiliations, and links to the trials each paper describes in TrialCore. Conference abstracts sit in the same index and carry the Amass-assigned value Conference in publicationTypes.

Filter parameters

queryminJournalQualityJufominCitationCountminPublicationDateisRetractedminLastUpdateDateminCreateDateinclude=fulltextinclude=authorsMetadata
See more

TrialCore

/cores/trialcore/records

1.2M+

Clinical trial records from ClinicalTrials.gov and international registries. Includes protocol data, eligibility criteria, primary and secondary endpoints, sponsor details, arm groups, recruitment status, NCT ID, and the full lifecycle: start, completion, results posting, and why stopped. Outcome measurements are available as structured values per arm. Records link back to the publications that describe them in BioMedCore.

Filter parameters

queryphaseoverallStatussponsorTypeinterventionTypefacilityCountrieshasResultsminEnrollmentminLastUpdateDateminCreateDateinclude=outcomes
See more

DrugCore

/cores/drugcore/records

22K+

ChEMBL-derived drugs and molecules, harmonized. Names, trade names, and synonyms; chemical structures with InChIKey and SMILES; modality classification; and highest clinical stage from preclinical through approval. Each drug cross-links to the trials, papers, and regulatory authorizations it appears in.

Filter parameters

querydrugTypemaxClinicalStage
See more

RegulatoryCore

/cores/regulatorycore/records

7K+

FDA and EMA regulatory data on one unified schema. FDA application records, drug labels, review documents, and approval letters; EMA EPARs, assessment reports, and SmPCs. Each record carries a unified authorization status, designations (Breakthrough Therapy, PRIME, Accelerated Approval), and orphan status, and cross-links to the drug it covers in DrugCore.

Filter parameters

queryagencyauthorizationStatushasDesignationisOrphanmoleculeTypeminLastUpdateDateminCreateDate
See more

GeneCore

/cores/genecore/records

43K+

43,000+ harmonized human gene records from HGNC, NCBI, UniProt, and Ensembl. Druggability and tractability assessments, target safety data, genetic constraint via gnomAD v4.0 (pLI, LOEUF), and cellular essentiality from CRISPR dependency screens. Each gene cross-links to the drugs that target it in DrugCore; follow those links to their trials, papers and approvals.

Filter parameters

querygeneTypeisDruggableisEssentialtargetClasstractabilityModalityhasSafetyLiabilitiesmaxConstraintLoeuf
See more

PatentCore

/cores/patentcore/records

170M+

Patent publications with English-preferred full text (title, abstract, claims, and description) plus bibliographic metadata (publication and application numbers, jurisdiction, kind code, family id), CPC/IPC classifications, inventors and assignees, four separate dates, and citation lineage. Search returns one publication per family, the most relevant member, and every record cross-links to the drugs it mentions in DrugCore and the papers it cites in BioMedCore.

Filter parameters

querycountryCodecpcCodesassigneeinventorminPriorityDateminCitedByCountinclude=claims
See more
Coming soon:DiseaseCoreMore *Cores on the way.

How it works

Your first response in three steps

Step 1

Create an account and get an API key

Sign up at platform.amass.tech, go to API Keys, and click Create API Key. Your key starts with amass_ and is shown once, so copy it. Separate keys for dev and prod share your plan quota.

API Keys+ Create key

production

amass_live_••••••••••••

Active

development

amass_dev_••••••••••••

Active
Step 2

Make your first search request

Pass your key in the Authorization header on every request. Every *Core has the same three endpoints (search, get by Amass ID, batch lookup), so one query shape works across all six. A search returns up to 300 records.

bash
$ curl \
 "https://api.amass.tech/api/v1/
 cores/biomedcore/records?
 query=alzheimer+tau
 &minJournalQualityJufo=2
 &limit=10" \
 -H "Authorization: Bearer amass_YOUR_KEY"
Step 3

Call it from Python, JavaScript or any HTTP client

The API is plain REST, with no official SDK. Use requests in Python or fetch in JavaScript. Handle 429s with exponential backoff; the rate-limit window resets every 60 seconds.

import requests

BASE = "https://api.amass.tech/api/v1"
HEADERS = {"Authorization": "Bearer amass_YOUR_KEY"}

# Search BioMedCore
resp = requests.get(
 f"{BASE}/cores/biomedcore/records",
 headers=HEADERS,
 params={
 "query": "GLP-1 NASH liver fibrosis",
 "minJournalQualityJufo": 2,
 "limit": 50,
 },
)
records = resp.json()["data"]
# → list of { amassId, pmid, doi, title,
# citationCount, journalQualityJufo, … }

Use cases

What teams build with the API

Four patterns for data scientists, R&D teams and research engineers. Each snippet is copy-paste ready.

Jupyter + pandasData scientist

Literature mining pipeline

Pull papers above a journal-quality threshold into pandas and sort them by citation count for a reading list.

python
import requests, pandas as pd

r = requests.get(
 "https://api.amass.tech/api/v1"
 "/cores/biomedcore/records",
 headers={"Authorization": "Bearer amass_YOUR_KEY" },
 params={
 "query": "GLP-1 receptor agonist NASH",
 "minJournalQualityJufo": 2,
 "minPublicationDate": "2023-01-01",
 "limit": 300},
)
df = pd.DataFrame(r.json()["data"])
df.sort_values("citationCount").head(20)
minJournalQualityJufo=2minPublicationDate=2023-01-01
LovableR&D team

No-code trial tracker in Lovable

Give Lovable your API key and describe the table you want. It calls the TrialCore endpoint, builds a filterable table and deploys it.

Lovable prompt

“Build a dashboard that fetches all recruiting Phase 3 NASH trials from the Amass API. Base URL: https://api.amass.tech/api/v1. Auth header: Authorization: Bearer amass_xxx. Show a filterable table: trial name, NCT ID, sponsor, enrollment, start date.”

generated request
GET /cores/trialcore/records
 ?query=NASH
 &phase=PHASE3
 &overallStatus=RECRUITING
 &limit=100
TrialNCT IDSponsorEnroll
LIVERAGE CirrhosisNCT06632457Boehringer Ingelheim1,590
Efruxifermin F2–F3NCT06215716Akero Therapeutics1,650
Pegozafermin F4NCT0641937489bio762
n8nR&D ops

Nightly trial monitoring alerts

An n8n HTTP Request node polls TrialCore every night and pushes a Slack message when new recruiting trials appear for your indication. No code to write.

Schedule

every night

HTTP GET

TrialCore

IF

new records?

Slack

notify team

HTTP Request node
Method: GET
URL: https://api.amass.tech/api/v1/cores/trialcore/records
Auth: Bearer amass_YOUR_KEY

# Query params
query: obesity GLP-1
phase: PHASE3
overallStatus: RECRUITING
StreamlitResearch engineer

Internal research app in 20 lines

A Streamlit app that searches BioMedCore and shows each paper’s DOI, JuFo score and citation count. Deploy it free on Streamlit Community Cloud.

app.py
import streamlit as st, requests

q = st.text_input("Search papers")
if q:
    r = requests.get(
        "https://api.amass.tech/api/v1"
        "/cores/biomedcore/records",
        headers={"Authorization": f"Bearer {st.secrets['KEY']}" },
        params={"query": q, "limit": 20, "minJournalQualityJufo": 2 },
    )
    for rec in r.json()["data"]:
        st.markdown(f"**{rec['title']}** \n{rec['doi']}")
        st.caption(f"JuFo {rec['journalQualityJufo']} · {rec['citationCount']} citations")

Start with one curl request

Your first call returns typed JSON with the source identifiers attached. Enterprise plans add dedicated support.

By using the API you agree to the API Terms of Service.

Data
No training on your data
Hosting
EU-hosted, enterprise
Isolation
Tenant-isolated by architecture
Certification
ISO 27001, SOC 2, NIS2: in motion