Chronicling America API

⭐ Beginner's Pick News / No Auth Required Beginner HTTP
Free to Use Varies (check documentation)

Overview

Chronicling America provides free access to millions of digitized historic US newspaper pages from the Library of Congress, spanning from 1770 to 1963. No API key is required, making it perfect for beginners interested in history, data journalism, or natural language processing projects. You can search by keyword, date range, state, or newspaper title.

💡

Beginner Tip

Start with a specific keyword and a narrow date range to get manageable results since the dataset is enormous. The API returns links to JPEG and PDF scans alongside OCR text, which may contain recognition errors from the digitization process.

Available Data

article title and content
publication source
published date
article URL
image URL

Example Response

JSON Response
{
  "title": "The Great Gatsby",
  "authors": [
    "F. Scott Fitzgerald"
  ],
  "publishedDate": "1925-04-10",
  "pageCount": 218,
  "categories": [
    "Fiction"
  ],
  "imageLinks": {
    "thumbnail": "https://books.google.com/..."
  },
  "averageRating": 4
}

Field Reference

items Array of newspaper page records matching the search query
items[].title Name of the newspaper the page belongs to
items[].date Publication date of the newspaper page in YYYYMMDD format
items[].ocr_eng Full OCR-extracted text content from the newspaper page
items[].url URL to the page detail on Chronicling America website
totalItems Total number of pages matching the search across all results

Implementation Example

// ⚠️ Note: This URL may be a documentation page. Check official docs for actual API endpoint.
const url = "http://chroniclingamerica.loc.gov/about/api/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Large or slow response Query returned too many results without pagination
Add rows=10 and page=1 parameters to paginate and limit response size
OCR text contains gibberish Old newspaper scans have imperfect optical character recognition
This is expected; use the text as approximate and consider fuzzy matching when searching
HTTP instead of HTTPS required Some endpoints use http:// in the official documentation
Use https://chroniclingamerica.loc.gov for all requests as modern browsers require HTTPS

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 15/20
🔒 Security 5/15
🛠 Developer XP 20/20
✓ Reliability 7/15
Response Time 229ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS NO
CORS UNKNOWN
Category News
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →