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.
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
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: $.