API
39M papers. 575K trials. One API.
Search 39M papers and 575K trials — or look up any PMID, DOI, or NCT ID.
Structured JSON with what actually matters: MeSH IDs, ORCID/ROR authorship, publication types, retraction flags, trial design, outcome measurements by arm, and a bidirectional citation graph. Papers link to the trials they describe, and back.
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
Data
Two live cores. Both updated daily.
Query curated life science databases directly — no wrappers, no hallucinations. Every record carries full provenance and typed metadata.
BioMedCore
/cores/biomedcore/records
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.
Filter parameters
TrialCore
/cores/trialcore/records
Clinical trial records from ClinicalTrials.gov. 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, not PDF blobs. Records link back to the publications that describe them in BioMedCore.
Filter parameters
How It Works
From zero to your first response — three steps
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 only once — copy it immediately. Generate separate keys for dev and prod; both share your plan quota.
production
amass_live_••••••••••••
development
amass_dev_••••••••••••
Make your first search request
Pass your key in the Authorization header on every request. Search BioMedCore or TrialCore with a natural-language query plus optional filters. Returns up to 300 records per call.
$ curl \
"https://api.amass.tech/api/v1/
cores/biomedcore/records?
query=alzheimer+tau
&minJournalQualityJufo=2
&limit=10" \
-H "Authorization: Bearer amass_YOUR_KEY"Build your workflow — Python, JavaScript, or any HTTP client
No official SDK needed — the API is plain REST. 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"]["records"]
# → list of { amassId, pmid, doi, title,
# citationCount, journalQualityJufo, … }Use Cases
What teams build with the API
Real patterns used by R&D teams, data engineers, and builders. Every snippet below is copy-paste ready.
Literature mining pipeline
Pull high-quality papers on any target, pipe the structured output into pandas, and sort by citation count for a prioritised reading list — all in 10 lines.
import requests, pandas as pd
r = requests.get(
"…/cores/biomedcore/records",
headers={"Authorization": "Bearer amass_…" },
params={
"query": "GLP-1 receptor agonist NASH",
"minJournalQualityJufo": 2,
"minPublicationDate": "2023-01-01",
"limit": 300},
)
df = pd.DataFrame(r.json()["data"]["records" ])
df.sort_values("citationCount").head(20)No-code trial tracker — built in one afternoon
Paste your Amass API key into Lovable and describe what you want. It wires up the TrialCore endpoint, builds a filterable table, and deploys — no engineering required.
“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.”
GET /cores/trialcore/records
?query=NASH
&phase=PHASE3
&overallStatus=RECRUITING
&limit=100Nightly 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. Zero code.
Schedule
every night
HTTP GET
TrialCore
IF
new records?
Slack
notify team
Method: GET
URL: …/cores/trialcore/records
Auth: Bearer amass_YOUR_KEY
# Query params
query: obesity GLP-1
phase: PHASE3
overallStatus: RECRUITINGInternal research app in 20 lines
A Streamlit app that wraps BioMedCore into an internal search tool — live search with JuFo score and citation count visible at a glance. Deployed on Streamlit Community Cloud for free.
import streamlit as st, requests
q = st.text_input("Search papers")
if q:
r = requests.get(
"…/cores/biomedcore/records",
headers={"Authorization": f"Bearer {st.secrets['KEY']}" },
params={"query": q, "limit": 20, "rerank": True },
)
for rec in r.json()["data"]["records"]:
st.markdown(f"**{rec['title']}** \n{rec['doi']}")
st.caption(f"JuFo {rec['journalQualityJufo']} · {rec['citationCount']} citations")Developer Resources
Everything you need to get to production
API Overview
Base URL, authentication, rate limits, error codes, and response envelope.
See moreBioMedCore Reference
Full parameter and field reference for all three BioMedCore endpoints.
See moreTrialCore Reference
Full parameter and field reference for all three TrialCore endpoints.
See moreQuickstart Guide
From zero to your first cited response in under five minutes.
See moreLLM Quick Reference
Self-contained reference designed for AI agents and automated tools.
See moreOpenAPI Spec
Machine-readable spec for code generation, Postman imports, and type inference.
See moreShip faster with cited science
Start building with the Amass API today. Enterprise plans available for teams that need dedicated support.
By using the API you agree to the API Terms of Service.