GovInfo · Capability

GovInfo API — Collections

GovInfo API — Collections. 3 operations. Lead operation: Request list of collections. Response includes collectionCode,collectionName, package and granule counts. Self-contained Naftiko capability covering one Govinfo business surface.

Run with Naftiko GovinfoCollections

What You Can Do

GET
Getcollectionsummary — Request list of collections. Response includes collectionCode,collectionName, package and granule counts
/v1/collections
GET
Getmodifiedcollections — Retrieve new or updated packages for a collection given a start date and time
/v1/collections/{collection}/{lastmodifiedstartdate}
GET
Getmodifiedcollections1 — Retrieve new or updated packages for a collection within a date range
/v1/collections/{collection}/{lastmodifiedstartdate}/{lastmodifiedenddate}

MCP Tools

request-list-collections-response-includes

Request list of collections. Response includes collectionCode,collectionName, package and granule counts

read-only idempotent
retrieve-new-updated-packages-collection

Retrieve new or updated packages for a collection given a start date and time

read-only idempotent
retrieve-new-updated-packages-collection-2

Retrieve new or updated packages for a collection within a date range

read-only idempotent

Capability Spec

openapi-collections.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GovInfo API — Collections
  description: 'GovInfo API — Collections. 3 operations. Lead operation: Request list of collections. Response includes collectionCode,collectionName,
    package and granule counts. Self-contained Naftiko capability covering one Govinfo business surface.'
  tags:
  - Govinfo
  - Collections
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOVINFO_API_KEY: GOVINFO_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi-collections
    baseUri: https://api.govinfo.gov
    description: GovInfo API — Collections business capability. Self-contained, no shared references.
    resources:
    - name: collections
      path: /collections
      operations:
      - name: getcollectionsummary
        method: GET
        description: Request list of collections. Response includes collectionCode,collectionName, package and granule counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: collections-collection-lastModifiedStartDate
      path: /collections/{collection}/{lastModifiedStartDate}
      operations:
      - name: getmodifiedcollections
        method: GET
        description: Retrieve new or updated packages for a collection given a start date and time
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collectionCode that you want to retrieve (e.g. BILLS, CREC, FR, PLAW, USCOURTS)
          required: true
        - name: lastModifiedStartDate
          in: path
          type: string
          description: 'This is the start date and time in ISO8601 format (yyyy-MM-dd''T''HH:mm:ss''Z'') Example: 2018-01-28T20:18:10Z'
          required: true
        - name: offsetMark
          in: query
          type: string
          description: Indicates starting record for a given request. Use in conjunction with pageSize to paginate through
            the results. For the first request, use * - for subsequent r
        - name: offset
          in: query
          type: integer
          description: This is the starting record you wish to retrieve-- 0 is the first record. This parameter is being deprecated
            and will be removed in the future. Please begin tra
        - name: pageSize
          in: query
          type: integer
          description: The number of records to return for a given request. Max value is 1000
          required: true
        - name: congress
          in: query
          type: integer
          description: Filters results by Congress, where applicable. For example 113 or 114.
        - name: docClass
          in: query
          type: string
          description: Filter the results by overarching collection-specific categories. The values vary from collection to
            collection. For example, docClass in BILLS corresponds with
        - name: billVersion
          in: query
          type: string
          description: Filter the results by overarching collection-specific categories.
        - name: courtCode
          in: query
          type: string
        - name: courtType
          in: query
          type: string
        - name: state
          in: query
          type: string
        - name: topic
          in: query
          type: string
        - name: isGLP
          in: query
          type: boolean
        - name: natureSuitCode
          in: query
          type: string
        - name: natureSuit
          in: query
          type: string
    - name: collections-collection-lastModifiedStartDate-lastModifiedEndDate
      path: /collections/{collection}/{lastModifiedStartDate}/{lastModifiedEndDate}
      operations:
      - name: getmodifiedcollections1
        method: GET
        description: Retrieve new or updated packages for a collection within a date range
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: collection
          in: path
          type: string
          description: The collectionCode that you want to retrieve (e.g. BILLS, CREC, FR, PLAW, USCOURTS)
          required: true
        - name: lastModifiedStartDate
          in: path
          type: string
          description: 'This is the start date and time in ISO8601 format (yyyy-MM-dd''T''HH:mm:ss''Z'') Example: 2018-01-28T20:18:10Z'
          required: true
        - name: lastModifiedEndDate
          in: path
          type: string
          description: 'This is the end date and time in ISO8601 format (yyyy-MM-dd''T''HH:mm:ss''Z'') Example: 2018-01-28T20:18:10Z'
          required: true
        - name: offsetMark
          in: query
          type: string
          description: Indicates starting record for a given request. Use in conjunction with pageSize to paginate through
            the results. For the first request, use * - for subsequent r
        - name: offset
          in: query
          type: integer
          description: This is the starting record you wish to retrieve-- 0 is the first record. This parameter is being deprecated
            and will be removed in the future. Please begin tra
        - name: pageSize
          in: query
          type: integer
          description: The number of records to return for a given request. Max value is 1000
          required: true
        - name: docClass
          in: query
          type: string
          description: Filter the results by overarching collection-specific categories. The values vary from collection to
            collection. For example, docClass in BILLS corresponds with
        - name: congress
          in: query
          type: integer
          description: Filters results by Congress, where applicable. For example 113 or 114.
        - name: billVersion
          in: query
          type: string
          description: Filter the results by overarching collection-specific categories.
        - name: courtCode
          in: query
          type: string
        - name: courtType
          in: query
          type: string
        - name: state
          in: query
          type: string
        - name: topic
          in: query
          type: string
        - name: isGLP
          in: query
          type: boolean
        - name: natureSuitCode
          in: query
          type: string
        - name: natureSuit
          in: query
          type: string
    authentication:
      type: apikey
      key: api_key
      value: '{{env.GOVINFO_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: openapi-collections-rest
    port: 8080
    description: REST adapter for GovInfo API — Collections. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/collections
      name: collections
      description: REST surface for collections.
      operations:
      - method: GET
        name: getcollectionsummary
        description: Request list of collections. Response includes collectionCode,collectionName, package and granule counts
        call: openapi-collections.getcollectionsummary
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/collections/{collection}/{lastmodifiedstartdate}
      name: collections-collection-lastmodifiedstartdate
      description: REST surface for collections-collection-lastModifiedStartDate.
      operations:
      - method: GET
        name: getmodifiedcollections
        description: Retrieve new or updated packages for a collection given a start date and time
        call: openapi-collections.getmodifiedcollections
        with:
          collection: rest.collection
          lastModifiedStartDate: rest.lastModifiedStartDate
          offsetMark: rest.offsetMark
          offset: rest.offset
          pageSize: rest.pageSize
          congress: rest.congress
          docClass: rest.docClass
          billVersion: rest.billVersion
          courtCode: rest.courtCode
          courtType: rest.courtType
          state: rest.state
          topic: rest.topic
          isGLP: rest.isGLP
          natureSuitCode: rest.natureSuitCode
          natureSuit: rest.natureSuit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/collections/{collection}/{lastmodifiedstartdate}/{lastmodifiedenddate}
      name: collections-collection-lastmodifiedstartdate-lastmodifiedenddate
      description: REST surface for collections-collection-lastModifiedStartDate-lastModifiedEndDate.
      operations:
      - method: GET
        name: getmodifiedcollections1
        description: Retrieve new or updated packages for a collection within a date range
        call: openapi-collections.getmodifiedcollections1
        with:
          collection: rest.collection
          lastModifiedStartDate: rest.lastModifiedStartDate
          lastModifiedEndDate: rest.lastModifiedEndDate
          offsetMark: rest.offsetMark
          offset: rest.offset
          pageSize: rest.pageSize
          docClass: rest.docClass
          congress: rest.congress
          billVersion: rest.billVersion
          courtCode: rest.courtCode
          courtType: rest.courtType
          state: rest.state
          topic: rest.topic
          isGLP: rest.isGLP
          natureSuitCode: rest.natureSuitCode
          natureSuit: rest.natureSuit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi-collections-mcp
    port: 9090
    transport: http
    description: MCP adapter for GovInfo API — Collections. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: request-list-collections-response-includes
      description: Request list of collections. Response includes collectionCode,collectionName, package and granule counts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-collections.getcollectionsummary
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-new-updated-packages-collection
      description: Retrieve new or updated packages for a collection given a start date and time
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-collections.getmodifiedcollections
      with:
        collection: tools.collection
        lastModifiedStartDate: tools.lastModifiedStartDate
        offsetMark: tools.offsetMark
        offset: tools.offset
        pageSize: tools.pageSize
        congress: tools.congress
        docClass: tools.docClass
        billVersion: tools.billVersion
        courtCode: tools.courtCode
        courtType: tools.courtType
        state: tools.state
        topic: tools.topic
        isGLP: tools.isGLP
        natureSuitCode: tools.natureSuitCode
        natureSuit: tools.natureSuit
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-new-updated-packages-collection-2
      description: Retrieve new or updated packages for a collection within a date range
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-collections.getmodifiedcollections1
      with:
        collection: tools.collection
        lastModifiedStartDate: tools.lastModifiedStartDate
        lastModifiedEndDate: tools.lastModifiedEndDate
        offsetMark: tools.offsetMark
        offset: tools.offset
        pageSize: tools.pageSize
        docClass: tools.docClass
        congress: tools.congress
        billVersion: tools.billVersion
        courtCode: tools.courtCode
        courtType: tools.courtType
        state: tools.state
        topic: tools.topic
        isGLP: tools.isGLP
        natureSuitCode: tools.natureSuitCode
        natureSuit: tools.natureSuit
      outputParameters:
      - type: object
        mapping: $.