Chronicling America Search API
Full-text search endpoints for newspaper pages and titles.
Full-text search endpoints for newspaper pages and titles.
openapi: 3.0.3
info:
title: Chronicling America Batches Search API
description: Chronicling America is a Library of Congress initiative providing free public access to a searchable database of historic American newspaper pages from 1770 to 1963. The platform hosts over 20 million digitized newspaper pages from hundreds of US newspapers contributed by institutions in the National Digital Newspaper Program (NDNP). The API exposes search, title, issue, batch, and OCR text endpoints with no authentication required, returning responses in JSON and Atom feed formats.
version: 1.0.0
contact:
name: Library of Congress
url: https://www.loc.gov/about/contact-us/
termsOfService: https://www.loc.gov/legal/
license:
name: Public Domain
url: https://www.loc.gov/legal/
servers:
- url: https://chroniclingamerica.loc.gov
description: Chronicling America production server
tags:
- name: Search
description: Full-text search endpoints for newspaper pages and titles.
paths:
/search/pages/results/:
get:
operationId: searchPages
summary: Search newspaper pages
description: Full-text search across over 20 million historic American newspaper pages digitized under the National Digital Newspaper Program. Supports keyword search, date range filtering, state filtering, and newspaper title (LCCN) filtering. Responses are available in JSON or Atom format.
tags:
- Search
parameters:
- name: andtext
in: query
description: Words to search for (AND logic). All words must appear in the page.
required: false
schema:
type: string
example: civil war
- name: phrasetext
in: query
description: Exact phrase to search for.
required: false
schema:
type: string
example: battle of gettysburg
- name: ortext
in: query
description: Words to search for (OR logic). Any word may appear in the page.
required: false
schema:
type: string
- name: nottext
in: query
description: Words that must NOT appear in the page.
required: false
schema:
type: string
- name: format
in: query
description: Response format. Use json for JSON or atom for Atom feed.
required: false
schema:
type: string
enum:
- json
- atom
example: json
- name: language
in: query
description: Limit results to pages in a specific language.
required: false
schema:
type: string
enum:
- eng
- spa
- fre
- ger
- ita
- por
- cze
- pol
- hun
- dan
- nor
- swe
- fin
- name: lccn
in: query
description: Library of Congress Control Number (LCCN) of a specific newspaper title.
required: false
schema:
type: string
example: sn84026749
- name: state
in: query
description: US state name to filter results.
required: false
schema:
type: string
example: Montana
- name: date1
in: query
description: Start date for search range (YYYY-MM-DD or YYYYMMDD).
required: false
schema:
type: string
example: '1900-01-01'
- name: date2
in: query
description: End date for search range (YYYY-MM-DD or YYYYMMDD).
required: false
schema:
type: string
example: '1910-12-31'
- name: dateFilterType
in: query
description: How to apply the date filter.
required: false
schema:
type: string
enum:
- range
- yearRange
- name: rows
in: query
description: Number of results to return per page (default 20, max 100).
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
example: 20
- name: page
in: query
description: Page number for paginated results (1-based).
required: false
schema:
type: integer
minimum: 1
default: 1
example: 1
- name: sort
in: query
description: Sort order for results.
required: false
schema:
type: string
enum:
- relevance
- date
- title
- state
- name: sequence
in: query
description: Page sequence number within an issue.
required: false
schema:
type: integer
responses:
'200':
description: Successful search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchPagesResponse'
application/atom+xml:
schema:
type: string
description: Atom feed of search results
/search/titles/results/:
get:
operationId: searchTitles
summary: Search newspaper titles
description: Search for newspaper titles in the Chronicling America collection by name, location, LCCN, language, and date range. Returns bibliographic metadata for matching titles.
tags:
- Search
parameters:
- name: terms
in: query
description: Search terms for the title name.
required: false
schema:
type: string
example: New York Tribune
- name: format
in: query
description: Response format.
required: false
schema:
type: string
enum:
- json
- atom
example: json
- name: state
in: query
description: State where the newspaper was published.
required: false
schema:
type: string
example: New York
- name: county
in: query
description: County where the newspaper was published.
required: false
schema:
type: string
- name: city
in: query
description: City where the newspaper was published.
required: false
schema:
type: string
- name: language
in: query
description: Language of the newspaper.
required: false
schema:
type: string
- name: ethnicity
in: query
description: Ethnicity the newspaper was targeted at.
required: false
schema:
type: string
- name: labor
in: query
description: Labor or union affiliation of the newspaper.
required: false
schema:
type: string
- name: material_type
in: query
description: Type of material (e.g., newspaper).
required: false
schema:
type: string
- name: date1
in: query
description: Start year for publication range.
required: false
schema:
type: integer
example: 1900
- name: date2
in: query
description: End year for publication range.
required: false
schema:
type: integer
example: 1920
- name: rows
in: query
description: Number of results per page.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: page
in: query
description: Page number for paginated results.
required: false
schema:
type: integer
minimum: 1
default: 1
responses:
'200':
description: Successful title search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTitlesResponse'
components:
schemas:
TitleSummary:
type: object
description: Summary record for a newspaper title.
properties:
lccn:
type: string
description: Library of Congress Control Number.
example: sn84026749
title:
type: string
description: Name of the newspaper.
example: Chicago Tribune
url:
type: string
description: URL to the full title JSON record.
example: https://chroniclingamerica.loc.gov/lccn/sn84026749.json
state:
type: array
items:
type: string
description: State(s) where the newspaper was published.
county:
type: array
items:
type: string
description: County or counties of publication.
city:
type: array
items:
type: string
description: City or cities of publication.
start_year:
type: string
description: First year of publication.
example: '1849'
end_year:
type: string
description: Last year of publication (or "present" if ongoing).
example: '1920'
PageSearchResult:
type: object
description: A single newspaper page result from a search query.
properties:
sequence:
type: integer
description: Page sequence number within the issue.
example: 1
county:
type: array
items:
type: string
description: County or counties where the newspaper was published.
example:
- Cook
edition_label:
type: string
description: Human-readable edition label.
example: Morning edition
frequency:
type: string
description: Publication frequency (e.g., Daily, Weekly).
example: Daily
id:
type: string
description: Unique identifier path for this page.
example: /lccn/sn84026749/1900-01-01/ed-1/seq-1/
subject:
type: array
items:
type: string
description: Subject headings for the newspaper title.
city:
type: array
items:
type: string
description: City or cities where the newspaper was published.
example:
- Chicago
date:
type: string
description: Publication date in YYYYMMDD format.
example: '19000101'
title:
type: string
description: Name of the newspaper title.
example: Chicago Tribune
end_year:
type: integer
description: Last year the newspaper was published.
example: 1920
note:
type: array
items:
type: string
description: Bibliographic notes.
state:
type: array
items:
type: string
description: State(s) where the newspaper was published.
example:
- Illinois
section_label:
type: string
description: Section label for the page.
type:
type: string
description: Type of item (always "page" for page results).
example: page
place_of_publication:
type: string
description: Place of publication string.
example: Chicago, Ill.
start_year:
type: integer
description: First year the newspaper was published.
example: 1849
edition:
type: integer
description: Edition number.
example: 1
publisher:
type: string
description: Publisher name.
language:
type: array
items:
type: string
description: Language(s) of the newspaper.
example:
- English
alt_title:
type: array
items:
type: string
description: Alternative titles for the newspaper.
lccn:
type: string
description: Library of Congress Control Number.
example: sn84026749
country:
type: string
description: Country of publication.
example: Illinois
ocr_eng:
type: string
description: OCR text extracted from the page in English.
batch:
type: string
description: Batch identifier.
example: batch_dlc_jamaica_ver01
title_normal:
type: string
description: Normalized title for sorting.
example: chicago tribune
url:
type: string
description: URL to the page JSON record.
example: https://chroniclingamerica.loc.gov/lccn/sn84026749/1900-01-01/ed-1/seq-1.json
place:
type: array
items:
type: string
description: Place names associated with the newspaper.
page:
type: string
description: Page label or number within the issue.
SearchPagesResponse:
type: object
description: Paginated search results for newspaper pages.
properties:
totalItems:
type: integer
description: Total number of matching pages across all pages of results.
example: 42317
endIndex:
type: integer
description: Index of the last result on the current page.
example: 20
startIndex:
type: integer
description: Index of the first result on the current page.
example: 1
itemsPerPage:
type: integer
description: Number of results per page.
example: 20
items:
type: array
description: Array of matching newspaper page records.
items:
$ref: '#/components/schemas/PageSearchResult'
SearchTitlesResponse:
type: object
description: Paginated search results for newspaper titles.
properties:
totalItems:
type: integer
description: Total number of matching titles.
endIndex:
type: integer
description: Index of the last result on the current page.
startIndex:
type: integer
description: Index of the first result on the current page.
itemsPerPage:
type: integer
description: Number of results per page.
items:
type: array
description: Array of matching newspaper title records.
items:
$ref: '#/components/schemas/TitleSummary'
externalDocs:
description: Chronicling America API Documentation
url: https://chroniclingamerica.loc.gov/about/api/