Skip to main content
Piloterr
Back to library

DOAJ Search API

Search DOAJ articles or journals. kind is article (default) or journal. Article ids and journal ISSNs are the detail keys.

Active1 credit = 1 requestGET/v2/doaj/search

Endpoint Overview

Detailed documentation, pricing, and usage examples.

OverviewLink to Overview

Search the Directory of Open Access Journals. kind is article (the default) or journal. query is a keyword or a DOAJ search URL such as https://doaj.org/search/articles/climate. An article URL or a journal table-of-contents URL returns 400. Use the article or journal endpoint for those.

Article cards and journal cards share the results and pagination envelope, and the fields differ. Article ids and journal ISSNs are the keys you pass to the detail endpoints.

QuickstartLink to Quickstart

curl -sS -H "x-api-key: YOUR_API_KEY" "https://api.piloterr.com/v2/doaj/search?query=climate"
curl -sS -H "x-api-key: YOUR_API_KEY" "https://api.piloterr.com/v2/doaj/search?query=climate&kind=article&page=2"
curl -sS -H "x-api-key: YOUR_API_KEY" "https://api.piloterr.com/v2/doaj/search?query=physics&kind=journal"

ParametersLink to Parameters

Name Detail
query Required string. Keyword or a doaj.org search URL. Example: climate.
kind Optional string. article or journal. Example: journal. Defaults to article.
page Optional integer from 1. Example: 2. Defaults to 1.

Response fieldsLink to Response fields

Name Detail
results[].id String. DOAJ id. Pass an article id to the article endpoint.
results[].title String.
results[].url String. https://doaj.org/article/{id} or https://doaj.org/toc/{issn}.
results[].doi Article only. String or null.
results[].year Article only. String or null, for example 2021.
results[].month Article only. String or null.
results[].authors Article only. Array of {name, affiliation}.
results[].abstract Article only. String or null.
results[].keywords Array of strings.
results[].subjects Array of strings.
results[].journal_title Article only. String or null.
results[].journal_issn Article only. String or null. Pass it to the journal endpoint.
results[].volume Article only. String or null.
results[].issue Article only. String or null.
results[].start_page Article only. String or null.
results[].end_page Article only. String or null.
results[].fulltext_url Article only. String or null.
results[].eissn Journal only. String or null. This is the usual journal detail key.
results[].pissn Journal only. String or null.
results[].publisher Journal only. String or null.
results[].publisher_country Journal only. String or null.
results[].license Journal only. String or null, for example CC BY-SA.
results[].has_apc Journal only. Boolean or null.
pagination.page Integer.
pagination.per_page Integer. Always 10.
pagination.total_results Integer or null.
pagination.total_pages Integer or null.
pagination.next String or null. https://doaj.org/search/articles/climate?page=2 or the journals equivalent. Null on the last page.

PaginationLink to Pagination

10 records per page. For climate articles, pagination.next is https://doaj.org/search/articles/climate?page=2. Request page=2 for the next slice. Ids on a page are unique and do not repeat on the next page. next is null only on the last page. A journal search uses kind=journal and https://doaj.org/search/journals/physics?page=2.

Use casesLink to Use cases

  • An open-access monitor pages query=climate and stores each article id for the article endpoint.
  • A librarian runs query=physics&kind=journal and opens each eissn on the journal endpoint to check has_apc.
  • A citation bot reads journal_issn on an article card and confirms the journal is still indexed.

Error codesLink to Error codes

Name Detail
400 Missing query, a host other than doaj.org, kind other than article or journal, or an article or toc URL sent to search.
404 No matches, or page past the last page.
401 Missing API key.
500 The DOAJ request failed.

Related APIs

Expand your data capabilities with these complementary tools.

Ready to get started?

Your web scraping API is one click away. Start with +500 credits, no infrastructure to set up, no proxies to manage, and no credit card required.

  • +500 credits
  • No credit card required
  • All endpoints included