# Static JSON and CSV API

> Read the curated catalog as JSON or CSV: 1,253 resources, 235 papers, categories, unreviewed candidates and 30 days of changes.

- HTML: <https://awesomerea.org/api/>
- Index of files: <https://awesomerea.org/api/v1/index.json>
- JSON Schema: <https://awesomerea.org/api/v1/schema.json>

## Endpoints

- [resources.json](https://awesomerea.org/api/v1/resources.json) (1,253; CSV: https://awesomerea.org/api/v1/resources.csv): Curated resources: stable IDs, bilingual names and descriptions, requirements, evidence and review dates.
- [papers.json](https://awesomerea.org/api/v1/papers.json) (235; CSV: https://awesomerea.org/api/v1/papers.csv): The research bibliography: identifiers, dates and their basis, limits and sources; no names where authors are omitted.
- [categories.json](https://awesomerea.org/api/v1/categories.json) (69; CSV: https://awesomerea.org/api/v1/categories.csv): Curated categories, sections, kinds, targets and relationships with counts, plus the repository categories.
- [candidates.json](https://awesomerea.org/api/v1/candidates.json) (2,000; CSV: https://awesomerea.org/api/v1/candidates.csv): Unreviewed automated discoveries and followed-source leads, newest first.
- [changes.json](https://awesomerea.org/api/v1/changes.json) (1,550; CSV: https://awesomerea.org/api/v1/changes.csv): Additions, later source reviews and discovery batches in the 30 days before generated_at.

## Versions, freshness and reuse

Every file carries version (1.0.0), generated_at and the schema definition it follows; CSV rows repeat version and generated_at. IDs are the catalog’s stable IDs.

generated_at (2026-11-06T18:42:17Z) is the newest recorded time in the data, not the build time, so a commit always rebuilds the same files. The files change whenever the catalog changes: every merged pull request and every hourly discovery ingest that adds records.

Responses allow any origin (CORS *) and carry an ETag. No key or account is needed; please cache and send If-None-Match.

Curated resources and papers are source-reviewed: descriptions were checked against primary documentation.

```sh
curl -s https://awesomerea.org/api/v1/resources.json | jq '.resources[] | select(.targets | index("protocol")) | {id, name, entry_url}'
```
