/search/...) share the same way of querying. This guide shows you how to combine their parameters.
The four building blocks of a query
1
Search by text
Use
keywords to search by name or title.2
Paginate the results
Use
max (1 to 250) and page. The response includes the total number of results in meta.count and the URL of the next page in meta.cursor.next.3
Sort
sort uses the format field_direction, where the direction is asc or desc.4
Filter
Each entity has its own filters. To send several values, separate them with commas.
Sort fields by entity
If you don’t send
max, page or sort, max=10, page=1 and
sort=citations_desc apply. Patent and project lists can only be sorted
by alphabetical, so send sort=alphabetical_asc or
sort=alphabetical_desc with them.Filters by entity
Find the valid values
Products, affiliations and sources have an endpoint that returns the available options of each filter, with the number of results for each:GET /search/works/filtersGET /search/affiliations/{affiliation_type}/filtersGET /search/sources/filters
value of each option is what you must send in the filter.
Special formats
Ranges: years, apc_range and publication_time
Ranges: years, apc_range and publication_time
They are sent as a minimum and a maximum separated by a comma.
Topics and product types
Topics and product types
Use the
value returned by the filters endpoint. In topics it is the OpenAlex URL (for example, https://openalex.org/T14483) and in product_types it carries the source prefix (for example, impactu_Artículo de revista).Full example
Products published between 2020 and 2026, open access, with up to 10 authors, sorted by descending year, 20 at a time:Go through all the pages
Compute the number of pages frommeta.count and request them one by one:
Common errors
Errors are returned with code400 and a message in error.