Filter works

It's easy to filter works with the filter parameter:
In this example the filter is publication_year and the value is 2020.
It's best to read about filters before trying these out. It will show you how to combine filters and build an AND, OR, or negation query.

/works attribute filters

You can filter using these attributes of the Work object (click each one to view their documentation on the Work object page):

/works convenience filters

These filters aren't attributes of the Work object, but they're handy for solving some common use cases:

abstract.search

Value: a search string
Returns: works whose abstract includes the given string. See the search page for details on the search algorithm used.

authors_count

Value: an Integer
Returns: works with the chosen number of authorships objects (authors). You can use the inequality filter to select a range, such as authors_count:>5.

authorships.institutions.continent (alias: institutions.continent)

Value: a String with a valid continent filter
Returns: works where at least one of the author's institutions is in the chosen continent.

authorships.institutions.is_global_south (alias: institutions.is_global_south)

Value: a Boolean (true or false)
Returns: works where at least one of the author's institutions is in the Global South (read more).

cited_by

Value: the OpenAlex ID for a given work
Returns: works found in the given work's referenced_works section. You can think of this as outgoing citations.

cites

Value: the OpenAlex ID for a given work
Returns: works that cite the given work. This is works that have the given OpenAlex ID in the referenced_works section. You can think of this as incoming citations.
The number of results returned by this filter may be slightly higher than the work'scited_by_countdue to a timing lag in updating that field.

concepts_count

Value: an Integer
Returns: works with the chosen number of concepts.

display_name.search (alias: title.search)

Value: a search string
Returns: works whosedisplay_name (title) includes the given string; see the search page for details.
For most cases, you should use the search parameter instead of this filter, because it uses a better search algorithm and searches over abstracts as well as titles.

from_created_date

Value: a date, formatted as yyyy-mm-dd
Returns: works with created_date greater than or equal to the given date.
This field requires an OpenAlex Premium subscription to access. Please contact us if you are interested.

from_publication_date

Value: a date, formatted as yyyy-mm-dd
Returns: works with publication_date greater than or equal to the given date.
Filtering by publication date is not a reliable way to retrieve recently updated and created works, due to the way publishers assign publication dates. Use from_created_date or from_updated_date to get the latest changes in OpenAlex.

from_updated_date

Value: a date, formatted as yyyy-mm-dd
Returns: works with updated_date greater than or equal to the given date.
This field requires an OpenAlex Premium subscription to access. Please contact us if you are interested.

fulltext.search

Value: a search string
Returns: works whose fulltext includes the given string. Fulltext search is powered by an index of word sequences called n-grams - see Get N-grams for coverage details.
We combined some n-grams before storing them in our search database, so querying for an exact phrase using quotes does not always work well.

has_abstract

Value: a Boolean (true or false)
Returns: works that have or lack an abstract, depending on the given value.

has_doi

Value: a Boolean (true or false)
Returns: works that have or lack a DOI, depending on the given value. It's especially useful for grouping.

has_oa_accepted_or_published_version

Value: a Boolean (true or false)
Returns: works with at least one host_venue or alternate_host_venue where is_oa= true and version is acceptedVersion or publishedVersion. For Works that undergo peer review, like journal articles, this means there is a peer-reviewed OA copy somewhere. For some items, like books, a published version doesn't imply peer review, so they aren't quite synonymous.

has_oa_submitted_version

Value: a Boolean (true or false)
Returns: works with at least one host_venue or alternate_host_venue where is_oa= true and version is submittedVersion. This is useful for finding works with preprints deposited somewhere.

has_orcid

Value: a Boolean (true or false)
Returns: if true it returns works where at least one author or has an ORCID ID. If false, it returns works where no authors have an ORCID ID. This is based on the orcid field within authorships.author.

has_pmcid

Value: a Boolean (true or false)
Returns: works that have or lack a PubMed Central identifier (pmcid) depending on the given value.

has_pmid

Value: a Boolean (true or false)
Returns: works that have or lack a PubMed identifier (pmid), depending on the given value.

has_ngrams

Value: a Boolean (true or false)
Returns: works for which n-grams are available or unavailable, depending on the given value. N-grams power fulltext searches through the fulltext.search filter and the search parameter.

has_references

Value: a Boolean (true or false)
Returns: works that have or lack referenced_works, depending on the given value.

raw_affiliation_string.search

Value: a search string
Returns: works that have at least one raw_affiliation_string which includes the given string. See the search page for details on the search algorithm used.
Value: the OpenAlex ID for a given work
Returns: works found in the given work's related_works section.

repository

Value: the OpenAlex ID for a given venue
Returns: works where the chosen venue ID exists within the host_venue or the alternate_host_venues objects.
You can use this to find works where authors are associated with your university, but the work is not part of the university's repository.
👏

to_publication_date

Value: a date, formatted as yyyy-mm-dd
Returns: works with publication_date less than or equal to the given date.

version

Value: a String with value publishedVersion, submittedVersion, acceptedVersion, or null
Returns: works where the chosen version exists within the host_venue or the alternate_host_venues objects. If null, it returns works where no version is found in either location.