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
  • Search a specific field
  • Why can't I search by name of related entity (author name, institution name, etc.)?
  • Autocomplete works
  1. API Entities
  2. Works

Search works

PreviousFilter worksNextGroup works

Last updated 11 months ago

The best way to search for works is to use the search query parameter, which searches across , , and . Example:

  • Get works with search term "dna" in the title, abstract, or fulltext:

Fulltext search is available for a subset of works, see for more details.

You can read more about search . It will show you how relevance score is calculated, how words are stemmed to improve search results, and how to do complex boolean searches.

Search a specific field

You can use search as a , allowing you to fine-tune the fields you're searching over. To do this, you append .search to the end of the property you are filtering for:

  • Get works with "cubist" in the title:

The following fields can be searched within works:

Search filter
Field that is searched

You can also use the filter default.search, which works the same as using the .

These searches make use of stemming and stop-word removal. You can disable this for searches on titles and abstracts. Learn how to do this .

Why can't I search by name of related entity (author name, institution name, etc.)?

Rather than searching for the names of entities related to works—such as authors, institutions, and sources—you need to search by a more unique identifier for that entity, like the OpenAlex ID. This means that there is a 2 step process:

Why can't you do this in just one step? Well, if you use the search term, "NYU," you might end up missing the ones that use the full name "New York University," rather than the initials. Sure, you could try to think of all possible variants and search for all of them, but you might miss some, and you risk putting in search terms that let in works that you're not interested in. Figuring out which works are actually associated with the "NYU" you're interested shouldn't be your responsibility—that's our job! We've done that work for you, so all the relevant works should be associated with one unique ID.

Autocomplete works

You can autocomplete works to create a very fast type-ahead style search function:

This returns a list of works titles with the author of each work set as the hint:

{ 
  "results": [
    {
      "id": "https://openalex.org/W2125098916",
      "display_name": "Crouching tigers, hidden prey: Sumatran tiger and prey populations in a tropical forest landscape",
      "hint": "Timothy G. O'Brien, Margaret F. Kinnaird, Hariyo T. Wibisono",
      "cited_by_count": 620,
      "works_count": null,
      "entity_type": "work",
      "external_id": "https://doi.org/10.1017/s1367943003003172"
    },
    ...
  ]
}

fulltext via

and

Find the ID of the related entity. For example, if you're interested in works associated with NYU, you could search the /institutions endpoint for that name: . Looking at the first result, you'll see that the OpenAlex ID for NYU is I57206974.

Use a with the /works endpoint to get all of the works: .

Autocomplete works with "tigers" in the title:

Read more about .

📄
https://api.openalex.org/institutions?search=nyu
filter
https://api.openalex.org/works?filter=institutions.id:I57206974
https://api.openalex.org/autocomplete/works?q=tigers
autocomplete
n-grams
https://api.openalex.org/works?search=dna
here
filter
https://api.openalex.org/works?filter=title.search:cubist
search parameter
abstract_inverted_index
display_name
display_name
display_name
abstract_inverted_index
abstract.search
display_name.search
fulltext.search
raw_affiliation_strings.search
title.search
title_and_abstract.search
titles
abstracts
fulltext
Work.has_fulltext
authorships.raw_affiliation_strings
here