Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

Crossref Search

  • 18 installs
  • 869 repo stars
  • Updated June 8, 2026
  • beita6969/scienceclaw

crossref-search is a Claude skill that searches academic metadata and resolves DOIs via the public CrossRef REST API.

About

This skill searches academic metadata and resolves DOIs through the public CrossRef REST API. A developer or researcher uses it to look up papers by title, author, or keyword, retrieve citation counts and reference lists, and query journal ISSN or funder metadata. It enforces a zero-hallucination rule so every returned detail traces to an actual API response.

  • Searches academic metadata and resolves DOIs via the public CrossRef REST API
  • Retrieves citation counts, journal metadata, funder info, and reference lists
  • Enforces a zero-hallucination rule: every detail must come from an actual API response

Crossref Search by the numbers

  • 18 all-time installs (skills.sh)
  • Ranked #568 of 911 Databases skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
At a glance

crossref-search capabilities & compatibility

Free; the CrossRef REST API is public, adding a mailto joins the faster polite pool

Capabilities
clinvar database
Use cases
research · web search
Pricing
Free
From the docs

What crossref-search says it does

Academic metadata search and DOI resolution via the public CrossRef REST API.
SKILL.md
NEVER fabricate results from training data.
SKILL.md
Add `mailto=user@example.com` to join the polite pool (faster, more reliable).
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill crossref-search

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs18
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/scienceclaw

What it does

Resolve DOIs and search academic paper, journal, and funder metadata via the CrossRef API.

Who is it for?

DOI resolution and searching paper, journal, and funder metadata with citation counts

Skip if: Full-text access, preprint search, biomedical literature, or author h-index profiles

When should I use this skill?

You need to resolve a DOI, find papers by title/author, or look up journal or funder metadata

What you get

Resolved DOIs and retrieved verified citation and journal metadata from CrossRef

  • resolved DOI metadata
  • paper search results with citation counts
  • journal and funder metadata

By the numbers

  • max rows=1000 per request
  • cursor pagination for result sets over 10,000
  • 5 best-practice guidelines

Files

SKILL.mdMarkdownGitHub ↗

CrossRef Search

Academic metadata search and DOI resolution via the public CrossRef REST API.

When to Use

  • Resolving a DOI to get full citation metadata
  • Searching for papers by title, author, or keywords
  • Looking up journal ISSN metadata or publisher info
  • Finding citation counts and reference lists
  • Retrieving funder information for grants/awards

When NOT to Use

  • Full-text access or downloading papers (use publisher sites)
  • Preprint search (use arxiv-search)
  • Biomedical literature (use pubmed-search)
  • Author profile pages or h-index (use openalex-search)

DOI Resolution

curl -s "https://api.crossref.org/works/10.1038/nature12373" | python3 -c "
import sys, json
data = json.load(sys.stdin)['message']
title = data.get('title', [''])[0]
authors = ', '.join(f\"{a.get('given','')} {a.get('family','')}\" for a in data.get('author', []))
journal = data.get('container-title', [''])[0]
cited = data.get('is-referenced-by-count', 0)
print(f'Title: {title}')
print(f'Authors: {authors}')
print(f'Journal: {journal} | Citations: {cited}')
"

Works Search

# Search by query terms
curl -s "https://api.crossref.org/works?query=machine+learning+protein+folding&rows=5&mailto=user@example.com" | python3 -c "
import sys, json
data = json.load(sys.stdin)['message']
for item in data['items']:
    title = item.get('title', [''])[0]
    doi = item.get('DOI', '')
    cited = item.get('is-referenced-by-count', 0)
    print(f'{title}')
    print(f'  DOI: {doi} | Citations: {cited}')
"

# Filter by date, type, and sort by citations
curl -s "https://api.crossref.org/works?query=CRISPR&filter=from-pub-date:2023-01-01,type:journal-article&rows=10&sort=is-referenced-by-count&order=desc&mailto=user@example.com"

# Search by author
curl -s "https://api.crossref.org/works?query.author=Jennifer+Doudna&rows=10&sort=published&order=desc&mailto=user@example.com"

Journal Lookup

# Search journals by title
curl -s "https://api.crossref.org/journals?query=nature+biotechnology&rows=5" | python3 -c "
import sys, json
for j in json.load(sys.stdin)['message']['items']:
    print(f\"{j['title']} (ISSN: {', '.join(j.get('ISSN', []))})\")
"

# Get journal metadata by ISSN
curl -s "https://api.crossref.org/journals/0028-0836"

# Recent works from a journal
curl -s "https://api.crossref.org/journals/0028-0836/works?rows=5&sort=published&order=desc"

Funder Search

curl -s "https://api.crossref.org/funders?query=national+institutes+of+health&rows=5" | python3 -c "
import sys, json
for f in json.load(sys.stdin)['message']['items']:
    print(f\"{f['name']} (ID: {f['id']})\")
"

# Works funded by a specific funder
curl -s "https://api.crossref.org/funders/100000002/works?rows=5&sort=is-referenced-by-count&order=desc"

Reference Lists

curl -s "https://api.crossref.org/works/10.1038/nature12373" | python3 -c "
import sys, json
refs = json.load(sys.stdin)['message'].get('reference', [])
for r in refs[:10]:
    doi = r.get('DOI', 'no DOI')
    text = r.get('unstructured', r.get('article-title', 'N/A'))
    print(f'  [{doi}] {text[:100]}')
"

Filters and Pagination

Filters: type:journal-article, from-pub-date:YYYY-MM-DD, until-pub-date:YYYY-MM-DD, has-abstract:true, is-referenced-by-count:>100, funder:FUNDER_ID.

Sorting: sort=published|is-referenced-by-count|relevance, order=asc|desc.

Pagination: rows=N (max 1000), offset=N, or cursor=* for deep paging.

Best Practices

1. Add mailto=user@example.com to join the polite pool (faster, more reliable). 2. URL-encode query parameters (spaces as + or %20). 3. Use select=DOI,title,author to reduce payload size. 4. Use cursor=* pagination for result sets larger than 10,000 items. 5. Cache DOI resolution results; metadata changes infrequently.

Zero-Hallucination Rule

NEVER fabricate results from training data. Every paper title, author, DOI, PMID, citation count, and metadata detail presented to the user MUST come from an actual API response in this conversation. If the API returns no results or partial data, report exactly what was returned. Do not "fill in" missing details from memory.

Related skills

FAQ

When should I not use CrossRef search?

For full-text downloads (use publisher sites), preprints (arxiv-search), biomedical literature (pubmed-search), or author h-index (openalex-search).

What is the zero-hallucination rule?

Every title, author, DOI, PMID, and citation count must come from an actual API response in the conversation, never from training data.

Databasesdatabases

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.