GovGazette Opportunities API

The Opportunities API from GovGazette — 2 operation(s) for opportunities.

GitHub OpenAPI

Operations 2

GET /api/v1/opportunities/research Read a cited opportunity research brief #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/govgazette-com:govgazette-com-opportunities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

govgazette-com-opportunities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GovGazette Opportunities API
  version: 0.1.0
servers:
- url: https://govgazette.com
tags:
- name: Opportunities
paths:
  /api/v1/opportunities/research:
    get:
      operationId: get_api_v1_opportunities_research
      parameters:
      - in: query
        name: generation
        required: false
        schema:
          description: Retained generation UUID from search_opportunities.
          type:
          - string
          - 'null'
      - in: query
        name: id
        required: true
        schema:
          description: Stable opportunity ID returned by search_opportunities.
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $defs:
                  AwardAvailability:
                    properties:
                      artifact_http_status:
                        format: uint16
                        maximum: 65535
                        minimum: 0
                        type:
                        - integer
                        - 'null'
                      check_interval_seconds:
                        format: uint64
                        minimum: 0
                        type: integer
                      checked_at:
                        type:
                        - string
                        - 'null'
                      inventory_http_status:
                        format: uint16
                        maximum: 65535
                        minimum: 0
                        type:
                        - integer
                        - 'null'
                      latest_release_date:
                        type:
                        - string
                        - 'null'
                      latest_release_url:
                        type:
                        - string
                        - 'null'
                      max_check_age_seconds:
                        format: int64
                        type: integer
                      state:
                        type: string
                    required:
                    - state
                    - check_interval_seconds
                    - max_check_age_seconds
                    type: object
                  AwardCoverage:
                    properties:
                      dataset:
                        type: string
                      freshness:
                        $ref: '#/components/schemas/AwardFreshness'
                      source_date:
                        type: string
                      source_url:
                        type: string
                    required:
                    - dataset
                    - source_date
                    - source_url
                    - freshness
                    type: object
                  AwardFreshness:
                    properties:
                      age_state:
                        type: string
                      age_warning_after_days:
                        format: int64
                        type: integer
                      effective_source_date:
                        type:
                        - string
                        - 'null'
                      source_age_days:
                        format: int64
                        type:
                        - integer
                        - 'null'
                      upstream:
                        $ref: '#/components/schemas/AwardAvailability'
                      warning:
                        type:
                        - string
                        - 'null'
                    required:
                    - age_state
                    - age_warning_after_days
                    - upstream
                    type: object
                  AwardSummary:
                    properties:
                      data:
                        $ref: '#/components/schemas/JsonObject'
                      id:
                        type: string
                      title:
                        type: string
                      url:
                        type: string
                      vendor_url:
                        description: Vendor path when an exact recipient UEI is available.
                        type:
                        - string
                        - 'null'
                    required:
                    - id
                    - title
                    - data
                    - url
                    type: object
                  BriefRequirements:
                    properties:
                      scope:
                        type: string
                      source:
                        anyOf:
                        - $ref: '#/components/schemas/JsonObject'
                        - type: 'null'
                        description: Notice provenance for the retained text.
                      text:
                        type: string
                    required:
                    - text
                    - scope
                    type: object
                  ExclusionCoverage:
                    properties:
                      freshness:
                        $ref: '#/components/schemas/SourceFreshness'
                        description: Fresh, stale, unknown or unavailable, with age and the 24-hour warning policy.
                      observed_at:
                        description: Observation time does not replace the official source timestamp.
                        type:
                        - string
                        - 'null'
                      scope:
                        type:
                        - string
                        - 'null'
                      sha256:
                        type:
                        - string
                        - 'null'
                      source_date:
                        type:
                        - string
                        - 'null'
                      source_url:
                        type:
                        - string
                        - 'null'
                      status:
                        description: Present as unavailable when no SAM coverage exists in this generation.
                        type:
                        - string
                        - 'null'
                    required:
                    - freshness
                    type: object
                  FreshnessState:
                    enum:
                    - fresh
                    - stale
                    - unknown
                    - unavailable
                    type: string
                  JsonObject:
                    description: Source-specific JSON map. The envelope is stable; map keys vary by official source.
                    type: object
                  RecordDetail:
                    properties:
                      award_coverage:
                        description: Award snapshot age and latest official release evidence.
                        items:
                          $ref: '#/components/schemas/AwardCoverage'
                        type:
                        - array
                        - 'null'
                      collection:
                        description: Absent for curated reference records.
                        type:
                        - string
                        - 'null'
                      coverage:
                        anyOf:
                        - $ref: '#/components/schemas/ExclusionCoverage'
                        - type: 'null'
                        description: Present for exclusions, including explicit source-age warnings.
                      data:
                        $ref: '#/components/schemas/JsonObject'
                      generation:
                        type: string
                      id:
                        type: string
                      text:
                        type: string
                      text_has_more:
                        description: Whether another text chunk is available.
                        type:
                        - boolean
                        - 'null'
                      text_length:
                        description: Total text characters; absent from internal brief notices.
                        format: uint
                        minimum: 0
                        type:
                        - integer
                        - 'null'
                      title:
                        type: string
                    required:
                    - generation
                    - id
                    - title
                    - text
                    - data
                    type: object
                  SourceFreshness:
                    properties:
                      attention_required:
                        type: boolean
                      evaluated_at:
                        description: UTC time when age was evaluated; source and observation dates are unchanged.
                        type: string
                      max_age_seconds:
                        description: Explicit warning threshold for this daily snapshot. Not a scheduler promise.
                        format: int64
                        type: integer
                      source_age_seconds:
                        description: Age of the official source timestamp, never the import or enrichment timestamp.
                        format: int64
                        type:
                        - integer
                        - 'null'
                      state:
                        $ref: '#/components/schemas/FreshnessState'
                      warn_age_seconds:
                        description: Early-warning boundary, separate from the stale-source boundary.
                        format: int64
                        type: integer
                      warning:
                        description: User-facing warning, or null when within the warning threshold.
                        type:
                        - string
                        - 'null'
                    required:
                    - state
                    - evaluated_at
                    - max_age_seconds
                    - warn_age_seconds
                    - attention_required
                    type: object
                $schema: https://json-schema.org/draft/2020-12/schema
                properties:
                  comparison_awards:
                    items:
                      $ref: '#/components/schemas/AwardSummary'
                    type: array
                  generation:
                    type: string
                  linked_awards:
                    items:
                      $ref: '#/components/schemas/AwardSummary'
                    type: array
                  next_steps:
                    items:
                      type: string
                    type: array
                  notice:
                    $ref: '#/components/schemas/RecordDetail'
                  relationship_basis:
                    type: string
                  requirements:
                    $ref: '#/components/schemas/BriefRequirements'
                required:
                - generation
                - notice
                - linked_awards
                - comparison_awards
                - relationship_basis
                - requirements
                - next_steps
                type: object
          description: Source-backed result
        '400':
          description: Invalid request
      summary: Read a cited opportunity research brief
      x-openai-isConsequential: false
      tags:
      - Opportunities
  /api/v1/opportunities/search:
    get:
      operationId: get_api_v1_opportunities_search
      parameters:
      - in: query
        name: active
        required: false
        schema:
          description: Filter by source active status; this does not mean the response deadline is open.
          type:
          - boolean
          - 'null'
      - in: query
        name: after
        required: false
        schema:
          description: Last notice ID from next_after in the preceding page.
          type:
          - string
          - 'null'
      - in: query
        name: agency
        required: false
        schema:
          description: Agency code on the source notice.
          type:
          - string
          - 'null'
      - in: query
        name: generation
        required: false
        schema:
          description: Retained generation UUID from a prior result for a consistent snapshot.
          type:
          - string
          - 'null'
      - in: query
        name: limit
        required: false
        schema:
          description: Maximum notices to return, from 1 to 50; defaults to 25.
          format: uint
          maximum: 50
          minimum: 1
          type:
          - integer
          - 'null'
      - in: query
        name: naics
        required: false
        schema:
          description: Two- to six-digit NAICS industry code from a notice or the NAICS reference collection.
          type:
          - string
          - 'null'
      - in: query
        name: q
        required: false
        schema:
          default: ''
          description: Plain-language keywords; empty returns notices matching the other filters.
          type: string
      - in: query
        name: set_aside
        required: false
        schema:
          description: Official set-aside code from a notice or the set-asides reference collection.
          type:
          - string
          - 'null'
      - in: query
        name: state
        required: false
        schema:
          description: State or territory code for the place of performance.
          type:
          - string
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $defs:
                  JsonObject:
                    description: Source-specific JSON map. The envelope is stable; map keys vary by official source.
                    type: object
                  OpportunityQuery:
                    additionalProperties: false
                    properties:
                      active:
                        description: Filter by source active status; this does not mean the response deadline is open.
                        type:
                        - boolean
                        - 'null'
                      after:
                        description: Last notice ID from next_after in the preceding page.
                        type:
                        - string
                        - 'null'
                      agency:
                        description: Agency code on the source notice.
                        type:
                        - string
                        - 'null'
                      generation:
                        description: Retained generation UUID from a prior result for a consistent snapshot.
                        type:
                        - string
                        - 'null'
                      limit:
                        description: Maximum notices to return, from 1 to 50; defaults to 25.
                        format: uint
                        maximum: 50
                        minimum: 1
                        type:
                        - integer
                        - 'null'
                      naics:
                        description: Two- to six-digit NAICS industry code from a notice or the NAICS reference collection.
                        type:
                        - string
                        - 'null'
                      q:
                        default: ''
                        description: Plain-language keywords; empty returns notices matching the other filters.
                        type: string
                      set_aside:
                        description: Official set-aside code from a notice or the set-asides reference collection.
                        type:
                        - string
                        - 'null'
                      state:
                        description: State or territory code for the place of performance.
                        type:
                        - string
                        - 'null'
                    type: object
                  OpportunitySummary:
                    properties:
                      content_hash:
                        description: Hash of retained notice content for change detection.
                        type: string
                      data:
                        $ref: '#/components/schemas/JsonObject'
                      id:
                        type: string
                      summary:
                        type: string
                      title:
                        type: string
                      url:
                        type: string
                    required:
                    - id
                    - title
                    - summary
                    - content_hash
                    - data
                    - url
                    type: object
                $schema: https://json-schema.org/draft/2020-12/schema
                properties:
                  filters:
                    $ref: '#/components/schemas/OpportunityQuery'
                    description: Applied search filters.
                  generation:
                    type: string
                  items:
                    items:
                      $ref: '#/components/schemas/OpportunitySummary'
                    type: array
                  next_after:
                    description: Last record ID for the next page, or null at the end.
                    type:
                    - string
                    - 'null'
                  scope:
                    description: Limits of this retained official-notice search.
                    type: string
                required:
                - generation
                - items
                - filters
                - scope
                type: object
          description: Source-backed result
        '400':
          description: Invalid request
      summary: Find opportunities using structured filters
      x-openai-isConsequential: false
      tags:
      - Opportunities
components:
  schemas:
    OpportunitySummary:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    ExclusionCoverage:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    AwardCoverage:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    BriefRequirements:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    RecordDetail:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    AwardFreshness:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    JsonObject:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    SourceFreshness:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    AwardAvailability:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    OpportunityQuery:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    FreshnessState:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    AwardSummary:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true