v1
latestOpenAPI 3.0.02026-08-066425196.1 KBGet records by using url parameters to perform a catalog search.
Get records by using url parameters to perform a catalog search. Returns a JSON result.
Query parameters
A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("").
Page number of the paginated result set in which to return.
Maximum number of results returned for each page of paginated data.
Enables deep pagination to retrieve records beyond the first 10,000 results. Not compatible with sort, or page parameters.
For the inital request use searchAfter=* and for all subsequent requests set searchAfter to the value of the sort array in the last member of body.hits.hits for each page.
Limits the response by specifying which fields from _source.record should be included in the response.
A title search string used to search for a record. Matches record.title fields within decsription records and record.heading fields within authority records.
An exact title of a record. Fully matches record.title fields within description records and record.heading fields within authority records.
An array of NARA-specific identifiers, each of which is unique to a single record.
An exact NARA-specific identifier to locate a specific record. This currently functions exactly as naId.
Gets a count of Digital Objects
Refers to records at the Item and File Unit levels which contain digital objects and can be viewed online
Describes the NARA-specific hierarchical level in which a record exists.
Refers to the heading of authoity records, or headings of roles in archival descriptions. Results can be either descriptions or authority records.
Describes the type of record as either a description or an authority.
Describes the type(s) of materials associated with an Archival Description
Specifies an All Control Numbers search string used to search for an archival record and returns Archival Descriptions that contain the keywords in one of the following fields:
- record.accessionNumbers.keyword
- record.localIdentifier.keyword
- record.importRecordControlNumber.keyword
- record.internalTransferNumbers.keyword
- record.naId
- record.recordsCenterTransferNumbers.keyword
- record.variantControlNumbers.number.keyword
- record.microformPublications.identifier.keyword
A search query string used to search on record.localIdentifier.keyword and returns Archival Descriptions that contain the keywords in the Local Identifier field.
Specifies an exact, full Local Identifier associated with an archival record and returns an Archival Description which contain this ID.
A search query string used to search on record.microformPublications.identifier.keyword and returns Archival Descriptions that contain the keywords in the Microform Publication Identifier field.
Specifies an exact, full Microform Publications Identifier associated with an archival record and returns an Archival Description which contain this ID.
Specifies an exact, full Variant Control Number associated with an archival record and returns an Archival Description which contain this Variant Control Number.
Specifies an type of Variant Control Number associated with archival record(s), and returns all Archival Descriptions which contain a Variant Control Type with these keywords.
Specifies an exact type of Variant Control Number associated with archival record(s) and returns all Archival Descriptions which contain this exact Variant Control Type.
Specifies a Control Group number associated with an archival record and returns an Archival Description or Archival Descriptions within this Control Group.
A parameter which searches records against the record.collectionIdentifier and record.ancestors.collectionIdentifier fields.
A parameter which searches records against the record.recordGroupNumber and record.ancestors.recordGroupNumber fields.
A parameter which searches records against the record.creators.heading fields.
A parameter which searches records against the record.digitalObjects.objectType field. Accepts multiple values separated by commas.
A parameter which searches records against the record.physicalOccurrences.referenceUnits.name fields. Accepts multiple values separated by commas.
A parameter which searches records against the record.subjects.heading fields where the record.subjects.authorityType field is equal to geographicPlaceName.
Specifies the naId of an ancestor object in the hierarchy, by which to limit the search
Turns on debug mode, showing metadata in the response body, if set to true.
Abbreviated results flag, which when true, returns a shorter version of the results.
Date representing the start date of a range of dates. Must be in YYYY-MM-DD, YYYY-MM, or YYYY format and must be in the same format as endDate parameter, if one is provided. Only ancestors with levelOfDescription as 'series' will have their date fields searched.
Searches the following date fields:
- record.productionDates.logicalDate
- record.copyrightDates.logicalDate
- record.releaseDates.logicalDate
- record.broadcastDates.logicalDate
- record.coverageStartDate.logicalDate
- record.coverageEndDate.logicalDate
- record.inclusiveStartDate.logicalDate
- record.inclusiveEndDate.logicalDate
- record.ancestors.inclusiveStartDate.logicalDate
- record.ancestors.inclusiveEndDate.logicalDate
Date representing the end date of a range of dates. Must be in YYYY-MM-DD, YYYY-MM, or YYYY format and must be in the same format as startDate parameter, if one is provided. Only ancestors with levelOfDescription as 'series' will have their date fields searched.
Searches the following date fields:
- record.productionDates.logicalDate
- record.copyrightDates.logicalDate
- record.releaseDates.logicalDate
- record.broadcastDates.logicalDate
- record.coverageStartDate.logicalDate
- record.coverageEndDate.logicalDate
- record.inclusiveStartDate.logicalDate
- record.inclusiveEndDate.logicalDate
- record.ancestors.inclusiveStartDate.logicalDate
- record.ancestors.inclusiveEndDate.logicalDate
A parameter specifying any field name in the form of [fieldName]_exists where, when equal to true, returns results where that field exists with non-null data. If false, returns results where the field does not exist. Accepts nested fields at any level, for example ancestors.inclusiveEndDate_exists=true
When equal to true, returns results which have contributions. If false, returns results which do not have any contributions.
When equal to true, returns results which have tags. If false, returns results which do not have any tags.
When equal to true, returns results which have transcriptions. If false, returns results which do not have any transcriptions.
When equal to true, returns results which have comments. If false, returns results which do not have any comments.
A single date. Must be in YYYY-MM-DD format. Cannot be used with other date search parameters. Used to search for records with dates that match exactly or that match the year and month but do not have a day Only ancestors with levelOfDescription as 'series' will have their date fields searched.
Searches the following date fields:
- record.productionDates
- record.copyrightDates
- record.releaseDates
- record.broadcastDates
- record.coverageStartDate
- record.coverageEndDate
- record.inclusiveStartDate
- record.inclusiveEndDate
- record.ancestors.inclusiveStartDate
- record.ancestors.inclusiveEndDate
A parameter specifying any field name in the form of [fieldName]_is_not where, when equal to the given value, will be excluded from the search results. Including nonexistent/invalid fields will return an appropriate error response.
A day in DD format. Often used with recurringDateMonth. Used to search for records with date fields that match the day, regardless of the year. Only ancestors with levelOfDescription as 'series' will have their date fields searched.
Searches the following date fields:
- record.productionDates.day
- record.copyrightDates.day
- record.releaseDates.day
- record.broadcastDates.day
- record.coverageStartDate.day
- record.coverageEndDate.day
- record.inclusiveStartDate.day
- record.inclusiveEndDate.day
- record.ancestors.inclusiveStartDate.day
- record.ancestors.inclusiveEndDate.day
A month in MM format. Often used with recurringDateDay. Used to search for recorrds with date fields that match the month, regardless of the year. Only ancestors with levelOfDescription as 'series' will have their date fields searched.
Searches the following date fields
- record.productionDates.month
- record.copyrightDates.month
- record.releaseDates.month
- record.broadcastDates.month
- record.coverageStartDate.month
- record.coverageEndDate.month
- record.inclusiveStartDate.month
- record.inclusiveEndDate.month
- record.ancestors.inclusiveStartDate.month
- record.ancestors.inclusiveEndDate.month
Filters search results to just those from this congress or later. Based on record.beginCongress field.
Filters search results to just those from this congress or earlier. Based on record.endCongress field.
Filters search results to whose range of congresses includes this value. Based on record.beginCongress and record.endCongress. Cannot be used with other congress parameters.
A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a tag contribution.
A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a comment contribution.
A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a transcription contribution.
A contribution search string used to search for a record. Matches the otherExtractedText.contribution or extractedText fields within digitalObjects.
Allows for the inclusion of OCR text extracted from the digital object in record.digitalObjects.extractedText to be included in the response if any exists. Defaults to false.
Allows for the inclusion of other extracted text contributed by NARA partners in record.digitalObjects.otherExtractedText to be included in the response if any exists. Defaults to false.
The ingestTimeStart parameter specifies the date or timestamp for fetching data.
Date only format: YYYY-MM-DD When provided in this format, the time defaults to 00:00:00.000000. Example: 2025-01-13 → interpreted as 2025-01-13 00:00:00.000000
Full timestamp format: YYYY-MM-DD HH:mm:ss.SSSSSS When provided in this format, data will be fetched for the exact timestamp specified. Example: 2025-01-13 14:30:15.123456 → data fetched at this precise datetime
Behavior: If both ingestTimeStart and ingestTimeEnd are provided, description records within that date/time range are retrieved. If only ingestTimeStart is provided, description records on and after that date/time are retrieved. If only ingestTimeEnd is provided, description records on and before that date/time are retrieved.
The ingestTimeEnd parameter specifies the date or timestamp for fetching data.
Date only format: YYYY-MM-DD When provided in this format, the time defaults to 23:59:59.999999 Example: 2025-01-13 → interpreted as 2025-01-13 23:59:59.999999
Full timestamp format: YYYY-MM-DD HH:mm:ss.SSSSSS When provided in this format, data will be fetched for the exact timestamp specified. Example: 2025-01-13 14:30:15.123456 → data fetched at this precise datetime
Behavior: If both ingestTimeStart and ingestTimeEnd are provided, description records within that date/time range are retrieved. If only ingestTimeStart is provided, description records on and after that date/time are retrieved. If only ingestTimeEnd is provided, description records on and before that date/time are retrieved.
Response
A body of response data containing full record objects if any were found.