New Advent APInewadvent.org ↗
Search and retrieve full-text articles from the Catholic Encyclopedia via the New Advent API. Covers titles, authors, volumes, sections, and bibliographic data.
What is the New Advent API?
The New Advent Catholic Encyclopedia API exposes 3 endpoints for searching, browsing, and fetching full-text articles from the Catholic Encyclopedia as hosted at newadvent.org. The get_article endpoint returns structured content including sectioned body text, author attribution, volume number, publication year, and transcription credits — all keyed by the five-digit-plus-letter article ID emitted by the index endpoints.
curl -X GET 'https://api.parse.bot/scraper/443febc8-5946-4942-8d6e-ec20af720fd8/search_articles?query=Aquinas&match_in=title_and_summary' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches the encyclopedia's full alphabetical article index for a text query and returns matching articles (id, title, one-line summary, page URL). The search is a case-insensitive substring match performed within ONE letter section of the index: the letter is taken from the `letter` parameter, or, when omitted, from the first character of the query (so a bare query behaves like a title-prefix lookup; 'Aquinas' matches 'Aquinas, St. Thomas' under A, but the entry 'Thomas Aquinas, Saint' lives under T and needs letter=T). `match_in` chooses whether the query is matched against titles only or against titles plus summaries. The index lists some articles under several alternative titles, so the same article_id can appear more than once in the results. One site request per call. Results are paged locally with `page`/`page_size` (page defaults to 1, page_size to 50, max 200); `total_count` is the number of matching index entries in the chosen letter section and `has_more` tells whether a further page exists. Zero matches is a valid empty result.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number over the matched results. |
| queryrequired | string | Free-text term matched case-insensitively as a substring (e.g. a name or topic word). |
| letter | string | Single letter A-Z selecting which section of the alphabetical index is searched. Omitted = first character of the query (which must then be a letter). |
| match_in | string | Which index text the query is matched against. |
| page_size | integer | Matches per page; values above 200 are clamped to 200. |
{
"type": "object",
"fields": {
"page": "integer page returned",
"query": "echo of the search term",
"letter": "upper-case index letter that was searched",
"articles": "array of matches: article_id (five digits + letter, input for get_article), title, summary (one-line index description), url",
"has_more": "boolean, true when a further page of matches exists",
"match_in": "match mode applied",
"page_size": "integer page size applied",
"total_count": "integer number of matching index entries in the searched letter section"
},
"sample": {
"data": {
"page": 1,
"query": "Aquinas",
"letter": "T",
"articles": [
{
"url": "https://www.newadvent.org/cathen/14663b.htm",
"title": "Thomas Aquinas, Saint",
"summary": "Lengthy article on the life, writings, and influence of this philosopher, theologian, and Doctor of the Church. Called the Angelic Doctor. Died in 1274",
"article_id": "14663b"
},
{
"url": "https://www.newadvent.org/cathen/14698b.htm",
"title": "Thomism",
"summary": "In a broad sense, the name given to the system which follows the teaching of St. Thomas Aquinas in philosophical and theological questions",
"article_id": "14698b"
}
],
"has_more": false,
"match_in": "title_and_summary",
"page_size": 5,
"total_count": 2
},
"status": "success"
}
}About the New Advent API
Browsing and Searching the Index
The list_articles endpoint accepts a required letter parameter (A–Z) and returns every article in that alphabetical section of the encyclopedia index in index order. Each item in the articles array includes an article_id (five digits followed by a lower-case letter), a title, a one-line summary drawn from the index, and a url. Pagination is controlled by page and page_size, with page_size capped at 200. The total_count field tells you how many entries are in the full section.
The search_articles endpoint searches within a single letter section. The query parameter is matched case-insensitively as a substring against index text. You can narrow what the query matches using the match_in parameter, and the letter parameter defaults to the first character of your query if omitted. Results include the same article_id, title, summary, and url fields as the listing endpoint, plus has_more to drive additional page fetches.
Fetching Full Article Content
The get_article endpoint takes an article_id and returns the complete article. The sections array breaks the body into {heading, paragraphs} objects in reading order — the opening section has a null heading. The body_text field provides the entire body as a single plain-text string with sections separated by blank lines, suitable for indexing or NLP tasks. Bibliographic fields — author (formatted as 'Surname, Given'), volume, year, and transcription — are returned when present in the citation block, and null otherwise.
Coverage and Article IDs
The encyclopedia covers Catholic theology, history, canon law, biography, geography, and philosophy as originally published in the early 20th century. Article IDs are stable across calls: once retrieved from list_articles or search_articles, the same ID is the direct input for get_article. The encyclopedia is organized into volumes reflected in the integer volume field on each article.
The New Advent API is a managed, monitored endpoint for newadvent.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when newadvent.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official newadvent.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a searchable index of Catholic Encyclopedia entries using
search_articleswith substring queries across alphabetical sections. - Extract structured article text via
get_articlesectionsfor NLP pipelines or topic modeling on historical theological content. - Compile an author bibliography by collecting
authorfields across articles retrieved throughlist_articlesfor each letter. - Reconstruct volume-level tables of contents using the
volumefield returned byget_articleacross a full letter listing. - Power a cross-reference tool by linking article titles found in
summarytext to theirarticle_idfor downstream lookups. - Archive or mirror the encyclopedia by paginating through all 26 letters with
list_articlesand resolving eacharticle_idwithget_article.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does New Advent have an official developer API?+
What does `get_article` return beyond the article text?+
sections (an array of heading-and-paragraphs objects) and body_text (plain text), the endpoint returns bibliographic fields: author formatted as 'Surname, Given', integer volume and year, a description from the index, and a transcription credit sentence. Any of these may be null when absent from the citation block.Can `search_articles` search across all letters at once?+
letter is omitted, the API uses the first character of your query. To find all matches for a term that spans multiple letters — for example, a saint whose name appears under both 'A' and 'S' entries — you would need to issue one request per relevant letter. You can fork this API on Parse and revise it to add a cross-alphabet aggregation endpoint.Are article revision history or talk-page data available?+
What is the maximum page size for listing or searching articles?+
list_articles and search_articles accept a page_size parameter. Any value above 200 is clamped to 200. Use the has_more boolean and the page parameter to paginate through remaining results.