### Introduction
We provide a simple API to access the Advanced Reasoning Benchmark (ARB), in order to prevent scrapers from including the data in training future LLMs. The API can be called through GET requests from any language.
### API Calls
We have three different types of API calls for retrieving problems. See [the mock server](https://app.swaggerhub.com/apis-docs/arb-dataset/arb-api/1.0.5) to see what the outputs look like.
#### Get problem by category:
You can retrieve all the problems in a particular subject area by the following API call. Acceptable values for `category` are `law`, `math`, and `mcatReading`.
```
https://arb.duckai.org/api/lib/{category}
```
Example:
**Math.**
```
requests.get("https://arb.duckai.org/api/lib/math")
```
**Law.**
```
requests.get("https://arb.duckai.org/api/lib/law")
```
**MCAT Reading.**
```
requests.get("https://arb.duckai.org/api/lib/mcatReading")
```
#### Get a specific problem by id within category
```
https://arb.duckai.org/api/lib/{category}/{id}
```
Example:
```
import requests
requests.get("https://arb.duckai.org/api/lib/math/1234")
```
#### Get problem by category variation (e.g. img vs val)
```
https://arb.duckai.org/api/lib/{category}/{variation}
```
Example:
```
import requests
requests.get("https://arb.duckai.org/api/lib/physics_numerical/img")
```