Library of Congress · Capability

Library of Congress Chronicling America API

The Chronicling America API exposes historic American newspapers digitized through the National Digital Newspaper Program, providing search and metadata access to newspaper pages, issues, and titles.

Run with Naftiko LibraryOfCongressAPI

What You Can Do

GET
Searchpages — Search Pages
/search/pages/results/
GET
Searchtitles — Search Titles
/search/titles/results/
GET
Gettitle — Get Title
/lccn/{lccn}.json
GET
Getissue — Get Issue
/lccn/{lccn}/{date}/ed-{edition}.json
GET
Listnewspapers — List Newspapers
/newspapers.json

MCP Tools

searchpages

Search Pages

read-only idempotent
searchtitles

Search Titles

read-only idempotent
gettitle

Get Title

read-only idempotent
getissue

Get Issue

read-only idempotent
listnewspapers

List Newspapers

read-only idempotent

Capability Spec

library-of-congress-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Library of Congress Chronicling America API
  description: The Chronicling America API exposes historic American newspapers digitized through the National Digital Newspaper
    Program, providing search and metadata access to newspaper pages, issues, and titles.
  tags:
  - Library
  - Of
  - Congress
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: library-of-congress
    baseUri: https://chroniclingamerica.loc.gov
    description: Library of Congress Chronicling America API HTTP API.
    resources:
    - name: search-pages-results
      path: /search/pages/results/
      operations:
      - name: searchpages
        method: GET
        description: Search Pages
        inputParameters:
        - name: andtext
          in: query
          type: string
          description: Phrase to search within page text.
        - name: state
          in: query
          type: string
          description: U.S. state filter.
        - name: dateFilterType
          in: query
          type: string
        - name: date1
          in: query
          type: string
        - name: date2
          in: query
          type: string
        - name: format
          in: query
          type: string
        - name: rows
          in: query
          type: integer
        - name: page
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: search-titles-results
      path: /search/titles/results/
      operations:
      - name: searchtitles
        method: GET
        description: Search Titles
        inputParameters:
        - name: terms
          in: query
          type: string
        - name: state
          in: query
          type: string
        - name: format
          in: query
          type: string
        - name: rows
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lccn-lccn-json
      path: /lccn/{lccn}.json
      operations:
      - name: gettitle
        method: GET
        description: Get Title
        inputParameters:
        - name: lccn
          in: path
          type: string
          required: true
          description: Library of Congress Control Number.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lccn-lccn-date-ed-edition-json
      path: /lccn/{lccn}/{date}/ed-{edition}.json
      operations:
      - name: getissue
        method: GET
        description: Get Issue
        inputParameters:
        - name: lccn
          in: path
          type: string
          required: true
        - name: date
          in: path
          type: string
          required: true
          description: Issue date in YYYY-MM-DD format.
        - name: edition
          in: path
          type: integer
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: newspapers-json
      path: /newspapers.json
      operations:
      - name: listnewspapers
        method: GET
        description: List Newspapers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: library-of-congress-rest
    description: REST adapter for Library of Congress Chronicling America API.
    resources:
    - path: /search/pages/results/
      name: searchpages
      operations:
      - method: GET
        name: searchpages
        description: Search Pages
        call: library-of-congress.searchpages
        outputParameters:
        - type: object
          mapping: $.
    - path: /search/titles/results/
      name: searchtitles
      operations:
      - method: GET
        name: searchtitles
        description: Search Titles
        call: library-of-congress.searchtitles
        outputParameters:
        - type: object
          mapping: $.
    - path: /lccn/{lccn}.json
      name: gettitle
      operations:
      - method: GET
        name: gettitle
        description: Get Title
        call: library-of-congress.gettitle
        with:
          lccn: rest.lccn
        outputParameters:
        - type: object
          mapping: $.
    - path: /lccn/{lccn}/{date}/ed-{edition}.json
      name: getissue
      operations:
      - method: GET
        name: getissue
        description: Get Issue
        call: library-of-congress.getissue
        with:
          lccn: rest.lccn
          date: rest.date
          edition: rest.edition
        outputParameters:
        - type: object
          mapping: $.
    - path: /newspapers.json
      name: listnewspapers
      operations:
      - method: GET
        name: listnewspapers
        description: List Newspapers
        call: library-of-congress.listnewspapers
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: library-of-congress-mcp
    transport: http
    description: MCP adapter for Library of Congress Chronicling America API for AI agent use.
    tools:
    - name: searchpages
      description: Search Pages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: library-of-congress.searchpages
      with:
        andtext: tools.andtext
        state: tools.state
        dateFilterType: tools.dateFilterType
        date1: tools.date1
        date2: tools.date2
        format: tools.format
        rows: tools.rows
        page: tools.page
      inputParameters:
      - name: andtext
        type: string
        description: Phrase to search within page text.
      - name: state
        type: string
        description: U.S. state filter.
      - name: dateFilterType
        type: string
        description: dateFilterType
      - name: date1
        type: string
        description: date1
      - name: date2
        type: string
        description: date2
      - name: format
        type: string
        description: format
      - name: rows
        type: integer
        description: rows
      - name: page
        type: integer
        description: page
      outputParameters:
      - type: object
        mapping: $.
    - name: searchtitles
      description: Search Titles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: library-of-congress.searchtitles
      with:
        terms: tools.terms
        state: tools.state
        format: tools.format
        rows: tools.rows
      inputParameters:
      - name: terms
        type: string
        description: terms
      - name: state
        type: string
        description: state
      - name: format
        type: string
        description: format
      - name: rows
        type: integer
        description: rows
      outputParameters:
      - type: object
        mapping: $.
    - name: gettitle
      description: Get Title
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: library-of-congress.gettitle
      with:
        lccn: tools.lccn
      inputParameters:
      - name: lccn
        type: string
        description: Library of Congress Control Number.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getissue
      description: Get Issue
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: library-of-congress.getissue
      with:
        lccn: tools.lccn
        date: tools.date
        edition: tools.edition
      inputParameters:
      - name: lccn
        type: string
        description: lccn
        required: true
      - name: date
        type: string
        description: Issue date in YYYY-MM-DD format.
        required: true
      - name: edition
        type: integer
        description: edition
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listnewspapers
      description: List Newspapers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: library-of-congress.listnewspapers
      outputParameters:
      - type: object
        mapping: $.