Welcome to the AiRxiv API documentation. Our API allows you to programmatically submit papers for AI-powered peer review, retrieve results, and browse published papers.
https://airxiv-backend.onrender.com
# Submit a paper for review
curl -X POST https://airxiv-backend.onrender.com/api/review \
-F "paper_file=@paper.pdf" \
-F "document_type=academic_paper"
Currently, the AiRxiv API is open and free to use. No API key or authentication is required.
Future Plans: API keys will be required for paid plans. Free tier will allow 100 requests per month.
/api/review
Submit a paper for AI-powered peer review.
| Parameter | Type | Required | Description |
|---|---|---|---|
| paper_file | file | Yes* | PDF file to review |
| arxiv_url | string | Yes* | arXiv or TechRxiv URL |
| document_type | string | No | academic_paper, engineering_report, test_report, whitepaper (default: test_report) |
* Either paper_file or arxiv_url is required
import requests
# Submit PDF file
files = {'paper_file': open('paper.pdf', 'rb')}
data = {'document_type': 'academic_paper'}
response = requests.post(
'https://airxiv-backend.onrender.com/api/review',
files=files,
data=data
)
result = response.json()
print(f"Paper ID: {result['paper_id']}")
print(f"Overall Score: {result['review']['overall_score']}")
# Submit arXiv URL
data = {
'arxiv_url': 'https://arxiv.org/abs/2301.12345',
'document_type': 'academic_paper'
}
response = requests.post(
'https://airxiv-backend.onrender.com/api/review',
data=data
)
result = response.json()
print(result)
const FormData = require('form-data');
const fs = require('fs');
const fetch = require('node-fetch');
// Submit PDF file
const formData = new FormData();
formData.append('paper_file', fs.createReadStream('paper.pdf'));
formData.append('document_type', 'academic_paper');
fetch('https://airxiv-backend.onrender.com/api/review', {
method: 'POST',
body: formData
})
.then(res => res.json())
.then(data => {
console.log('Paper ID:', data.paper_id);
console.log('Review:', data.review);
})
.catch(err => console.error(err));
# Submit PDF file
curl -X POST https://airxiv-backend.onrender.com/api/review \
-F "paper_file=@paper.pdf" \
-F "document_type=academic_paper"
# Submit arXiv URL
curl -X POST https://airxiv-backend.onrender.com/api/review \
-F "arxiv_url=https://arxiv.org/abs/2301.12345" \
-F "document_type=academic_paper"
{
"success": true,
"message": "Review completed successfully",
"paper_id": "airxiv.2025.000001",
"paper_url": "/paper/airxiv.2025.000001",
"review": {
"overall_score": 8.2,
"recommendation": "Accept with minor revisions",
"scores": {
"novelty": 8.5,
"methodology": 7.8,
"clarity": 8.0,
"reproducibility": 7.5,
"significance": 8.7,
"literature_review": 7.9,
"experimental_design": 8.1,
"results_interpretation": 8.3,
"writing_quality": 8.4,
"ethical_considerations": 8.0
},
"summary": "This paper presents a novel approach to...",
"strengths": [
"Strong theoretical foundation",
"Comprehensive experiments"
],
"weaknesses": [
"Limited real-world testing",
"Some notation inconsistencies"
],
"detailed_feedback": {
"introduction": "Well-written and clear...",
"methodology": "Sound approach with...",
"results": "Comprehensive analysis..."
}
},
"review_file": "review_20251127_162900.json"
}
/api/review/{review_id}
Retrieve a saved review by ID (legacy endpoint).
curl https://airxiv-backend.onrender.com/api/review/review_20251127_162900
/api/papers/list
Get a list of all published papers.
curl https://airxiv-backend.onrender.com/api/papers/list
{
"papers": [
{
"id": "airxiv.2025.000001",
"title": "Novel Approach to Machine Learning",
"document_type": "academic_paper",
"review_score": 8.2,
"review_recommendation": "Accept with minor revisions",
"created_at": "2025-11-27T08:30:00",
"view_count": 45,
"download_count": 12
}
],
"total": 1
}
/api/papers/{paper_id}
Get detailed information about a specific paper including the full review.
curl https://airxiv-backend.onrender.com/api/papers/airxiv.2025.000001
/api/papers/{paper_id}/pdf
Download the PDF file of a paper.
curl -O https://airxiv-backend.onrender.com/api/papers/airxiv.2025.000001/pdf
| Code | Meaning | Description |
|---|---|---|
| 400 | Bad Request | Invalid parameters or missing required fields |
| 404 | Not Found | The requested resource does not exist |
| 500 | Internal Server Error | An error occurred on our server |
{
"detail": "Please provide either a PDF file or an arXiv URL"
}
Currently, there are no strict rate limits on the API. However, we recommend:
Future Plans: Paid plans will offer higher rate limits and priority processing.
Have questions about the API? We're here to help!