DOAJ API
Free DOAJ API with no key: search 600,000+ open access articles and 20,000+ vetted open access journals with licence and APC data. Tested curl example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the DOAJ API?
The Directory of Open Access Journals API is a free, key-free API for searching more than 20,000 vetted open access journals and 600,000+ articles, including licence terms and article processing charge information.
DOAJ is the authoritative whitelist of legitimate open access journals. Its vetting process is the reason it matters: inclusion in DOAJ is widely used as the test of whether a journal is genuine rather than predatory.
For researchers choosing where to publish, the article processing charge data is the practical payoff — you can query which journals in a field charge nothing at all, which is otherwise tedious to establish.
Quick facts
- Base URL
https://doaj.org/api- Authentication
- No API key for search. Submitting or editing records requires a key.
- Rate limit
- No published hard limit; fair use expected.
- Pricing
- Free, non-profit funded.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the DOAJ API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Search open access articles
GET https://doaj.org/api/search/articles/computer?pageSize=1
curl 'https://doaj.org/api/search/articles/computer?pageSize=1'const res = await fetch("https://doaj.org/api/search/articles/computer?pageSize=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://doaj.org/api/search/articles/computer?pageSize=1", timeout=20)
res.raise_for_status()
print(res.json()){
"total": 600597,
"page": 1,
"pageSize": 1,
"timestamp": "2026-08-19T21:58:01.156542Z",
"query": "computer",
"results": [
{
"last_updated": "2025-08-20T03:11:06Z",
"bibjson": {
"identifier": [
{
"id": "2577-8196",
"type": "eissn"
},
{
"id": "10.1002/eng2.13035",
"type": "doi"
}
],
"journal": {
"volume": "7",
"number": "1",
"country": "GB",
"issns": [
"2577-8196"
],
"publisher": "Wiley",
"language": [
"EN"
],
"title": "Engineering Reports"
},
"month": "01",
"end_page": "n/a",
"keywords": [
"artificial intelligence",
"classical approaches",
"heuristic approaches",
"multi‐robot system",
"path planning"
],
"year": "2025",
"start_page": "n/a",
"subject": [
{
"code": "TA1-2040",
"scheme": "LCC",
"term": "Engineering (General). Civil engineering (General)"
},
{
"code": "QA75.5-76.95",
"scheme": "LCC",
"term": "Electronic computers. Computer science"
}
],
"author": [
{
"affiliation": "Department of Mechatronics and Industrial Engineering Chittagong University of Engineering and Technology Chittagong Bangladesh",
"name": "Semonti Banik"
},
{Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
search/articles/<query> | path | Optional | Search articles. search/articles/computer |
search/journals/<query> | path | Optional | Search journals. search/journals/physics |
pageSize | integer | Optional | Results per page, max 100. 20 |
page | integer | Optional | Page number. 2 |
sort | string | Optional | Sort field and direction. created_date:desc |
Response fields
totalinteger- Total matching records.
results[].bibjson.titlestring- Article or journal title.
results[].bibjson.authorarray- Authors with affiliations.
results[].bibjson.journalobject- Journal details including licence and publisher.
results[].bibjson.identifierarray- DOI, ISSN and other identifiers.
results[].bibjson.linkarray- Links to the full text.
results[].bibjson.apcobject- Article processing charge, on journal records.
What you can build with the DOAJ API
- Verify a journal is legitimately open access rather than predatory
- Find journals in a field that charge no publication fee
- Search open access literature with guaranteed reuse rights
- Build a researcher tool for choosing where to publish
Common errors and how to fix them
400 on the query
The query goes in the URL path and must be encoded.
Fix: URL-encode the search term; complex queries use Elasticsearch syntax.
Deeply nested results
Everything sits under bibjson.
Fix: Read results[].bibjson.title rather than results[].title.
Empty results
Search covers indexed metadata only.
Fix: Broaden the term; DOAJ indexes a curated subset rather than everything published.
DOAJ API — frequently asked questions
Is the DOAJ API free?
Yes, searching requires no API key. DOAJ is a non-profit and a key is only needed for submitting or editing records.
Why does DOAJ inclusion matter?
DOAJ vets journals before listing them, so presence in the directory is the standard test of whether an open access journal is legitimate rather than predatory.
Can I find journals that charge no fee?
Yes, journal records include article processing charge data, so you can filter for those with no APC — genuinely useful when choosing where to publish.
Why is everything under bibjson?
DOAJ uses the BibJSON format for bibliographic records, so titles, authors and identifiers all sit inside a bibjson object rather than at the top level.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
DOAJ is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.