DEV Community

Alex Spinov
Alex Spinov

Posted on

CORE API: Search 260M+ Scientific Papers Across All Repositories (Free)

Most academic APIs cover a single source. But what if you need to search across ALL of them at once?

CORE (core.ac.uk) aggregates 260M+ papers from 10,000+ repositories worldwide. It is the largest collection of open-access research papers. And it has a free API.

What Is CORE?

CORE stands for COnnecting REpositories. It harvests papers from:

  • University repositories (Harvard, MIT, Oxford)
  • Preprint servers (arXiv, bioRxiv, medRxiv)
  • Open-access journals (PLOS, MDPI, Frontiers)
  • National repositories (PubMed Central, HAL)

Result: 260M+ metadata records and 36M+ full-text papers searchable through one API.

Getting Started

Get a free API key from core.ac.uk/services/api.

import requests

API_KEY = "your_free_api_key"
BASE = "https://api.core.ac.uk/v3"
headers = {"Authorization": f"Bearer {API_KEY}"}

response = requests.get(f"{BASE}/search/works", headers=headers, params={
    "q": "web scraping ethics",
    "limit": 5
})

for paper in response.json()["results"]:
    print(f"Title: {paper[chr(39)+title+chr(39)]}")
    print(f"Year: {paper.get(chr(39)+yearPublished+chr(39), chr(39)+N/A+chr(39))}")
    print()
Enter fullscreen mode Exit fullscreen mode

Find Full-Text Papers

This is CORE killer feature — actual full-text access:

response = requests.get(f"{BASE}/search/works", headers=headers, params={
    "q": "machine learning interpretability",
    "limit": 5,
    "has_full_text": "true"
})

for paper in response.json()["results"]:
    text_preview = paper.get("fullText", "")[:200]
    print(f"{paper[chr(39)+title+chr(39)]}")
    print(f"  Preview: {text_preview}...")
Enter fullscreen mode Exit fullscreen mode

CORE vs Other Academic APIs

Feature CORE OpenAlex Semantic Scholar PubMed
Papers 260M+ 250M+ 200M+ 35M+
Full Text 36M+ Links only Links only PMC only
API Key Free None needed Free None needed
Multi-source 10K+ repos Aggregated CS-focused Biomedical

CORE wins on full-text access.

Use Cases

  1. Systematic literature reviews
  2. Text mining on full-text content
  3. Research monitoring
  4. Open access compliance checking
  5. Citation analysis across repositories

I build data collection tools for research. CORE is my go-to for full-text across repositories.

See also: OpenAlex API | Semantic Scholar API | PubMed API

Check my GitHub for more API wrappers.\n\n---\n\n## More Free Research APIs\n\nThis is part of my series on free APIs for researchers and data scientists:\n\n- OpenAlex API — 250M+ Academic Works\n- CORE API — 260M+ Scientific Papers\n- Crossref API — DOI Metadata for 150M+ Papers\n- Unpaywall API — Find Free Paper Versions\n- Europe PMC — 40M+ Biomedical Papers\n- World Bank API — GDP & Economic Data\n- ORCID API — 18M+ Researcher Profiles\n- DBLP API — 6M+ CS Publications\n- NASA APIs — 20+ Free Space Data APIs\n- FRED API — 800K+ US Economic Time Series\n- All 30+ Research APIs Mapped\n\n*Tools: Academic Research Toolkit on GitHub*

Top comments (0)