BYTETOOLS

OpenAlex API

Free OpenAlex API with no key: 250M+ scholarly works, authors, institutions, topics and citation graph. The open replacement for Microsoft Academic. Tested.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the OpenAlex API?

OpenAlex is a free, key-free API cataloguing more than 250 million scholarly works along with authors, institutions, sources, topics and the citation graph connecting them — an open replacement for the discontinued Microsoft Academic Graph.

OpenAlex goes beyond bibliographic records to model the whole scholarly ecosystem as linked entities: works cite works, authors belong to institutions, works have topics. That graph structure is what makes it useful for research analytics rather than simple lookup.

Its group-by aggregation is genuinely powerful — you can ask for counts of works grouped by publication year, institution or open-access status in one request, which would otherwise require paging through millions of records.

Quick facts

Base URL
https://api.openalex.org
Authentication
No API key. Adding `mailto=` joins the faster polite pool, as with Crossref.
Rate limit
100,000 requests per day and 10 per second, which is generous.
Pricing
Free and fully open — the entire dataset is also downloadable.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the OpenAlex API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Query scholarly works

GET https://api.openalex.org/works?per-page=1

curl
curl 'https://api.openalex.org/works?per-page=1'
JavaScript (fetch)
const res = await fetch("https://api.openalex.org/works?per-page=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.openalex.org/works?per-page=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "meta": {
    "count": 322044938,
    "db_response_time_ms": 150,
    "page": 1,
    "per_page": 1,
    "groups_count": null,
    "x_query": {
      "oql": "works",
      "oqo": {
        "get_rows": "works"
      },
      "url": "/works?per_page=1"
    },
    "cost_usd": 0.0001
  },
  "results": [
    {
      "id": "https://openalex.org/W3038568908",
      "doi": "https://doi.org/10.1585/pfr.15.2402039",
      "title": "Radiation Resistant Camera System for Monitoring Deuterium Plasma Discharges in the Large Helical Device",
      "display_name": "Radiation Resistant Camera System for Monitoring Deuterium Plasma Discharges in the Large Helical Device",
      "publication_year": 2020,
      "publication_date": "2020-06-08",
      "ids": {
        "openalex": "https://openalex.org/W3038568908",
        "doi": "https://doi.org/10.1585/pfr.15.2402039",
        "mag": "3038568908"
      },
      "language": "en",
      "primary_location": {
        "id": "doi:10.1585/pfr.15.2402039",
        "is_oa": true,
        "landing_page_url": "https://doi.org/10.1585/pfr.15.2402039",
        "pdf_url": "https://www.jstage.jst.go.jp/article/pfr/15/0/15_2402039/_pdf",
        "source": {
          "id": "https://openalex.org/S46033839",
          "display_name": "Plasma and Fusion Research",
          "issn_l": "1880-6821",
          "issn": [
            "1880-6821"
          ],
          "is_oa": true,
          "is_in_doaj": false,
          "is_core": true,
          "host_organization": "https://openalex.org/P4328135220",
          "host_organization_name": "Japan Society of Plas

Parameters

ParameterTypeRequiredDescription
per-pageintegerOptionalResults per page, max 200. 25
page / cursorstringOptionalPagination; cursor for deep paging. *
searchstringOptionalFull-text search across works. climate change
filterstringOptionalFilters such as publication_year or is_oa. publication_year:2026
group_bystringOptionalAggregate counts by a field instead of listing works. publication_year
mailtostringOptionalYour email, for the polite pool. you@example.com

Response fields

meta.countinteger
Total works matching the query.
results[].idstring
OpenAlex entity URL, the canonical identifier.
results[].doistring
DOI where one exists.
results[].titlestring
Work title as a plain string, unlike Crossref.
results[].authorshipsarray
Authors with institution affiliations.
results[].cited_by_countinteger
Citation count.
results[].open_accessobject
Open access status and best available URL.
results[].topicsarray
Classified research topics with confidence scores.

What you can build with the OpenAlex API

  • Build research analytics and bibliometric dashboards
  • Analyse institutional publication output and collaboration
  • Find open-access versions of paywalled papers
  • Map research topics and citation networks

Common errors and how to fix them

403 or throttling

Anonymous pool under load.

Fix: Add mailto= to join the polite pool; it is free and noticeably more reliable.

Deep paging fails

Page-based paging is capped.

Fix: Use cursor=* and follow meta.next_cursor for large result sets.

Filter syntax errors

Filters use colon-separated field:value pairs joined by commas.

Fix: For example filter=publication_year:2026,is_oa:true.

OpenAlex API — frequently asked questions

Is OpenAlex free?

Yes, completely free and open with no API key, at 100,000 requests per day. The entire dataset is also available as a downloadable snapshot.

How is it different from Crossref?

Crossref is authoritative for DOI metadata. OpenAlex models the wider scholarly graph — authors, institutions, topics and citations as linked entities — which suits analytics rather than pure lookup.

What replaced Microsoft Academic Graph?

OpenAlex was built explicitly as its open successor after Microsoft discontinued MAG in 2021.

Can I aggregate without downloading everything?

Yes, group_by returns counts grouped by a field such as publication_year or institution in a single request — a major advantage over paging.

Tools that pair with this API

OpenAlex is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.