Skip to main content
The OpenAlex API provides access to a comprehensive catalog of scholarly works, authors, sources, institutions, topics, and more.
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"
API keys are free. Get yours here. See Authentication & Rate Limits for details.

Entities

The API is organized around these entity types:
EntityEndpointDescription
Works/worksScholarly documents (articles, books, datasets)
Authors/authorsResearchers with disambiguated identities
Sources/sourcesJournals, repositories, conferences
Institutions/institutionsUniversities, research organizations
Topics/topicsResearch area classifications
Keywords/keywordsShort phrases from works
Publishers/publishersPublishing organizations
Funders/fundersFunding agencies
Awards/awardsResearch grants
Domains/domainsTop-level topic hierarchy
Fields/fieldsSecond-level topic hierarchy
Subfields/subfieldsThird-level topic hierarchy
SDGs/sdgsUN Sustainable Development Goals
Countries/countriesGeographic entities
Continents/continentsGeographic entities
Languages/languagesLanguage classifications
Work Types/work-typesEnumeration of work types
Source Types/source-typesEnumeration of source types
Institution Types/institution-typesEnumeration of institution types
Licenses/licensesEnumeration of licenses
Concepts/conceptsLegacy taxonomy (deprecated)

Operations

Each entity supports these operations:
OperationPatternExample
ListGET /{entities}GET /works
GetGET /{entities}/{id}GET /works/W2741809807
FilterGET /{entities}?filter=GET /works?filter=publication_year:2024
SearchGET /{entities}?search=GET /works?search=machine+learning
AggregateGET /{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": []
}
FieldDescription
meta.countTotal results matching your query
meta.pageCurrent page number
meta.per_pageResults per page (default 25, max 100)
resultsArray of entity objects
group_byAggregation 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

ParameterDescription
api_keyYour API key (required)
filterFilter by field values
searchFull-text search
sortSort results
per_pageResults per page (1-100)
pagePage number
cursorDeep pagination cursor
sampleRandom sample size
selectLimit returned fields
group_byAggregate 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:

OpenAPI Spec

Download the OpenAPI 3.1 specification

Next Steps