arXiv Paper Search and Download
SkillSearchLets your agent search arXiv for academic papers and download their PDFs, no API key needed.
Then ask your AI: use the arXiv Paper Search and Download skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
About this skill
Search and download arXiv papers (no API key needed)
What this skill tells your AI
The instructions your AI receives, as published by taracodlabs/aiden in skills/arxiv/SKILL.md and read by Ahel’s review.
Search and retrieve academic papers from arXiv using the free public REST API. No API key or authentication required.
When to Use
- User wants to find recent ML/AI/CS papers on a topic
- User wants to read the abstract of a specific paper
- User wants to download a paper PDF
- User wants to find papers by a specific author
- User wants to stay up-to-date on a research area
How to Use
1. Search papers by keyword
The arXiv API uses Atom XML — parse with PowerShell or Python.
$query = [Uri]::EscapeDataString("attention mechanism transformer")
$url = "http://export.arxiv.org/api/query?search_query=all:$query&start=0&max_results=5&sortBy=lastUpdatedDate&sortOrder=descending"
$resp = Invoke-RestMethod -Uri $url
$resp.feed.entry | ForEach-Object {
[PSCustomObject]@{
Title = $_.title
Authors = ($_.author | ForEach-Object { $_.name }) -join ", "
Date = $_.published
Id = $_.id
}
} | Format-Table -AutoSize
2. Search by category (cs.AI, cs.LG, stat.ML, etc.)
$cat = "cs.LG"
$query = [Uri]::EscapeDataString("large language models")
$url = "http://export.arxiv.org/api/query?search_query=cat:$cat+AND+all:$query&max_results=10&sortBy=submittedDate&sortOrder=descending"
$resp = Invoke-RestMethod -Uri $url
$resp.feed.entry | Select-Object title, published
3. Fetch a specific paper by arXiv ID
$arxivId = "2305.17333" # from URL: arxiv.org/abs/2305.17333
$url = "http://export.arxiv.org/api/query?id_list=$arxivId"
$resp = Invoke-RestMethod -Uri $url
$entry = $resp.feed.entry
Write-Host "Title: " $entry.title
Write-Host "Authors: " (($entry.author | ForEach-Object { $_.name }) -join ", ")
Write-Host "Abstract:" $entry.summary
4. Download a paper PDF
$arxivId = "2305.17333"
$pdfUrl = "https://arxiv.org/pdf/$arxivId.pdf"
$outPath = "C:\Users\<you>\Downloads\paper_$arxivId.pdf"
Invoke-WebRequest -Uri $pdfUrl -OutFile $outPath
Write-Host "Downloaded to $outPath"
5. Search papers with Python
import urllib.request, urllib.parse, xml.etree.ElementTree as ET
def search_arxiv(query, max_results=5, category="cs.LG"):
params = urllib.parse.urlencode({
"search_query": f"cat:{category} AND all:{query}",
"max_results": max_results,
"sortBy": "submittedDate",
"sortOrder": "descending"
})
url = f"http://export.arxiv.org/api/query?{params}"
resp = urllib.request.urlopen(url).read()
root = ET.fromstring(resp)
ns = {"a": "http://www.w3.org/2005/Atom"}
for entry in root.findall("a:entry", ns):
print(entry.find("a:title", ns).text.strip())
print(entry.find("a:id", ns).text.strip())
print()
search_arxiv("chain of thought reasoning", max_results=5)
6. Find papers by author
$author = [Uri]::EscapeDataString("Andrej Karpathy")
$url = "http://export.arxiv.org/api/query?search_query=au:$author&max_results=10&sortBy=submittedDate&sortOrder=descending"
$resp = Invoke-RestMethod -Uri $url
$resp.feed.entry | Select-Object title, published | Format-Table
Examples
"Find the 5 most recent papers on retrieval-augmented generation"
→ Use step 2 with query retrieval augmented generation and category cs.CL or cs.AI.
"Get me the abstract of paper 2305.17333" → Use step 3 with the arXiv ID.
"Download the Attention Is All You Need paper"
→ arXiv ID is 1706.03762. Use step 4 to download the PDF.
Cautions
- arXiv API rate limit is 3 requests per second — add a 1-second delay between calls for bulk operations
- Papers on arXiv are preprints and have not necessarily been peer-reviewed
- arXiv IDs changed format in 2007 — old IDs use
category/YYMMNNNformat; new ones useYYMM.NNNNN - PDF download uses the standard
arxiv.org/pdf/<id>.pdfURL — some papers have versioned PDFs atarxiv.org/pdf/<id>v1.pdf
Signals
- GitHub stars
- 851
- Forks
- 149
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
arxiv-taracodlabs- Source
- github.com/taracodlabs/aiden
Related picks
Skill · sickn33
The pick for Pythonpython-design-patterns
Skill · wshobson
The pick for Pythongolden-pdf-ch
Skill · yusufkaraaslan
The pick for PDFpdf-co-automation
Skill · composio-community
The pick for PDFscrape
Skill · davila7
The pick for Scrapescrape-do-automation
Skill · composio-community
The pick for Scrape