# DOAJ API

> DOAJ API on Apizie: 13 endpoints (Article By Doi, Article, Articles By Journal, Harvest Articles, …) returned as clean JSON through one API key. 13 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/research:doaj/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `research:doaj`
- Category: Research
- Status: live
- Source: https://doaj.org
- Page: https://zieapi.vercel.app/api/research/doaj
- OpenAPI: https://zieapi.vercel.app/api/research/doaj/openapi.json

Open-access journals and articles indexed by the Directory of Open Access Journals (public API + OAI-PMH).

## Endpoints

### Article By Doi
`GET https://zieapi.vercel.app/v1/research:doaj/article-by-doi/:doi`

| Parameter | Type | Required | Description |
|---|---|---|---|
| doi | string | yes |  |

### Article
`GET https://zieapi.vercel.app/v1/research:doaj/article/:articleId`

| Parameter | Type | Required | Description |
|---|---|---|---|
| articleId | string | yes |  |

### Articles By Journal
`GET https://zieapi.vercel.app/v1/research:doaj/articles-by-journal`

| Parameter | Type | Required | Description |
|---|---|---|---|
| issn | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |

### Harvest Articles
`GET https://zieapi.vercel.app/v1/research:doaj/harvest-articles`

| Parameter | Type | Required | Description |
|---|---|---|---|
| verb | string | no |  |
| metadataPrefix | string | no |  |
| set | string | no | OAI set spec (see harvest-sets) |
| from | string | no | YYYY-MM-DD |
| until | string | no | YYYY-MM-DD |
| cursor | string | no | resumptionToken from a previous page |

### Harvest Journals
`GET https://zieapi.vercel.app/v1/research:doaj/harvest-journals`

| Parameter | Type | Required | Description |
|---|---|---|---|
| verb | string | no |  |
| set | string | no | OAI set spec (see harvest-sets) |
| from | string | no | YYYY-MM-DD |
| until | string | no | YYYY-MM-DD |
| cursor | string | no | resumptionToken from a previous page |

### Harvest Sets
`GET https://zieapi.vercel.app/v1/research:doaj/harvest-sets`

### Journal By Issn
`GET https://zieapi.vercel.app/v1/research:doaj/journal-by-issn/:issn`

| Parameter | Type | Required | Description |
|---|---|---|---|
| issn | string | yes |  |

### Journal
`GET https://zieapi.vercel.app/v1/research:doaj/journal/:journalId`

| Parameter | Type | Required | Description |
|---|---|---|---|
| journalId | string | yes |  |

### Journals By Country
`GET https://zieapi.vercel.app/v1/research:doaj/journals-by-country`

| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |

### Journals By Publisher
`GET https://zieapi.vercel.app/v1/research:doaj/journals-by-publisher`

| Parameter | Type | Required | Description |
|---|---|---|---|
| publisher | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |

### Journals By Subject
`GET https://zieapi.vercel.app/v1/research:doaj/journals-by-subject`

| Parameter | Type | Required | Description |
|---|---|---|---|
| subject | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |

### Search Articles
`GET https://zieapi.vercel.app/v1/research:doaj/search-articles`

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |
| sort | string | no |  |
| order | string | no |  |

### Search Journals
`GET https://zieapi.vercel.app/v1/research:doaj/search-journals`

| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | yes |  |
| page | integer | no | 1-based page number |
| limit | integer | no | Results per page |
| sort | string | no |  |
| order | string | no |  |

## Example
```
curl "https://zieapi.vercel.app/v1/research:doaj/article-by-doi" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the DOAJ API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/research:doaj/article-by-doi with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the DOAJ API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the DOAJ API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key research:doaj.

### What is the status of the DOAJ API?
Live: works with just an Apizie key
