# DOAJ API
> The Directory of Open Access Journals as an API, powered by DOAJ — the authoritative, community-curated index of vetted open-access scholarship covering more than 20,000 quality-controlled journals and 10 million+ articles across every discipline. Search open-access journals with full Elasticsearch query syntax, getting each journal's title, ISSNs, publisher and country, subjects, languages, whether article-processing charges (APC) apply, license and the year it became open access; read a journal's complete record including its subjects with classification scheme, keywords, licences, APC prices, fee-waiver policy, peer-review process, plagiarism detection, long-term preservation and self-archiving (deposit) policies and homepage; search open-access articles returning title, authors, journal, year, DOI, keywords and a free full-text link; and read an article's full metadata with its abstract, authors and affiliations, journal and ISSNs, pages, subjects and direct links to the freely readable full text. Ideal for open-science tooling, library and repository systems, research discovery, APC and policy analysis, and any application that needs legally free, peer-reviewed scholarship. Identify a journal by its ISSN and an article by its DOI or DOAJ id from search results. Data from DOAJ.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/doaj-api/..."
```

## Pricing
- **Free** (Free) — 560 calls/Mo, 2 req/s
- **Starter** ($7/Mo) — 20,500 calls/Mo, 6 req/s
- **Pro** ($22/Mo) — 93,000 calls/Mo, 15 req/s
- **Mega** ($59/Mo) — 385,000 calls/Mo, 40 req/s

## Endpoints

### Journals

#### `GET /v1/journal` — A journal's full record

**Parameters:**
- `issn` (query, required, string) — ISSN, e.g. 2167-8359 Example: `2167-8359`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/doaj-api/v1/journal?issn=2167-8359"
```

**Response:**
```json
{
    "data": {
        "journal": {
            "id": "576e4d34b8bf461bb586f1e90d80d7cc",
            "apc": {
                "max": [
                    {
                        "price": 1995,
                        "currency": "USD"
                    }
                ],
                "url": "https://peerj.com/pricing/",
                "has_apc": true
            },
            "url": "https://peerj.com/",
            "issn": [
                "2167-8359"
            ],
            "title": "PeerJ",
            "country": "US",
            "created": "2013-05-09T18:14:08Z",
            "license": [
                {
                    "url": "https://creativecommons.org/licenses/by/4.0/",
                    "type": "CC BY",
                    "open_access": null
                }
            ],
            "keywords": [
                "biomedical",
                "health",
                "genetics",
                "ecology",
                "biology"
            ],
            "oa_start": 2013,
            "subjects": [
                {
                    "code": "R",
                    "term": "Medicine",
                    "scheme": "LCC"
                },
                {
                    "code": "QH301-705.5",
                    "term": "Biology (General)",
                    "scheme": "LCC"
                }
            ],
            "languages": [
                "EN"
            ],
            "publisher": "PeerJ Inc.",
            "has_w
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/journals` — Search open-access journals

**Parameters:**
- `q` (query, required, string) — Search text; Elasticsearch syntax allowed Example: `open science`
- `page` (query, optional, string) — Page (1-based)
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/doaj-api/v1/journals?q=open+science"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "count": 20,
        "query": "open science",
        "total": 3555,
        "journals": [
            {
                "id": "002b39d0fc5245978314b6fd9011448a",
                "apc": true,
                "issn": [
                    "2752-6542"
                ],
                "title": "PNAS Nexus",
                "country": "GB",
                "license": [
                    "CC BY",
                    "CC BY-NC"
                ],
                "oa_start": 2022,
                "subjects": [
                    "Science",
                    "Social Sciences"
                ],
                "languages": [
                    "EN"
                ],
                "publisher": "Oxford University Press"
            },
            {
                "id": "005ac383a4994582b305b1b8c96dacd2",
                "apc": true,
                "issn": [
                    "1947-5721",
                    "1947-573X"
                ],
                "title": "Advances in Oceanography and Limnology",
                "country": "IT",
                "license": [
                    "CC BY-NC"
                ],
                "oa_start": 2015,
                "subjects": [
                    "Ecology"
                ],
                "languages": [
                    "EN"
                ],
                "publisher": "PAGEPress Publications"
            },
            {
                "id": "00c4bb2ee62f4cf985980c7dca8
…(truncated, see openapi.json for full schema)
```

### Articles

#### `GET /v1/article` — An article's full record

**Parameters:**
- `doi` (query, required, string) — DOI, e.g. 10.7717/peerj.4375 Example: `10.7717/peerj.4375`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/doaj-api/v1/article?doi=10.7717%2Fpeerj.4375"
```

**Response:**
```json
{
    "data": {
        "article": {
            "id": "13b0006802e745a6973c19b2ecb9b97a",
            "doi": "10.7717/peerj.4375",
            "year": "2018",
            "issue": null,
            "month": "2",
            "pages": "e4375",
            "title": "The state of OA: a large-scale analysis of the prevalence and impact of Open Access articles",
            "volume": "6",
            "authors": [
                {
                    "name": "Heather Piwowar",
                    "orcid": null,
                    "affiliation": "Impactstory, Sanford, NC, USA"
                },
                {
                    "name": "Jason Priem",
                    "orcid": null,
                    "affiliation": "Impactstory, Sanford, NC, USA"
                },
                {
                    "name": "Vincent Larivière",
                    "orcid": null,
                    "affiliation": "École de bibliothéconomie et des sciences de l’information, Université de Montréal, Montréal, QC, Canada"
                },
                {
                    "name": "Juan Pablo Alperin",
                    "orcid": null,
                    "affiliation": "Canadian Institute for Studies in Publishing, Simon Fraser University, Vancouver, BC, Canada"
                },
                {
                    "name": "Lisa Matthias",
                    "orcid": null,
                    "affiliation": "Scholarly Communications Lab, Simon Fraser University, Vancouve
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/articles` — Search open-access articles

**Parameters:**
- `q` (query, required, string) — Search text Example: `quantum`
- `page` (query, optional, string) — Page (1-based)
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/doaj-api/v1/articles?q=quantum"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "count": 20,
        "query": "quantum",
        "total": 89049,
        "articles": [
            {
                "id": "000234f829464db48e0842cb118a7bc1",
                "doi": "10.3390/fi16110412",
                "year": "2024",
                "month": "11",
                "title": "Enhancing Communication Security in Drones Using QRNG in Frequency Hopping Spread Spectrum",
                "authors": [
                    "J. de Curtò",
                    "I. de Zarzà",
                    "Juan-Carlos Cano",
                    "Carlos T. Calafate"
                ],
                "journal": "Future Internet",
                "fulltext": "https://www.mdpi.com/1999-5903/16/11/412",
                "keywords": [
                    "frequency hopping spread spectrum (FHSS)",
                    "quantum random number generator (QRNG)",
                    "random processing units",
                    "quantum computing",
                    "drone communications",
                    "quantum enhanced communications"
                ]
            },
            {
                "id": "00036f0f042d4e928431386e252406e0",
                "doi": "10.1088/1367-2630/15/1/013009",
                "year": "2013",
                "month": null,
                "title": "Non-equilibrium finite temperature dynamics of magnetic quantum systems: applications to spin-polarized scanning tunneling microscopy",
                "authors
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/doaj-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "The Directory of Open Access Journals — the authoritative community-curated index of vetted open-access scholarship (20,000+ journals, 10M+ articles). Search supports Elasticsearch query syntax (field:value, AND/OR, quotes, wildcards), e.g. q=bibjson.subject.term:Physics. /v1/journals?q=open science = search OA journals returning title, ISSNs, publisher, country, subjects, languages, whether article-processing charges (APC) apply, license and the year open access began; /v1/journal?issn=2167-8359 = a journal's full record (subjects with scheme, keywords, licenses, APC prices, fee-waiver policy, peer-review process, plagiarism detection, preservation & deposit policies, homepage); /v1/articles?q=quantum = search OA articles returning title, authors, journal, year, DOI, keywords and a free full-text link; /v1/article?doi=10.7717/peerj.4375 (or id=<DOAJ id>) = an article's full record with abstract, authors and affiliations, journal & ISSNs, pages, subjects and full-text links. Identify a journal by its ISSN and an article by its DOI or DOAJ id (from search). Data from DOAJ (CC BY-SA / CC0 metadata). For DOIs see the Crossref API, the scholarly graph the OpenAlex API, biomedical literature the Europe PMC API.",
        "source": "DOAJ — Directory of Open Access Journals API (doaj.org)",
        "endpoints": [
            "/v1/journals",
            "/v1/journal",
            "/v1/articles",
            "/v1/article",
            "/v1/meta"
  
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/doaj-api
OpenAPI spec: https://www.oanor.com/api/doaj-api/openapi.json
