Getting started

API Overview

The OpenAlex API provides access to a comprehensive catalog of scholarly works, authors, sources, institutions, topics, and more.

Note: New to OpenAlex? Start with the Guides for tutorials and walkthroughs. This API Reference is for detailed endpoint documentation.

Base URL

https://api.openalex.org

Authentication

Add your API key as a query parameter:

curl "https://api.openalex.org/works?api_key=YOUR_KEY"

Note: API keys are free. Get yours here. See Authentication & Pricing for details.

Entities

The API is organized around these entity types:

Entity Endpoint Description
Works /works Scholarly documents (articles, books, datasets)
Authors /authors Researchers with disambiguated identities
Sources /sources Journals, repositories, conferences
Institutions /institutions Universities, research organizations
Topics /topics Research area classifications
Keywords /keywords Short phrases from works
Publishers /publishers Publishing organizations
Funders /funders Funding agencies
Awards /awards Research grants
Domains /domains Top-level topic hierarchy
Fields /fields Second-level topic hierarchy
Subfields /subfields Third-level topic hierarchy
SDGs /sdgs UN Sustainable Development Goals
Countries /countries Geographic entities
Continents /continents Geographic entities
Languages /languages Language classifications
Work Types /work-types Enumeration of work types
Source Types /source-types Enumeration of source types
Institution Types /institution-types Enumeration of institution types
Licenses /licenses Enumeration of licenses
Concepts /concepts Legacy taxonomy (deprecated)

Operations

Each entity supports these operations:

Operation Pattern Example
List GET /{entities} GET /works
Get GET /{entities}/{id} GET /works/W2741809807
Filter GET /{entities}?filter= GET /works?filter=publication_year:2024
Search GET /{entities}?search= GET /works?search=machine+learning
Aggregate GET /{entities}?group_by= GET /works?group_by=type

Response Format

All list endpoints return the same structure:

{
  "meta": {
    "count": 286750097,
    "db_response_time_ms": 152,
    "page": 1,
    "per_page": 25
  },
  "results": [
    { "id": "https://openalex.org/W2741809807", "title": "...", ... },
    { "id": "https://openalex.org/W2741809808", "title": "...", ... }
  ],
  "group_by": []
}
Field Description
meta.count Total results matching your query
meta.page Current page number
meta.per_page Results per page (default 25, max 100)
results Array of entity objects
group_by Aggregation results (when using group_by)

Quick Example

Get open access articles from 2024 with more than 100 citations:

curl "https://api.openalex.org/works?filter=publication_year:2024,is_oa:true,cited_by_count:>100&per_page=10&api_key=YOUR_KEY"

Query Parameters

Parameter Description
api_key Your API key (required)
filter Filter by field values
search Full-text search
sort Sort results
per_page Results per page (1-100)
page Page number
cursor Deep pagination cursor
sample Random sample size
select Limit returned fields
group_by Aggregate by field

External IDs

Look up entities by external identifiers:

# By DOI
GET /works/https://doi.org/10.7717/peerj.4375
GET /works/doi:10.7717/peerj.4375

# By ORCID
GET /authors/https://orcid.org/0000-0001-6187-6610

# By ROR
GET /institutions/https://ror.org/0161xgx34

# By PMID
GET /works/pmid:29456894

OpenAPI Specification

The complete API specification is available for tooling and code generation:

Next Steps

View as Markdown