v1

latestOpenAPI 3.0.02026-08-066425196.1 KB
Records

Get 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.

get/records/search

Query parameters

qstring required

A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("").

pageinteger

Page number of the paginated result set in which to return.

limitinteger

Maximum number of results returned for each page of paginated data.

searchAfterinteger

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.

sourceIncludesstring

Limits the response by specifying which fields from _source.record should be included in the response.

titlestring

A title search string used to search for a record. Matches record.title fields within decsription records and record.heading fields within authority records.

title_isstring

An exact title of a record. Fully matches record.title fields within description records and record.heading fields within authority records.

naIdstring

An array of NARA-specific identifiers, each of which is unique to a single record.

naId_isinteger

An exact NARA-specific identifier to locate a specific record. This currently functions exactly as naId.

digitalObjectCountboolean

Gets a count of Digital Objects

availableOnlineboolean

Refers to records at the Item and File Unit levels which contain digital objects and can be viewed online

levelOfDescription'recordGroup' | 'collection' | 'series' | 'fileUnit' | 'item'

Describes the NARA-specific hierarchical level in which a record exists.

personOrOrgstring

Refers to the heading of authoity records, or headings of roles in archival descriptions. Results can be either descriptions or authority records.

dataSource'description' | 'authority'

Describes the type of record as either a description or an authority.

typeOfMaterials'Photographs and other Graphic Materials' | 'Moving Images' | 'Textual Records' | 'Architectural and Engineering Drawings' | 'Data Files' | 'Maps and Charts' | 'Sound Recordings' | 'Artifacts'

Describes the type(s) of materials associated with an Archival Description

controlNumbersstring

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
localIdentifierstring

A search query string used to search on record.localIdentifier.keyword and returns Archival Descriptions that contain the keywords in the Local Identifier field.

localIdentifier_isstring

Specifies an exact, full Local Identifier associated with an archival record and returns an Archival Description which contain this ID.

microformPublicationsIdentifierstring

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.

microformPublicationsIdentifier_isstring

Specifies an exact, full Microform Publications Identifier associated with an archival record and returns an Archival Description which contain this ID.

variantControlNumber_isstring

Specifies an exact, full Variant Control Number associated with an archival record and returns an Archival Description which contain this Variant Control Number.

variantControlTypestring

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.

variantControlType_isstring

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.

controlGroupstring

Specifies a Control Group number associated with an archival record and returns an Archival Description or Archival Descriptions within this Control Group.

collectionIdentifierstring

A parameter which searches records against the record.collectionIdentifier and record.ancestors.collectionIdentifier fields.

recordGroupNumberstring

A parameter which searches records against the record.recordGroupNumber and record.ancestors.recordGroupNumber fields.

creatorsstring

A parameter which searches records against the record.creators.heading fields.

objectTypestring

A parameter which searches records against the record.digitalObjects.objectType field. Accepts multiple values separated by commas.

referenceUnitsstring

A parameter which searches records against the record.physicalOccurrences.referenceUnits.name fields. Accepts multiple values separated by commas.

geographicReferencestring

A parameter which searches records against the record.subjects.heading fields where the record.subjects.authorityType field is equal to geographicPlaceName.

ancestorNaIdinteger

Specifies the naId of an ancestor object in the hierarchy, by which to limit the search

debugboolean

Turns on debug mode, showing metadata in the response body, if set to true.

abbreviatedboolean

Abbreviated results flag, which when true, returns a shorter version of the results.

startDatestring

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
endDatestring

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
fieldName_existsboolean

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

contributions_existboolean

When equal to true, returns results which have contributions. If false, returns results which do not have any contributions.

tags_existboolean

When equal to true, returns results which have tags. If false, returns results which do not have any tags.

transcriptions_existboolean

When equal to true, returns results which have transcriptions. If false, returns results which do not have any transcriptions.

comments_existboolean

When equal to true, returns results which have comments. If false, returns results which do not have any comments.

exactDatestring

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
fieldName_is_notstring

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.

recurringDateDaystring

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
recurringDateMonthstring

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
beginCongressinteger

Filters search results to just those from this congress or later. Based on record.beginCongress field.

endCongressinteger

Filters search results to just those from this congress or earlier. Based on record.endCongress field.

congressNumberinteger

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.

tagContributionstring

A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a tag contribution.

commentContributionstring

A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a comment contribution.

transcriptionContributionstring

A search query string which accepts boolean operators (AND, OR, NOT), wildcards (*), and exact phrases ("") and searches for a transcription contribution.

extractedTextContributionstring

A contribution search string used to search for a record. Matches the otherExtractedText.contribution or extractedText fields within digitalObjects.

includeExtractedTextboolean

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.

includeOtherExtractedTextboolean

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.

ingestTimeStartstring

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.

ingestTimeEndstring

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.