SKILL.md
$27
Parsing the paper ID
It's recommended to parse the paper ID (arXiv ID) from whatever the user provides:
Input
Paper ID
https://huggingface.co/papers/2602.08025
2602.08025
https://huggingface.co/papers/2602.08025.md
2602.08025
https://arxiv.org/abs/2602.08025
2602.08025
https://arxiv.org/pdf/2602.08025
2602.08025
2602.08025v1
2602.08025v1
2602.08025
2602.08025
This allows you to provide the paper ID into any of the hub API endpoints mentioned below.
Fetch the paper page as markdown
The content of a paper can be fetched as markdown like so:
curl -s "https://huggingface.co/papers/{PAPER_ID}.md"
This should return the Hugging Face paper page as markdown. This relies on the HTML version of the paper at https://arxiv.org/html/{PAPER_ID}.
There are 2 exceptions:
- Not all arXiv papers have an HTML version. If the HTML version of the paper does not exist, then the content falls back to the HTML of the Hugging Face paper page.
- If it results in a 404, it means the paper is not yet indexed on hf.co/papers. See [Error handling](#error-handling) for info.
Alternatively, you can request markdown from the normal paper page URL, like so:
curl -s -H "Accept: text/markdown" "https://huggingface.co/papers/{PAPER_ID}"
Paper Pages API Endpoints
All endpoints use the base URL https://huggingface.co.
#### Get structured metadata
Fetch the paper metadata as JSON using the Hugging Face REST API:
curl -s "https://huggingface.co/api/papers/{PAPER_ID}"
This returns structured metadata that can include:
- authors (names and Hugging Face usernames, in case they have claimed the paper)
- media URLs (uploaded when submitting the paper to Daily Papers)
- summary (abstract) and AI-generated summary
- project page and GitHub repository
- organization and engagement metadata (number of upvotes)
To find models linked to the paper, use:
curl https://huggingface.co/api/models?filter=arxiv:{PAPER_ID}
To find datasets linked to the paper, use:
curl https://huggingface.co/api/datasets?filter=arxiv:{PAPER_ID}
To find spaces linked to the paper, use:
curl https://huggingface.co/api/spaces?filter=arxiv:{PAPER_ID}
#### Claim paper authorship
Claim authorship of a paper for a Hugging Face user:
curl "https://huggingface.co/api/settings/papers/claim" \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $HF_TOKEN" \
--data '{
"paperId": "{PAPER_ID}",
"claimAuthorId": "{AUTHOR_ENTRY_ID}",
"targetUserId": "{USER_ID}"
}'
- Endpoint:
POST /api/settings/papers/claim
- Body:
paperId(string, required): arXiv paper identifier being claimed
claimAuthorId(string): author entry on the paper being claimed, 24-char hex ID
targetUserId(string): HF user who should receive the claim, 24-char hex ID
- Response: paper authorship claim result, including the claimed paper ID
#### Get daily papers
Fetch the Daily Papers feed:
curl -s -H "Authorization: Bearer $HF_TOKEN" \
"https://huggingface.co/api/daily_papers?p=0&limit=20&date=2017-07-21&sort=publishedAt"
- Endpoint:
GET /api/daily_papers
- Query parameters:
p(integer): page number
limit(integer): number of results, between 1 and 100
date(string): RFC 3339 full-date, for example2017-07-21
week(string): ISO week, for example2024-W03
month(string): month value, for example2024-01
submitter(string): filter by submitter
sort(enum):publishedAtortrending
- Response: list of daily papers
#### List papers
List arXiv papers sorted by published date:
curl -s -H "Authorization: Bearer $HF_TOKEN" \
"https://huggingface.co/api/papers?cursor={CURSOR}&limit=20"
- Endpoint:
GET /api/papers
- Query parameters:
cursor(string): pagination cursor
limit(integer): number of results, between 1 and 100
- Response: list of papers
#### Search papers
Perform hybrid semantic and full-text search on papers:
curl -s -H "Authorization: Bearer $HF_TOKEN" \
"https://huggingface.co/api/papers/search?q=vision+language&limit=20"
This searches over the paper title, authors, and content.
- Endpoint:
GET /api/papers/search
- Query parameters:
q(string): search query, max length 250
limit(integer): number of results, between 1 and 120
- Response: matching papers
#### Index a paper
Insert a paper from arXiv by ID. If the paper is already indexed, only its authors can re-index it:
curl "https://huggingface.co/api/papers/index" \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $HF_TOKEN" \
--data '{
"arxivId": "{ARXIV_ID}"
}'
- Endpoint:
POST /api/papers/index
- Body:
arxivId(string, required): arXiv ID to index, for example2301.00001
- Pattern:
^\d{4}\.\d{4,5}$
- Response: empty JSON object on success
#### Update paper links
Update the project page, GitHub repository, or submitting organization for a paper. The requester must be the paper author, the Daily Papers submitter, or a papers admin:
curl "https://huggingface.co/api/papers/{PAPER_OBJECT_ID}/links" \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $HF_TOKEN" \
--data '{
"projectPage": "https://example.com",
"githubRepo": "https://github.com/org/repo",
"organizationId": "{ORGANIZATION_ID}"
}'
- Endpoint:
POST /api/papers/{paperId}/links
- Path parameters:
paperId(string, required): Hugging Face paper object ID
- Body:
githubRepo(string, nullable): GitHub repository URL
organizationId(string, nullable): organization ID, 24-char hex ID
projectPage(string, nullable): project page URL
- Response: empty JSON object on success
Error Handling
- **404 on
https://huggingface.co/papers/{PAPER_ID}ormdendpoint**: the paper is not indexed on Hugging Face paper pages yet.
- **404 on
/api/papers/{PAPER_ID}**: the paper may not be indexed on Hugging Face paper pages yet.
- Paper ID not found: verify the extracted arXiv ID, including any version suffix
Fallbacks
If the Hugging Face paper page does not contain enough detail for the user's question:
- Check the regular paper page at
https://huggingface.co/papers/{PAPER_ID}
- Fall back to the arXiv page or PDF for the original source:
https://arxiv.org/abs/{PAPER_ID}
https://arxiv.org/pdf/{PAPER_ID}
Notes
- No authentication is required for public paper pages.
- Write endpoints such as claim authorship, index paper, and update paper links require
Authorization: Bearer $HF_TOKEN.
- Prefer the
.mdendpoint for reliable machine-readable output.
- Prefer
/api/papers/{PAPER_ID}when you need structured JSON fields instead of page markdown.