works: Search works

API: crossref.org:crossref-api
Endpoint: /works
Response format: application/json
Auth: unknown
Method: GET
Last Status: 200
Latency: 1719ms

Description

Search for scholarly works with various filters and query options.

Parameters (10)

facet (string, query, optional)

Enable facets (e.g., facet=type-name:true)

filter (string, query, optional)

Filter results. Format: filter=field:value. Multiple filters separated by commas.

offset (integer, query, optional, default: 0)

Offset for pagination

order (string, query, optional)

Sort order (asc or desc)

Constraints: {'enum': ['asc', 'desc']}

query (string, query, optional)

Search query string

query.author (string, query, optional)

Search by author name

query.container-title (string, query, optional)

Search by publication/journal title

query.title (string, query, optional)

Search in title only

rows (integer, query, optional, default: 20)

Number of results per page (max 1000)

Constraints: {'maximum': 1000}

sort (string, query, optional)

Sort field (e.g., published, updated, score)

Examples (8)

Search for scholarly works openapi-spec
curl 'https://api.crossref.org/works?query=machine+learning&filter=type%3Ajournal-article'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query': 'machine learning',
        'filter': 'type:journal-article',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query="machine learning", filter="type:journal-article")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query=machine+learning&filter=type%3Ajournal-article");
const data = await resp.json();
Get sample of works sdk_extracted
curl 'https://api.crossref.org/works?sample=2'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'sample': '2',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", sample=2)

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?sample=2");
const data = await resp.json();
Query works with bibliographic, author and publisher filters sdk_extracted
curl 'https://api.crossref.org/works?query.bibliographic=zika&query.author=johannes&query.publisher-name=Wiley-Blackwell'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query.bibliographic': 'zika',
        'query.author': 'johannes',
        'query.publisher-name': 'Wiley-Blackwell',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query.bibliographic="zika", query.author="johannes", query.publisher-name="Wiley-Blackwell")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query.bibliographic=zika&query.author=johannes&query.publisher-name=Wiley-Blackwell");
const data = await resp.json();
Query works with bibliographic search doc_extracted
curl 'https://api.crossref.org/works?query=zika'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query': 'zika',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query="zika")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query=zika");
const data = await resp.json();
Query works with filter by online pub date doc_extracted
curl 'https://api.crossref.org/works?query=zika&filter=from-online-pub-date%3A2017'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query': 'zika',
        'filter': 'from-online-pub-date:2017',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query="zika", filter="from-online-pub-date:2017")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query=zika&filter=from-online-pub-date%3A2017");
const data = await resp.json();
Query works with author filter doc_extracted
curl 'https://api.crossref.org/works?query.author=Mari&filter=from-online-pub-date%3A2017&query=zika'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query.author': 'Mari',
        'filter': 'from-online-pub-date:2017',
        'query': 'zika',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query.author="Mari", filter="from-online-pub-date:2017", query="zika")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query.author=Mari&filter=from-online-pub-date%3A2017&query=zika");
const data = await resp.json();
Query works with sort by published date doc_extracted
curl 'https://api.crossref.org/works?query.author=Mari&query=zika&filter=from-online-pub-date%3A2017&sort=published'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'query.author': 'Mari',
        'query': 'zika',
        'filter': 'from-online-pub-date:2017',
        'sort': 'published',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", query.author="Mari", query="zika", filter="from-online-pub-date:2017", sort="published")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?query.author=Mari&query=zika&filter=from-online-pub-date%3A2017&sort=published");
const data = await resp.json();
Query works with ascending order doc_extracted
curl 'https://api.crossref.org/works?filter=from-online-pub-date%3A2017&query.author=Mari&order=asc&query=zika&sort=published'
import requests

resp = requests.get(
    "https://api.crossref.org/works",
    params={
        'filter': 'from-online-pub-date:2017',
        'query.author': 'Mari',
        'order': 'asc',
        'query': 'zika',
        'sort': 'published',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("crossref")
result = api.fetch("works", filter="from-online-pub-date:2017", query.author="Mari", order="asc", query="zika", sort="published")

for item in result:
    print(item)
const resp = await fetch("https://api.crossref.org/works?filter=from-online-pub-date%3A2017&query.author=Mari&order=asc&query=zika&sort=published");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:47:17.856166 200 1719ms
2026-04-16 16:49:56.224051 200 1796ms
2026-04-16 03:34:22.697618 200 649ms
2026-04-16 02:46:20.788648 200 548ms
2026-04-16 02:30:11.341662 200 1619ms
2026-04-16 02:02:35.820438 200 1352ms
2026-04-16 02:01:31.113042 200 598ms
2026-04-16 01:06:59.963757 200 546ms
2026-04-16 00:40:50.733975 200 590ms
2026-04-16 00:39:35.172237 200 537ms
2026-04-15 03:34:25.818043 200 664ms
2026-04-15 03:13:35.717035 200 959ms
2026-04-15 02:46:57.126482 200 703ms
2026-04-15 01:15:48.894018 200 664ms
2026-04-15 01:08:18.886667 200 501ms
2026-04-15 00:45:34.378625 200 602ms
2026-04-15 00:19:06.734396 200 470ms
2026-04-15 00:00:51.700972 200 1200ms
2026-04-14 03:38:49.776845 200 1712ms
2026-04-14 03:25:14.700127 200 1675ms
2026-04-14 03:13:55.877234 200 1603ms
2026-04-14 02:36:51.504594 200 1484ms
2026-04-14 02:24:55.376255 200 614ms
2026-04-14 01:46:02.544336 200 634ms
2026-04-14 01:25:58.272438 200 1728ms
2026-04-14 00:16:25.349495 200 1152ms
2026-04-12 16:00:19.936882 200 441ms
2026-04-12 15:45:12.020887 200 608ms
2026-04-12 15:27:43.787008 200 751ms
2026-04-12 14:41:35.377039 200 521ms
2026-04-12 13:31:46.441632 200 795ms
2026-04-12 13:18:59.883104 200 822ms
2026-04-12 13:03:44.441016 200 1122ms
2026-04-12 13:01:15.242192 200 1332ms
2026-04-10 06:43:48.539624 200 587ms
2026-04-10 04:21:06.491898 200 1259ms
2026-04-10 04:16:28.253583 200 1030ms
2026-04-10 03:32:02.278860 200 1822ms
2026-04-10 03:24:13.876325 200 961ms
2026-04-10 03:08:27.393969 200 907ms
2026-04-10 01:33:52.209497 200 575ms
2026-04-10 01:12:49.819115 200 522ms
2026-04-09 03:33:12.898674 200 815ms
2026-04-09 02:43:58.795013 200 569ms
2026-04-09 02:11:55.740718 200 941ms
2026-04-09 01:53:02.378522 200 738ms
2026-04-09 01:29:32.385910 200 717ms
2026-04-09 01:13:03.705913 200 825ms
2026-04-09 01:04:54.491010 200 733ms
2026-04-09 00:16:50.500547 200 613ms