# arXiv Paper

> Run arXiv Paper by arxiv online or via API. from $0.00000277/sec, no setup.

**URL:** https://inference.sh/apps/arxiv/paper
**Last updated:** 2026-07-03

---

get a specific arxiv paper by its id with full metadata including title, authors, abstract, and links

- app: `arxiv/paper`
- maker: [arxiv](https://inference.sh/apps/arxiv.md)
- category: [text](https://inference.sh/apps/category/text.md)
- tasks: [research papers](https://inference.sh/apps/tag/research-papers.md)
- price: from $0.00000277/sec
- runs via: api, javascript and python sdk, belt cli, mcp

## paper API Guide

### About
get a specific arxiv paper by its id with full metadata including title, authors, abstract, and links

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Setup Your API Key
Set `INFERENCE_API_KEY` as an environment variable. Get your key from settings → api keys.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

#### Run and Get Result

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


result = client.run({
        "app": "arxiv/paper@6tx5pvrz",
        "input": {
            "arxiv_id": "arxiv_id"
        }
    })

print(result["output"])
```

#### Stream Live Updates

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


## stream=True yields updates as they arrive
for update in client.run({
        "app": "arxiv/paper@6tx5pvrz",
        "input": {
            "arxiv_id": "arxiv_id"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

### 2. Authentication
The API uses API keys for authentication. See the authentication docs for detailed setup instructions.

### 3. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "arxiv/paper@6tx5pvrz",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 4. Schema

#### Input
- **arxiv_id** (string) *required*: arxiv paper id like 2301.07041 or 2301.07041v1
- **fetch_pdf** (boolean): download the pdf file

#### Output
- **paper** (object): paper metadata with title, authors, summary, published, updated, arxiv_id, pdf_url, categories, links
- **pdf** (string): downloaded pdf file (when fetch_pdf is true)

## other text apps

- [Archive Download](https://inference.sh/apps/archive/download.md): from $0.00000277/sec
- [Archive Metadata](https://inference.sh/apps/archive/metadata.md): from $0.00000277/sec
- [Archive Search](https://inference.sh/apps/archive/search.md): from $0.00000277/sec
- [Wayback Machine Availability Check](https://inference.sh/apps/archive/wayback.md): from $0.00000277/sec
- [Markdown to Word Converter](https://inference.sh/apps/infsh/markdown-to-word.md): from $0.00000277/sec

## faq

### how much does arXiv Paper cost?

from $0.00000277/sec. you pay per run from your inference shell credits. no subscription is required.

### how do I run arXiv Paper via api?

call arxiv/paper with the javascript or python sdk, the rest api, or `belt app run arxiv/paper` from a terminal. the api reference on this page lists every input.

### who makes arXiv Paper?

arXiv Paper is made by arxiv and runs on inference shell. every arxiv app is listed at https://inference.sh/apps/arxiv.

### can my agent use arXiv Paper?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to arXiv Paper?

other text apps on inference shell include Archive Download, Archive Metadata, Archive Search, Wayback Machine Availability Check. they run through the same api, so switching is a one-line change.
