> For a complete page index of the Captain API documentation, fetch https://docs.filesearch.dev/llms.txt?excludeSpec=true

# Scrape Scientific Source

GET https://api.filesearch.dev/v2/datasets/scientific/sources/scrape

Scrape a returned scientific source URL and return article content that client application code can index as a file or text document.

Reference: https://docs.filesearch.dev/reference/datasets/scientific/sources/scrape-scientific-source

## Request

### Query parameters

- `url` (string, required) — Source URL returned by scientific source search.

## Response

### 200

Successful Response

- `dataset` (string, required)
- `url` (string, required)
- `author` (string, optional, nullable)
- `chars` (integer, optional, nullable)
- `content` (string, optional, nullable) — Full article content in markdown format
- `date` (string, optional, nullable)
- `error` (string, optional, nullable) — Error message if request failed
- `title` (string, optional, nullable)

## Examples

**SDK Code**

```python
import requests
import json

BASE_URL = "https://api.filesearch.dev"
API_KEY = "your_api_key"

response = requests.get(
    f"{BASE_URL}/v2/datasets/scientific/sources/scrape",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"url": "https://www.nejm.org/doi/full/10.1056/NEJMoa1706450"},
    timeout=60.0,
)

print(json.dumps(response.json(), indent=2))
```

```typescript
const BASE_URL = "https://api.filesearch.dev";
const API_KEY = "your_api_key";
const params = new URLSearchParams({ url: "https://www.nejm.org/doi/full/10.1056/NEJMoa1706450" });

const response = await fetch(`${BASE_URL}/v2/datasets/scientific/sources/scrape?${params}`, {
  headers: { Authorization: `Bearer ${API_KEY}` },
});

console.log(JSON.stringify(await response.json(), null, 2));
```