Preprints.ai
Integration

API

Integrate machine-generated preprint screening signals without losing their provenance or limitations.

Quick start

curl https://preprints.ai/v1/pipeline | jq '.assessments[0]'

No key is required for public reads. The default anonymous limit is 30 requests per minute.

Fetching a specific paper

# By DOI
curl https://preprints.ai/v1/score/10.1101/2025.01.15.633214

# Trigger a screening run 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_screening_signal(doi: str) -> dict:
    r = httpx.get(f"https://preprints.ai/v1/score/{doi}")
    r.raise_for_status()
    return r.json()["screening_signal"]

signal = get_screening_signal("10.1101/2025.01.15.633214")
print(signal["status"], signal["axes"])
# Always inspect axis status before displaying a value.

JavaScript

async function getScreeningSignal(doi) {
  const r = await fetch(`/v1/score/${encodeURIComponent(doi)}`);
  if (!r.ok) throw new Error(r.statusText);
  const report = await r.json();
  return report.screening_signal;
}

const signal = await getScreeningSignal("10.1101/2025.01.15.633214");
if (signal.axes.evidence.status !== "unavailable") {
  console.log(signal.axes.evidence.value);
}
if (signal.axes.novelty.status !== "unavailable") {
  console.log(signal.axes.novelty.value, signal.axes.novelty.label);
}

Displaying screening status

The SVG badge communicates run status—complete, limited, or withheld—not a paper-quality endorsement. Link it to the full report so readers can inspect the provenance.

<img src="https://preprints.ai/badge/10.1101/2025.01.15.633214" alt="Preprints.ai screening status">

RSS feed

Subscribe to new screening signals 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 screening signals at scale, integrations must retain screening_signal, axis availability, limitations, the Novelty basis/label, and the human-review notice.

See also