Openalex Search Works
Search OpenAlex works (papers) via the /works endpoint. Supports both general search and optional full-text-index filtering: set require_has_fulltext=true and/or pass fulltext_terms to add OpenAlex filters (has_fulltext:true and fulltext.search:<term>). Important: has_fulltext/fulltext.search only match works where OpenAlex has indexed full text; this can miss papers whose full text is available elsewhere (e.g., PMC) but not indexed by OpenAlex. Use this to discover Work IDs (W...) and DOIs, th…
Overview
Search OpenAlex works (papers) via the /works endpoint. Supports both general search and optional full-text-index filtering: set require_has_fulltext=true and/or pass fulltext_terms to add OpenAlex filters (has_fulltext:true and fulltext.search:<term>). Important: has_fulltext/fulltext.search only match works where OpenAlex has indexed full text; this can miss papers whose full text is available elsewhere (e.g., PMC) but not indexed by OpenAlex. Use this to discover Work IDs (W...) and DOIs, then follow up with openalex_get_work/openalex_get_work_by_doi to retrieve OA links and (sometimes) content_urls.
Status
The most recent probe succeeded. Safe to call from the agent today.
- Last probed
- 1d ago
- Last success
- 1d ago
- Last latency
- 100ms
Schema
JSON Schema the agent (or your API call) must match.
{
"anyOf": [
{
"required": [
"search"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"filter": {
"description": "OpenAlex filter string (comma-separated). Example: \"from_publication_date:2020-01-01,is_oa:true\".",
"type": "string"
},
"fulltext_terms": {
"description": "Optional list of terms to match in OpenAlex full-text index. Adds one or more fulltext.search:<term> filters and implicitly enables require_has_fulltext.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Alias for `per_page` (OpenAlex max 200).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"mailto": {
"description": "Optional contact email for OpenAlex polite pool. If omitted, Cortexa Tool Mesh uses a default.",
"type": "string"
},
"page": {
"default": 1,
"description": "Page number (1-indexed).",
"minimum": 1,
"type": "integer"
},
"per_page": {
"default": 10,
"description": "Results per page (OpenAlex max 200).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Alias for `search` (recommended when you standardize on `query` across multiple paper-search tools).",
"type": "string"
},
"require_has_fulltext": {
"default": false,
"description": "If true, appends OpenAlex filter has_fulltext:true (keeps only works with full-text index available).",
"type": "boolean"
},
"search": {
"description": "Search query for works. Use filter + fulltext_terms/require_has_fulltext when you need full-text-index-only matching.",
"type": "string"
},
"sort": {
"description": "Sort order string, e.g. \"cited_by_count:desc\".",
"type": "string"
}
},
"type": "object"
}Examples (1)
Default Openalex Search Works call
{
"fulltext_terms": [],
"limit": 3,
"page": 1,
"per_page": 1,
"query": "BRCA1",
"require_has_fulltext": false
}Anonymous-safe example. Rate-limited; no sign-in required.
Identifiers
- Catalog ID
- tu_openalex_search_works
- Tool name
- openalex_search_works
- Added
- 2026-04-30 22:47Z
- Tags
- tooluniverse