Getting an API Key
To use the API at scale, you need a key. It’s free—just make an account (takes 30 seconds) and copy your key from openalex.org/settings/api. Then addapi_key=YOUR_KEY to your API calls:
Costs
Pricing by Endpoint
The openalex.org website runs on this same API, so browsing it draws from the same budget (anonymous browsing uses the 1/day). Viewing a single record’s page (one work, author, source, etc.) is free, but a search or a results page loads several billable calls (the list of results plus its facets/charts).One website search costs more than one API call. A single programmatic
/works?search= call costs 10 credits, but one search on the website costs roughly 18 credits—the search itself plus ~5 facet/chart calls that fill the sidebar. So “$1/day ≈ 1,000 searches” holds for direct API calls; browsing the website is about 1.8× costlier per search (closer to ~550/day). A prepaid balance covers anything beyond your daily budget.Common Activity Costs
What You Can Do for Free Every Day
Your free API key gives you $1 of free usage every day. With that, you can do a mix of:
Without a key you get $0.10/day—a tenth of the above, enough to try the API. Get a free key for 10× the budget.
Increased Limits
Need more than $1/day? Paid plans give you higher daily allowances and prepaid usage. Your daily budget refills every day at midnight UTC. A prepaid balance is a separate pool that automatically kicks in once your daily budget is spent for the day—buying prepaid credit doesn’t change your daily budget, it just covers usage beyond it (and doesn’t expire daily).Keeping Tabs on Costs
Per Call
Rate Limit Headers
Every API response includes headers showing your current status:Response Meta
Every response includes ameta object (see Response Format) with the cost of that request and the total result count, so you can estimate the cost of paginating through all results before committing:
cost_usd tells you this call cost $0.0001 (list+filter calls are $0.10 per 1,000), and count tells you 870,627 results at 100 per page = 8,707 calls = $0.87 total.
Overall
Usage Dashboard
Check your usage anytime at openalex.org/settings/usage—accessible from the battery icon in the lower left of openalex.org.Rate Limit Endpoint
You can also check programmatically via the/rate-limit endpoint:
Tips
Exceeding Limits
If you exceed your daily limit or make more than 100 requests per second, you’ll get429 Too Many Requests errors.
Individual queries also have these constraints:
To retrieve more than 10,000 results, use cursor paging.
Usage Tips
Best practices:- Use
per_page=100to reduce the number of requests needed - Batch ID lookups using the OR syntax (up to 100 values per filter)
- Use
select=to limit returned fields for faster responses - Implement exponential backoff when you hit rate limits