---
title: "GET /works"
method: GET
path: "/works"
tags: ["Works"]
---

# GET /works

`GET /works`

## Request

- Base URL: `https://api.crossref.org` (the document declares no server; this is the origin it was published from)
- URL: `https://api.crossref.org/works`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crossref/apis/crossref-rest-api/docs/works/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a list of all works (journal articles, conference proceedings, books, components, etc), 20 per page by default.

In addition to the `query` parameter, this endpoint supports the following <a href="#queries">field queries</a>:

 + `query.affiliation` - query contributor affiliations
 + `query.author` - query author given and family names
 + `query.bibliographic` - query bibliographic information, useful for citation look up, includes titles, authors, ISSNs and publication years
 + `query.chair` - query chair given and family names
 + `query.container-title` - query container title aka. publication name
 + `query.contributor` - query author, editor, chair and translator given and family names
 + `query.degree` - query degree
 + `query.description` - query description
 + `query.editor` - query editor given and family names
 + `query.event-acronym` - query acronym of the event
 + `query.event-location` - query location of the event
 + `query.event-name` - query name of the event
 + `query.event-sponsor` - query sponsor of the event
 + `query.event-theme` - query theme of the event
 + `query.funder-name` - query name of the funder
 + `query.publisher-location` - query location of the publisher
 + `query.publisher-name` - query publisher name
 + `query.standards-body-acronym` - query acronym of the standards body
 + `query.standards-body-name` - query standards body name
 + `query.title` - query title
 + `query.translator` - query translator given and family names

`sort`: <a href="#sort">Sorting</a> by the following fields is supported:

`citation` `created` `deposited` `indexed` `is-referenced-by-count` `issued` `published` `published-online` `published-print` `references-count` `relevance` `score` `updated` .

Note that the following types of sorting cannot be combined with a `cursor`: `issued`, `published`, `published-print`, `published-online`.

`facet`: This endpoint supports the following <a href="#facets">facets</a>:

 + `affiliation` - author affiliation
 + `archive` - archive location
 + `assertion` - custom Crossmark assertion name
 + `assertion-group` - custom Crossmark assertion group name
 + `category-name` - category name of work
 + `container-title` - [max value 100], work container title, such as journal title, or book title
 + `funder-doi` - funder DOI
 + `funder-name` - funder name as deposited it appears in a metadata record
 + `issn` - [max value 100], journal ISSN (any - print, electronic, link)
 + `journal-issue` - journal issue number
 + `journal-volume` - journal volume
 + `license` - license URI of work
 + `link-application` - intended application of the full text link
 + `orcid` - [max value 100], contributor ORCID
 + `published` - earliest year of publication
 + `publisher-name` - publisher name of work
 + `relation-type` - relation type described by work or described by another work with work as object
 + `ror-id` - institution ROR ID
 + `source` - source of the DOI
 + `type-name` - work type name, such as journal-article or book-chapter
 + `update-type` - significant update type

`filter`: See [our documentation website](https://www.crossref.org/documentation/retrieve-metadata/rest-api/rest-api-filters/) for a full list of available filters.


`select`: You can <a href="#select">select</a> any of the following fields:

`DOI` `ISBN` `ISSN` `URL` `abstract` `accepted` `alternative-id` `approved` `archive` `article-number` `assertion` `author` `chair` `clinical-trial-number` `container-title` `content-created` `content-domain` `contributor` `created` `degree` `deposited` `editor` `event` `funder` `group-title` `indexed` `is-referenced-by-count` `issn-type` `issue` `issued` `license` `link` `member` `original-title` `page` `posted` `prefix` `published` `published-online` `published-print` `publisher` `publisher-location` `reference` `references-count` `relation` `resource` `score` `short-container-title` `short-title` `standards-body` `subject` `subtitle` `title` `translator` `type` `update-policy` `update-to` `updated-by` `volume`

## Query parameters

- `rows` integer
- `order` string
- `facet` string
- `sample` integer
- `sort` string
- `offset` integer
- `mailto` string
- `select` string
- `query` string
- `filter` string
- `cursor` string

## Response `200`

A list of works

- WorksMessage
  - `status` string, required
  - `message-type` string, required
  - `message-version` string, required
  - `message` Works, required
    - `items-per-page` integer, required
    - `query` Query, required
      - `start-index` integer, required
      - `search-terms` integer, required
    - `total-results` integer, required
    - `next-cursor` string: Retrieve the next page of results when using cursor paging. See <a href='#cursors'>Retrieving large result sets</a>.
    - `facets` unknown
    - `items` Work[], required
      - `institution` WorkInstitution[]
        - `name` string, required
        - `place` string[]
        - `department` string[]
        - `acronym` string[]
        - `id` AffiliationIdentifier[]
          - `id` string, required
          - `id-type` string, required
          - `asserted-by` string, required
      - `indexed` DateAndVersion, required
        - `date-parts` array[], required
          - integer[]
        - `version` string, required
      - `description` string
      - `posted` DateParts
        - `date-parts` array[], required
          - integer[]
      - `publisher-location` string
      - `update-to` WorkUpdate[]
        - `label` string, required
        - `DOI` string, required
        - `type` string, required
        - `source` string, required
        - `updated` Date, required
          - `date-parts` array[], required
            - integer[]
          - `date-time` string, date-time, required
          - `timestamp` integer, required
        - `record-id` string
      - `standards-body` WorkStandardsBody
        - `name` string
        - `acronym` string
      - `edition-number` string
      - `group-title` string
      - `reference-count` integer
      - `publisher` string, required
      - `issue` string
      - `isbn-type` WorkISSNType[]
        - `type` string, required
        - `value` string, required
      - `license` WorkLicense[]
        - `URL` string, required
        - `start` Date
          - `date-parts` array[], required
            - integer[]
          - `date-time` string, date-time, required
          - `timestamp` integer, required
        - `delay-in-days` integer, required
        - `content-version` string, required
      - `funder` WorkFunder[]
        - `name` string
        - `DOI` string
        - `doi-asserted-by` string
        - `award` string[]
        - `id` FunderIdentifier[]
          - `id` string, required
          - `id-type` string, required
          - `asserted-by` string, required
      - `content-domain` WorkDomain
        - `domain` string[], required
        - `crossmark-restriction` boolean
      - `chair` Author[]
        - `role` ContributorRole[]
          - `role` string, required
          - `vocabulary` string, required: [crossref, credit]
        - `ORCID` string
        - `suffix` string
        - `given` string
        - `family` string
        - `affiliation` Affiliation[], required
          - `name` string, required
          - `place` string[]
          - `department` string[]
          - `acronym` string[]
          - `id` AffiliationIdentifier[]
            - `id` string, required
            - `id-type` string, required
            - `asserted-by` string, required
        - `name` string
        - `authenticated-orcid` boolean
        - `prefix` string
        - `sequence` string, required
      - `short-container-title` string[]
      - `accepted` DateParts
        - `date-parts` array[], required
          - integer[]
      - `special-numbering` string
      - `content-updated` DateParts
        - `date-parts` array[], required
          - integer[]
      - `published-print` DateParts
        - `date-parts` array[], required
          - integer[]
      - `abstract` string
      - `DOI` string, required: The DOI identifier of the content item.
      - `type` string, required
      - `created` Date, required
        - `date-parts` array[], required
          - integer[]
        - `date-time` string, date-time, required
        - `timestamp` integer, required
      - `approved` DateParts
        - `date-parts` array[], required
          - integer[]
      - `page` string
      - `update-policy` string
      - `source` string, required
      - `is-referenced-by-count` integer
      - `title` string[]
      - `prefix` string, required
      - `volume` string
      - `clinical-trial-number` WorkClinicalTrial[]
        - `clinical-trial-number` string, required
        - `registry` string, required
        - `type` string
      - `author` Author[]
        - `role` ContributorRole[]
          - `role` string, required
          - `vocabulary` string, required: [crossref, credit]
        - `ORCID` string
        - `suffix` string
        - `given` string
        - `family` string
        - `affiliation` Affiliation[], required
          - `name` string, required
          - `place` string[]
          - `department` string[]
          - `acronym` string[]
          - `id` AffiliationIdentifier[]
            - `id` string, required
            - `id-type` string, required
            - `asserted-by` string, required
        - `name` string
        - `authenticated-orcid` boolean
        - `prefix` string
        - `sequence` string, required
      - `member` string, required
      - `content-created` DateParts
        - `date-parts` array[], required
          - integer[]
      - `published-online` DateParts
        - `date-parts` array[], required
          - integer[]
      - `reference` Reference[]
        - `issn` string
        - `standards-body` string
        - `issue` string
        - `key` string
        - `series-title` string
        - `isbn-type` string
        - `doi-asserted-by` string
        - `first-page` string
        - `DOI` string
        - `type` string
        - `isbn` string
        - `component` string
        - `article-title` string
        - `volume-title` string
        - `volume` string
        - `author` string
        - `standard-designator` string
        - `year` string
        - `unstructured` string
        - `edition` string
        - `journal-title` string
        - `issn-type` string
      - `updated-by` WorkUpdate[]
        - `label` string, required
        - `DOI` string, required
        - `type` string, required
        - `source` string, required
        - `updated` Date, required
          - `date-parts` array[], required
            - integer[]
          - `date-time` string, date-time, required
          - `timestamp` integer, required
        - `record-id` string
      - `event` WorkEvent
        - `name` string, required
        - `location` string
        - `start` DateParts
          - `date-parts` array[], required
            - integer[]
        - `end` DateParts
          - `date-parts` array[], required
            - integer[]
      - `container-title` string[]
      - `review` WorkReview
        - `type` string
        - `running-number` string
        - `revision-round` string
        - `stage` string
        - `competing-interest-statement` string
        - `recommendation` string
        - `language` string
      - `project` WorkProject[]
        - `award-end` DateParts[]
          - `date-parts` array[], required
            - integer[]
        - `statement` Statement[]
          - `type` string, required
          - `statement-text` TextValue[], required
            - `value` string, required
            - `language` string
        - `award-planned-start` DateParts[]
          - `date-parts` array[], required
            - integer[]
        - `award-start` DateParts[]
          - `date-parts` array[], required
            - integer[]
        - `lead-investigator` Investigator[]
          - `ORCID` string
          - `suffix` string
          - `given` string
          - `family` string
          - `affiliation` InvestigatorAffiliation[], required
            - `id` AffiliationIdentifier[], required
              - …
            - `name` string, required
          - `name` string
          - `role-start` DateParts
            - `date-parts` array[], required
              - …
          - `authenticated-orcid` boolean
          - `prefix` string
          - `alternate-name` string
          - `sequence` string
          - `role-end` DateParts
            - `date-parts` array[], required
              - …
        - `award-planned-end` DateParts[]
          - `date-parts` array[], required
            - integer[]
        - `investigator` Investigator[]
          - `ORCID` string
          - `suffix` string
          - `given` string
          - `family` string
          - `affiliation` InvestigatorAffiliation[], required
            - `id` AffiliationIdentifier[], required
              - …
            - `name` string, required
          - `name` string
          - `role-start` DateParts
            - `date-parts` array[], required
              - …
          - `authenticated-orcid` boolean
          - `prefix` string
          - `alternate-name` string
          - `sequence` string
          - `role-end` DateParts
            - `date-parts` array[], required
              - …
        - `funding` Funding[]
          - `type` string, required
          - `scheme` string
          - `award-amount` AwardAmount
            - `amount` number, double, required
            - `currency` string
            - `percentage` integer
          - `funder` WorkFunder, required
            - `name` string
            - `DOI` string
            - `doi-asserted-by` string
            - `award` string[]
            - `id` FunderIdentifier[]
              - …
        - `id` WorkProjectIdentifier[]
          - `id` string, required
          - `id-type` string, required
          - `asserted-by` string, required
        - `project-title` ProjectTitle[], required
          - `title` string, required
          - `language` string
        - `award-amount` AwardAmount
          - `amount` number, double, required
          - `currency` string
          - `percentage` integer
        - `co-lead-investigator` Investigator[]
          - `ORCID` string
          - `suffix` string
          - `given` string
          - `family` string
          - `affiliation` InvestigatorAffiliation[], required
            - `id` AffiliationIdentifier[], required
              - …
            - `name` string, required
          - `name` string
          - `role-start` DateParts
            - `date-parts` array[], required
              - …
          - `authenticated-orcid` boolean
          - `prefix` string
          - `alternate-name` string
          - `sequence` string
          - `role-end` DateParts
            - `date-parts` array[], required
              - …
        - `project-description` WorksProjectDescription[]
          - `description` string
          - `language` string
      - `original-title` string[]
      - `status` PostedContentStatus
        - `type` string, required
        - `update` DateParts, required
          - `date-parts` array[], required
            - integer[]
        - `status-description` StatusDescription[], required
          - `language` string
          - `description` string
      - `language` string
      - `link` WorkLink[]
        - `URL` string, required
        - `content-type` string, required
        - `content-version` string, required
        - `intended-application` string, required
      - `deposited` Date, required
        - `date-parts` array[], required
          - integer[]
        - `date-time` string, date-time, required
        - `timestamp` integer, required
      - `score` number, double, required
      - `degree` string[]
      - `resource` Resources, required
        - `primary` PrimaryResource, required
          - `URL` string, required
        - `secondary` SecondaryResource[]
          - `URL` string, required
          - `label` string, required
      - `subtitle` string[]
      - `translator` Author[]
        - `role` ContributorRole[]
          - `role` string, required
          - `vocabulary` string, required: [crossref, credit]
        - `ORCID` string
        - `suffix` string
        - `given` string
        - `family` string
        - `affiliation` Affiliation[], required
          - `name` string, required
          - `place` string[]
          - `department` string[]
          - `acronym` string[]
          - `id` AffiliationIdentifier[]
            - `id` string, required
            - `id-type` string, required
            - `asserted-by` string, required
        - `name` string
        - `authenticated-orcid` boolean
        - `prefix` string
        - `sequence` string, required
      - `free-to-read` WorkFreeToRead
        - `start-date` DateParts
          - `date-parts` array[], required
            - integer[]
        - `end-date` DateParts
          - `date-parts` array[], required
            - integer[]
      - `editor` Author[]
        - `role` ContributorRole[]
          - `role` string, required
          - `vocabulary` string, required: [crossref, credit]
        - `ORCID` string
        - `suffix` string
        - `given` string
        - `family` string
        - `affiliation` Affiliation[], required
          - `name` string, required
          - `place` string[]
          - `department` string[]
          - `acronym` string[]
          - `id` AffiliationIdentifier[]
            - `id` string, required
            - `id-type` string, required
            - `asserted-by` string, required
        - `name` string
        - `authenticated-orcid` boolean
        - `prefix` string
        - `sequence` string, required
      - `proceedings-subject` string
      - `component-number` string
      - `short-title` string[]
      - `issued` DateParts, required
        - `date-parts` array[], required
          - integer[]
      - `ISBN` string[]
      - `references-count` integer
      - `part-number` string
      - `aliases` string[]
      - `issue-title` string[]
      - `journal-issue` WorkJournalIssue
        - `issue` string, required
        - `published-online` DateParts
          - `date-parts` array[], required
            - integer[]
        - `published-print` DateParts
          - `date-parts` array[], required
            - integer[]
      - `alternative-id` string[]
      - `version` VersionInfo
        - `version` string, required
        - `language` string
        - `version-description` VersionInfoDescription[]
          - `language` string
          - `description` string
      - `URL` string, required
      - `archive` string[]
      - `relation` WorkRelation
      - `ISSN` string[]
      - `issn-type` WorkISSNType[]
        - `type` string, required
        - `value` string, required
      - `subject` string[]
      - `published-other` DateParts
        - `date-parts` array[], required
          - integer[]
      - `published` DateParts
        - `date-parts` array[], required
          - integer[]
      - `assertion` WorkAssertion[]
        - `group` WorkAssertionGroup
          - `name` string, required
          - `label` string
        - `explanation` WorkAssertionExplanation
          - `URL` string, required
        - `name` string, required
        - `value` string
        - `URL` string
        - `order` integer
        - `label` string
      - `subtype` string
      - `article-number` string

---

[API](https://skmtc.dev/crossref/apis/crossref-rest-api.md) - [All operations](https://skmtc.dev/crossref/apis/crossref-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/crossref/apis/crossref-rest-api/revisions/3d27fa72d31a?raw)
