Rate limits and authentication

The API uses simple, transparent pricing. Different endpoint types cost different amounts per request.

Endpoint pricing

Endpoint Type
Example
Cost per call
Cost per 1,000 calls

Singleton

/works/W123, /works/W123/ngrams

Free

Free

List

/works?filter=..., /autocomplete/works

$0.0001

$0.10

Search

/works?search=cancer, /works?search.semantic=...

$0.001

$1.00

Text (Aboutness)

/text/topics?title=...

$0.01

$10.00

High-cost endpoints

Some endpoints cost significantly more than standard queries:

Endpoint
Cost per call
Daily limit (free)
Notes

$0.01

~100 files

PDF or TEI XML

Aboutness (/text)

$0.01

~100 requests

Topic classification

circle-exclamation

Rate limits

circle-exclamation

The limits are:

  • Without an API key: $0.01/day API budget (for testing and demos only)

  • With a free API key: $1/day API budget

  • All users: max 100 requests per second (regardless of cost)

For example, with a $1/day budget you can make:

  • Unlimited singleton requests (like /works/W123) β€” they're free!

  • 10,000 list requests (like /works?filter=type:article), or

  • Any combination that adds up to $1

If you exceed your daily budget or make more than 100 requests per second, you'll get 429 errors instead of useful data.

Need a higher budget? Subscribe to OpenAlex Premiumarrow-up-right for significantly more. Academic researchers can often get increased limits for freeβ€”contact [email protected]envelope.

circle-info

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 OR syntax. Here's a tutorialarrow-up-right showing how.

Rate limit headers

Every API response includes headers showing your current rate limit status:

Header
Description

X-RateLimit-Limit-USD

Your total daily API budget in USD

X-RateLimit-Remaining-USD

Budget remaining for today in USD

X-RateLimit-Cost-USD

Cost of this request in USD

X-RateLimit-Prepaid-Remaining-USD

Prepaid balance remaining in USD

X-RateLimit-Reset

Seconds until your budget resets (midnight UTC)

Check your rate limit status

You can check your current rate limit status at any time using the /rate-limit endpoint (requires an API key):

Response:

Authentication

An API key is required to use the OpenAlex API. The good news: API keys are free! Here's how to get one:

  1. Create a free account at openalex.orgarrow-up-right

  2. Add api_key=YOUR_KEY to your API calls

Example:

Without an API key, you're limited to just $0.01/dayβ€”enough for quick tests, but not for real work. With a free API key, you get $1/day of API budget.

Premium usersarrow-up-right get even higher budgets and access to special filters like from_updated_date.

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.

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

A lot prettier than cURL

Last updated