v1 · Public API

PubScope API

Programmatic access to PubScope's journal integrity index. Currently shipping: predatory-journal lookup. More endpoints (finder, journal metadata) follow as we GA.

Plans

Free
100 calls / month
$0
Pro
10,000 calls / month
$10/mo
Enterprise
100,000+ calls / month
Custom

Authentication

Pass your X-Api-Key on every request. Get yours from your account page.

Sign in to see your API key.
GET/api/v1/predatory/check

Single-ISSN predatory lookup. Confidence is flagged when we have a known integrity concern, unknownwhen we don't — we never claim a journal is "safe".

cURL
curl "https://pubscope.org/api/v1/predatory/check?issn=1128-3602" \
  -H "X-Api-Key: YOUR_KEY"
Response
{
  "issn": "1128-3602",
  "is_predatory": true,
  "confidence": "flagged",
  "source": "doaj_removed:Journal not adhering to Best practice (2024-01-23)",
  "title": "European Review for Medical and Pharmacological Sciences",
  "publisher": "Verduci Editore s.r.l",
  "journal_url": "https://www.europeanreview.org/",
  "in_index": true
}
POST/api/v1/predatory/bulk

Batch up to 100 ISSNs per request. Quota is charged per ISSN — a 50-ISSN batch consumes 50 calls. Order is preserved.

cURL
curl -X POST "https://pubscope.org/api/v1/predatory/bulk" \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"issns": ["2475-1421", "1128-3602", "0000-0000"]}'
Python
import httpx

r = httpx.post(
    "https://pubscope.org/api/v1/predatory/bulk",
    headers={"X-Api-Key": "YOUR_KEY"},
    json={"issns": ["2475-1421", "1128-3602"]},
)
print(r.json())
GET/api/v1/quota

Returns your current month's usage. Useful for client-side throttling.

Response
{
  "tier": "pro",
  "cap":  10000,
  "used": 247,
  "remaining": 9753,
  "period": "2026-05"
}

Notes & limits

  • Honest unknowns. Absence of a flag means we have no integrity concern recorded — never that the journal is verified safe. Cross-check with DOAJ, COPE, and your institution's library if a flag is missing.
  • Source. Predatory signals are currently sourced from the SLUB DOAJ withdrawn-journals changelog (CC-BY-SA). Future versions will combine Cabells-style multi-signal scoring.
  • Cache. Single-ISSN responses are cached server-side for 1 hour. You can client-cache aggressively.
  • Rate limits. Bulk endpoint is capped at 100 ISSNs per call; bulk count consumes quota.
  • Errors. 401 = bad/missing X-Api-Key; 429 = monthly quota exhausted.

Need higher limits or bulk pricing?

Universities, publishers, and editing services run bulk integrity checks with us. Get in touch for a quote.

Contact sales