Integration
API
Integrate preprint quality grades into your platform, journal workflow, or LLM pipeline.
Quick start
curl https://preprints.ai/v1/pipeline | jq '.assessments[0]'
No key required. Rate-limited at 120 requests per minute per IP.
Fetching a specific paper
# By DOI
curl https://preprints.ai/reviews/10.1101/2025.01.15.633214
# Trigger assessment if not cached
curl -X POST https://preprints.ai/v1/assess \
-H "content-type: application/json" \
-d '{"doi": "10.1101/2025.01.15.633214"}'
Python
import httpx
def get_grade(doi: str) -> dict:
r = httpx.get(f"https://preprints.ai/reviews/{doi}")
r.raise_for_status()
return r.json()
grade = get_grade("10.1101/2025.01.15.633214")
print(grade["assessment"]["grade"]) # e.g. "B3"
JavaScript
async function getGrade(doi) {
const r = await fetch(`https://preprints.ai/reviews/${encodeURIComponent(doi)}`);
if (!r.ok) throw new Error(r.statusText);
return r.json();
}
const { assessment } = await getGrade("10.1101/2025.01.15.633214");
console.log(assessment.grade); // "B3"
Displaying a grade badge
Every assessment has a shareable badge. See embed badges for the SVG image URLs that update in real time.
<img src="https://preprints.ai/badge/10.1101/2025.01.15.633214" alt="Preprints.ai grade">
RSS feed
Subscribe to new assessments as they land:
<link rel="alternate" type="application/rss+xml" href="https://preprints.ai/feed.xml">
Partner integrations
If you're a journal, preprint server, or aggregator wanting to ingest assessments at scale, contact us — we offer:
- Bulk data dumps (JSON, no rate limits)
- Webhooks for new assessments matching your filters
- White-label assessments under your own brand (e.g.
openaccess.ai,openscience.ai) - Custom scoring profiles for specific fields