Discover/discovery.nationalarchives.gov.uk API
live

discovery.nationalarchives.gov.uk APIdiscovery.nationalarchives.gov.uk

Search and browse The National Archives Discovery catalogue via API. Access archival records, creators, repository info, and catalogue hierarchy metadata.

Endpoints
7
Updated
10d ago
Try it
Search keyword or phrase (e.g. 'world war', 'Churchill', 'navy')
Filter by holding repository name (e.g. 'The National Archives, Kew')
Filter results to records covering dates up to this year. Four-digit year (e.g. '1945').
Number of results to return per request
Filter results to records covering dates from this year onwards. Four-digit year (e.g. '19
api.parse.bot/scraper/4987305c-bd8a-4973-9efd-fc7f6bc25118/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4987305c-bd8a-4973-9efd-fc7f6bc25118/search_records?query=Churchill&page_size=3' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalclick to expand

Search for archival records in the Discovery catalogue. Returns results matching the query keyword, with optional date range and repository filters. Results are returned in relevance order.

Input
ParamTypeDescription
queryrequiredstringSearch keyword or phrase (e.g. 'world war', 'Churchill', 'navy')
held_bystringFilter by holding repository name (e.g. 'The National Archives, Kew')
end_yearstringFilter results to records covering dates up to this year. Four-digit year (e.g. '1945').
page_sizeintegerNumber of results to return per request
start_yearstringFilter results to records covering dates from this year onwards. Four-digit year (e.g. '1939').
Response
{
  "type": "object",
  "fields": {
    "results": "array of record objects each containing id, title, reference, date, description, held_by, and context",
    "total_count": "integer total number of matching records across the catalogue"
  },
  "sample": {
    "data": {
      "results": [
        {
          "id": "C3478849",
          "date": "1927",
          "title": "Radio and Cable Map of the World Author, Publisher, etc: War Office (No. 1849) London...",
          "context": "Colonial Office and predecessors: Maps and Plans: Series I. WORLD.",
          "held_by": "The National Archives, Kew",
          "reference": "CO 700/WORLD33",
          "description": "Radio and Cable Map of the World Author, Publisher, etc: War Office (No. 1849) London."
        }
      ],
      "total_count": 9140318
    },
    "status": "success"
  }
}

About the discovery.nationalarchives.gov.uk API

The National Archives Discovery API exposes 7 endpoints for searching and navigating the UK National Archives catalogue, which holds millions of archival records spanning centuries of British government and public history. Use search_records to query records by keyword, date range, and holding repository, or get_record_details to retrieve structured metadata including reference codes, closure status, catalogue level, scope descriptions, and administrative background for a specific catalogue item.

Search and Record Retrieval

The search_records endpoint accepts a required query string and optional filters including start_year, end_year, and held_by to narrow results by date range or repository. Each result object includes id, title, reference (the citable archival reference code such as ADM 1/1234), date, description, held_by, and context. The total_count field in the response indicates the full number of matching records across the catalogue, enabling pagination via page_size.

Record Detail and Catalogue Structure

get_record_details takes a catalogue ID (typically C followed by digits, e.g. C3478849) and returns comprehensive metadata: catalogue_level to identify where the record sits in the hierarchy (1 = departmental level, higher numbers indicate deeper items), parent_id for traversal, closure_status indicating access restrictions, description for scope and content, and administrative_background describing the history of the creating body. The browse_catalogue endpoint accepts a reference parameter to navigate the hierarchy directly, returning child items and the parent_reference.

Creators and Archives

search_creators and get_creator_details cover persons, families, organisations, and manors as record creators. get_creator_details returns the creator's name, date, and associated collections. browse_creators allows filtering by type (Person, Family, CorporateBody, or Manor). browse_archives lists contributing repositories alphabetically via the letter parameter, returning repository items and the current letter cursor.

Common use cases
  • Building a genealogy research tool that queries search_records by surname and date range to surface relevant archival holdings
  • Mapping catalogue hierarchy depth using catalogue_level and parent_id fields from get_record_details
  • Identifying which repositories hold records on a specific topic using the held_by filter in search_records
  • Indexing record creators and their associated collections via search_creators and get_creator_details
  • Generating citable references for historical research by extracting the reference field from record detail responses
  • Browsing contributing archives A–Z using browse_archives to discover lesser-known holding institutions
  • Filtering for open-access records by checking the closure_status field returned by get_record_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does The National Archives have an official developer API?+
Yes. The National Archives provides the Discovery API at https://discovery.nationalarchives.gov.uk/API/. It covers search and some record metadata but has different endpoint structure and access constraints compared to this Parse API.
What does `catalogue_level` mean in the `get_record_details` response?+
It is an integer indicating the record's depth in the archival hierarchy. Level 1 represents a department or top-level body (e.g. the Admiralty). Higher integers indicate sub-series, pieces, or individual items further down the hierarchy. You can use parent_id alongside this field to traverse up the tree.
Does the API return the full text content of digitised documents?+
No. The API returns catalogue metadata — title, reference, description, administrative background, closure status, and hierarchy position — not the content of digitised or scanned documents themselves. You can fork this API on Parse and revise it to add an endpoint that retrieves document image URLs or transcriptions where the source exposes them.
Can I retrieve records held by archives other than The National Archives at Kew?+
Yes. The Discovery catalogue includes records held by many contributing UK archives. The held_by parameter in search_records accepts repository names to filter to a specific institution, and browse_archives lists all contributing repositories alphabetically.
Is there a way to get a list of all records within a specific department or series?+
The browse_catalogue endpoint accepts a reference parameter and returns immediate child items along with parent_reference, enabling level-by-level traversal. It does not return a flat list of all descendants in a single call. You can fork this API on Parse and revise it to add recursive or bulk-traversal endpoints if your use case requires deep subtree enumeration.
Page content last updated . Spec covers 7 endpoints from discovery.nationalarchives.gov.uk.
Related APIs in Government PublicSee all →
identify.plantnet.org API
Identify and explore plant species by searching through Pl@ntNet's comprehensive botanical database to access detailed information like taxonomic families, genera, species descriptions, photos, and community observations. Track plant distributions, view contribution trends, and discover expert contributors within the platform's collaborative plant identification community.
data.lime.bike API
Access real-time availability data for Lime bikes and scooters, including station locations, vehicle status, system alerts, and geofencing zones across multiple cities. Monitor micromobility inventory and service information to find nearby vehicles or plan your trips effectively.
accessdata.fda.gov API
Search and retrieve comprehensive FDA premarket approval information for medical devices, including approval status, supplements, applicant details, and advisory committee data. Get instant access to specific PMA records with all relevant approval information in one place.
eprocurement.gov API
Monitor India's public procurement opportunities by accessing active tenders, bids closing today, global tenders, high-value contracts, and cancelled tenders from the Central Public Procurement Portal. Search tender details, browse participating organizations, and track real-time procurement statistics to stay informed on government contracting opportunities.
cmegroup.com API
Get CME Group market data including FedWatch interest-rate probabilities, futures quotes and settlements, volume/open interest history, and options expirations and near-the-money option chains.
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
mahatenders.gov.in API
Access Maharashtra government tenders from mahatenders.gov.in, browsing them by closing date or by organization with full tender details and pagination support. Find and review procurement opportunities across different government departments in one place.