Old OpenAlex API documentation
  • Overview
  • Quickstart tutorial
  • API Entities
    • Entities overview
    • 📄Works
      • Work object
        • Authorship object
        • Location object
      • Get a single work
      • Get lists of works
      • Filter works
      • Search works
      • Group works
      • Get N-grams
    • 👩Authors
      • Author object
      • Get a single author
      • Get lists of authors
      • Filter authors
      • Search authors
      • Group authors
      • Limitations
      • Author disambiguation
    • 📚Sources
      • Source object
      • Get a single source
      • Get lists of sources
      • Filter sources
      • Search sources
      • Group sources
    • 🏫Institutions
      • Institution object
      • Get a single institution
      • Get lists of institutions
      • Filter institutions
      • Search institutions
      • Group institutions
    • 💡Topics
      • Topic object
      • Get a single topic
      • Get lists of topics
      • Filter topics
      • Search topics
      • Group topics
    • 🗝️Keywords
    • 🏢Publishers
      • Publisher object
      • Get a single publisher
      • Get lists of publishers
      • Filter publishers
      • Search publishers
      • Group publishers
    • 💰Funders
      • Funder object
      • Get a single funder
      • Get lists of funders
      • Filter funders
      • Search funders
      • Group funders
    • 🌎Geo
      • Continents
      • Regions
    • 💡Concepts
      • Concept object
      • Get a single concept
      • Get lists of concepts
      • Filter concepts
      • Search concepts
      • Group concepts
    • Aboutness endpoint (/text)
  • How to use the API
    • API Overview
    • Get single entities
      • Random result
      • Select fields
    • Get lists of entities
      • Paging
      • Filter entity lists
      • Search entities
      • Sort entity lists
      • Select fields
      • Sample entity lists
      • Autocomplete entities
    • Get groups of entities
    • Rate limits and authentication
  • Download all data
    • OpenAlex snapshot
    • Snapshot data format
    • Download to your machine
    • Upload to your database
      • Load to a data warehouse
      • Load to a relational database
        • Postgres schema diagram
  • Additional Help
    • Tutorials
    • Report bugs
    • FAQ
Powered by GitBook
On this page
  • Authentication
  • The polite pool
  • The common pool
  • Usage tips
  • Calling the API in your browser
  1. How to use the API

Rate limits and authentication

PreviousGet groups of entitiesNextOpenAlex snapshot

Last updated 1 year ago

The API is rate-limited. The limits are:

  • max 100,000 calls every day, and also

  • max 10 requests every second.

If you hit the API more than 100k times in a day or more than 10 in a second, you'll get 429 errors instead of useful data.

Are those rate limits too low for you? No problem! We can raise those limits as high as you need if you subscribe to . And if you're an academic researcher we can likely do it for free; just drop us a line at .

Are you scrolling through a list of entities, calling the API for each? You can go way faster by squishing 50 requests into one using our . Here's showing how.

Authentication

The OpenAlex API doesn't require authentication. However, it is helpful for us to know who's behind each API call, for two reasons:

  • It allows us to get in touch with the user if something's gone wrong--for instance, their script has run amok and we've needed to start blocking or throttling their usage.

  • It lets us report back to our funders, which helps us keep the lights on.

Like Crossref (whose approach we are shamelessly stealing), we prefer carrots to sticks for this. So, depending on your preferences, you'll be in one of two API pools:

The polite pool

The polite pool has much faster and more consistent response times. It's a good place to be.

To get into the polite pool, you just have to give us an email where we can contact you. You can give us this email in one of two ways:

  • Add the mailto=you@example.com parameter in your API request, like this:

  • Add mailto:you@example.com somewhere in your User-Agent request header.

The common pool

Usage tips

Calling the API in your browser

Because the API is all GET requests without fancy authentication, you can view any request in your browser. This is a very useful and pleasant way to explore the API and debug scripts; we use it all the time.

The common pool has slower and less consistent response times. It's a less good place to be. We encourage everyone to get in the polite pool

However, this is much nicer if you install an extension to pretty-print the JSON; and are popular, free choices. Here's what an API response looks like with one of these extensions enabled:

A lot prettier than cURL
😇
👍
JSONVue (Chrome)
JSONView (Firefox)
our Premium plan
support@openalex.org
a tutorial
https://api.openalex.org/works?mailto=you@example.com
OR syntax