Attributes
This is the canonical dictionary of every attribute on a work object. Attributes shared with other entities (id, ids, display_name, created_date, updated_date) are documented once on Common attributes; works-specific notes on them are below.
Attributes
id
String. The OpenAlex ID for this work, e.g. https://openalex.org/W2741809807. See Common attributes.
ids
Object. All known external identifiers for this work, as URIs where possible; keys for unknown IDs are omitted. Work-specific keys: openalex, doi, mag (Microsoft Academic Graph integer ID), pmid (PubMed), pmcid (PubMed Central).
doi
String. The work’s DOI — the canonical external ID for works. A work occasionally has more than one DOI (e.g. a preprint DOI and a published DOI); this field always holds the DOI of the published version.
display_name
String. The work’s title. Identical to title; every entity carries a display_name.
title
String. The title of the work. Identical to display_name.
type
String. The work’s type (e.g. article, preprint, dataset, paratext). Every work has exactly one. See Work types for the full vocabulary and how the type is assigned.
language
String. The language of the work’s metadata (title/abstract), in ISO 639-1 format, auto-detected with langdetect. Reflects the metadata language, not necessarily the full text, and is unset when there aren’t enough words to guess reliably. See Languages.
publication_date
String. The day the work was published, as an ISO 8601 date. Where several dates exist, OpenAlex usually picks the earliest electronic-publication date. Applies to the primary_location version; other locations may be earlier.
publication_year
Integer. The year the work was published.
biblio
Object. Old-style bibliographic pointers, mostly useful in citation contexts. All strings (values like “Spring” or “Inside cover” turn up): volume, issue, first_page, last_page.
abstract_inverted_index
Object. The abstract as an inverted index — each word mapped to its positions. OpenAlex does not ship plaintext abstracts for legal reasons; reconstruct the abstract from the index. Newer works are more likely to have one (over 60% of 2022 works vs. ~45% of pre-2000 works).
abstract_inverted_index: { "Despite": [0], "growing": [1], "interest": [2], "in": [3, 57, 73] }
authorships
List. Authorship objects, each pairing an author with their institution(s) and role on the work. Capped at the first 100 authors for performance.
corresponding_author_ids
List. OpenAlex IDs of authors whose authorship has is_corresponding: true.
corresponding_institution_ids
List. OpenAlex IDs of institutions attached to a corresponding author’s authorship.
countries_distinct_count
Integer. Number of distinct author country codes across the work’s authorships.
institutions_distinct_count
Integer. Number of distinct institutions across the work’s authorships.
institutions
List. A flattened, dehydrated list of the distinct institutions across the work’s authorships — a convenience mirror so you don’t have to walk the authorship tree. Recently added and still being backfilled, so it may be empty on works that do have affiliated institutions.
primary_location
Object. The location holding the best (closest to the version of record) copy — for a journal article, the published full text at the publisher’s DOI URL. See Locations for the object shape.
locations
List. Every unique place this work lives, each a location object.
locations_count
Integer. The number of locations.
best_oa_location
Object. The best openly available location, or null if none. “Best” is scored by: must be OA; publisher beats repository; publishedVersion beats acceptedVersion beats submittedVersion; a direct PDF link beats none; and major repositories (PubMed Central, arXiv) rank above others.
open_access
Object. The work’s access status, an OpenAccess object:
is_oa(Boolean) — true if a free-to-read full text exists somewhere (OpenAlex uses a broad definition: readable without paying or logging in).oa_status(String) — one ofdiamond,gold,green,hybrid,bronze, orclosed. The bronze-vs-gold distinction depends on the journal’s openness — see Sources.oa_url(String) — the best OA URL (closest to the version of record); may be a PDF or a landing page.any_repository_has_fulltext(Boolean) — true if any location is both OA and hosted by a repository. Surfaces “shadowed green” OA thatoa_statushides once a publisher-hosted copy exists.
See Open access for how these fields combine.
apc_list
Object. The work’s list-price article processing charge as advertised by the journal (value, currency, value_usd, provenance — currently only doaj). The listed price, not necessarily what was paid; apc_list.value of zero indicates a diamond-OA journal.
apc_paid
Object. OpenAlex’s best estimate of the APC actually paid (value, currency, value_usd, provenance). Prefers article-level data from OpenAPC (provenance: "openapc"); otherwise falls back to the list price. For article-level data only, filter apc_paid.provenance:openapc.
primary_topic
Object. The top-ranked topic for the work, with its subfield, field, and domain. Same as the first entry in topics. See Aboutness for how topics are assigned.
topics
List. Up to three ranked topics for the work, each with a score and its subfield/field/domain.
keywords
List. Short phrases derived from the work’s topics (keywords), each with a similarity score to the title and abstract. Only keywords above a score threshold are included.
concepts
List. Legacy concept tags with a score. Concepts are a superseded classification retained for continuity; topics are the current primary classification. Ancestors of assigned concepts are also included, so you may see low or zero scores.
sustainable_development_goals
List. The work’s relevance to the UN’s 17 Sustainable Development Goals, tagged by a machine-learning classifier, each with a predicted-probability score. All goals scoring above 0.4 are shown.
mesh
List. MeSH tag objects. Present only for works sourced from PubMed; an empty list otherwise.
cited_by_count
Integer. The number of works that cite this work — the count of successful reference matches pointing at it (see How we build it).
counts_by_year
List. cited_by_count for each of the last ten years, binned by year (years with zero citations omitted; citations older than ten years excluded). See Common attributes, including why it can drift from a live count.
cited_by_percentile_year
Object. The percentile rank of this work’s citation count against other works from the same year, as a min/max range.
fwci
Float. The Field-Weighted Citation Impact: citations received divided by citations expected for works of the same type, year, and subfield. 1.0 is world average.
citation_normalized_percentile
Object. The same information as fwci expressed as a percentile (value, is_in_top_1_percent, is_in_top_10_percent).
referenced_works
List. OpenAlex IDs of the works this work cites (this work ➞ others). See How we build it.
referenced_works_count
Integer. The length of referenced_works.
related_works
List. OpenAlex IDs of algorithmically related works — recent papers sharing the most topics with this one.
funders
List. Dehydrated funder objects for this work. Replaces the removed grants property.
awards
List. Award/grant objects (id, display_name, funder_award_id, funder_id, funder_display_name, doi) linking the work to specific grants. Replaces the removed grants property.
has_content
Object. Whether downloadable full text exists in each format: pdf (Boolean) and grobid_xml (Boolean, TEI XML). About 60 million works have has_content.pdf: true. See Fulltext.
has_fulltext
Boolean. A convenience flag: true if any downloadable full-text format exists for this work (i.e. either has_content.pdf or has_content.grobid_xml).
content_urls
Object. URLs for downloading full-text content, present when has_content indicates the format is available: pdf and grobid_xml, each a URL under content.openalex.org (or null). Fetching requires your API key. Available only through the API, not in the snapshot.
is_retracted
Boolean. True if the work is known to be retracted, per the Retraction Watch database.
is_paratext (deprecated)
Boolean. True if the work is paratext (covers, tables of contents, mastheads, and similar). Now derived directly from type — true exactly when type is paratext. Filter with type:paratext instead.
is_xpac
Boolean. True if the work is part of the XPAC (Expansion Pack) dataset — the 190M+ works added in the Walden update, primarily datasets and single-repository records. Data quality on XPAC works is lower but improving. XPAC works are excluded from API results by default; include them with include_xpac=true.
indexed_in
List. The indexes this work is indexed in. Possible values: arxiv, crossref, doaj, pubmed.
created_date
String. The date the work was added to OpenAlex (YYYY-MM-DD). See Common attributes.
updated_date
String. The ISO 8601 UTC timestamp of the last change to anything in the work object — including citation-count increases. See Common attributes.
Deprecated fields
host_venueandalternate_host_venues— removed; useprimary_locationandlocations. Filtering or grouping on them errors.grants— removed; usefundersandawards.concepts— superseded bytopics(still present; see above).