HHS (US Department of Health and Human Services) Opportunity v1 API

The Opportunity v1 API from HHS (US Department of Health and Human Services) — 4 operation(s) for opportunity v1.

Operations 4

POST /v1/opportunities/search Search opportunities (JSON or CSV)
POST /v1/opportunities/search/csv Opportunity Search Csv
GET /v1/opportunities/{opportunity_id} Opportunity Get
GET /v1/opportunities/{legacy_opportunity_id} Opportunity Get Legacy

Documentation

Specifications

Schemas & Data

Other Resources

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/hhs-opportunity-v1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

hhs-opportunity-v1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '

    Back end API for simpler.grants.gov.


    This API is in active development as we build out new functionalities for Simpler.Grants.gov. It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


    Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

    See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

    '
  contact:
    name: Simpler Grants.gov
    url: https://simpler.grants.gov/
    email: simpler@grants.gov
  title: Simpler Grants Opportunity v1 API
  version: v0
servers: .
tags:
- name: Opportunity v1
paths:
  /v1/opportunities/search:
    post:
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpportunitySearchResponseV1Schema'
            text/csv: {}
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
      tags:
      - Opportunity v1
      summary: Search opportunities (JSON or CSV)
      description: '

        This API is in active development as we build out new functionalities for Simpler.Grants.gov.

        It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


        Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

        See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

        '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpportunitySearchRequestV1Schema'
            examples:
              example1:
                summary: No filters
                value:
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 25
              example2:
                summary: All filters
                value:
                  query: research
                  filters:
                    agency:
                      one_of:
                      - USAID
                      - DOC
                    applicant_type:
                      one_of:
                      - state_governments
                      - county_governments
                      - individuals
                    funding_category:
                      one_of:
                      - recovery_act
                      - arts
                      - natural_resources
                    funding_instrument:
                      one_of:
                      - cooperative_agreement
                      - grant
                    opportunity_status:
                      one_of:
                      - forecasted
                      - posted
                    post_date:
                      start_date: '2024-01-01'
                      end_date: '2024-02-01'
                    close_date:
                      start_date: '2024-01-01'
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 25
              example3:
                summary: Query & opportunity_status filters
                value:
                  query: research
                  filters:
                    opportunity_status:
                      one_of:
                      - forecasted
                      - posted
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 25
              example4:
                summary: CSV file response
                value:
                  format: csv
                  filters:
                    opportunity_status:
                      one_of:
                      - forecasted
                      - posted
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 100
              example5:
                summary: Filter by award fields
                value:
                  filters:
                    expected_number_of_awards:
                      min: 5
                    award_floor:
                      min: 10000
                    award_ceiling:
                      max: 1000000
                    estimated_total_program_funding:
                      min: 100000
                      max: 250000
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 25
              example6:
                summary: Filter by assistance listing numbers
                value:
                  filters:
                    assistance_listing_number:
                      one_of:
                      - '43.001'
                      - '47.049'
                  pagination:
                    sort_order:
                    - order_by: opportunity_id
                      sort_direction: ascending
                    page_offset: 1
                    page_size: 25
              example7:
                summary: Primary sort agency_code desc, secondary sort opportunity_id asc
                value:
                  pagination:
                    page_offset: 1
                    page_size: 25
                    sort_order:
                    - order_by: agency_code
                      sort_direction: descending
                    - order_by: opportunity_id
                      sort_direction: ascending
      security:
      - ApiJwtAuth: []
      - ApiUserKeyAuth: []
  /v1/opportunities/search/csv:
    post:
      parameters: []
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '200':
          content:
            text/csv: {}
      tags:
      - Opportunity v1
      summary: Opportunity Search Csv
      description: '

        This API is in active development as we build out new functionalities for Simpler.Grants.gov.

        It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


        Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

        See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

        '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpportunitySearchCSVRequestV1Schema'
            examples:
              example1:
                summary: No filters
                value: {}
              example2:
                summary: Query and filters
                value:
                  query: research
                  query_operator: OR
                  filters:
                    agency:
                      one_of:
                      - USAID
                      - DOC
                    opportunity_status:
                      one_of:
                      - forecasted
                      - posted
      security:
      - ApiJwtAuth: []
      - ApiUserKeyAuth: []
  /v1/opportunities/{opportunity_id}:
    get:
      parameters:
      - in: path
        name: opportunity_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpportunityGetResponseV1Schema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Opportunity v1
      summary: Opportunity Get
      description: '

        This API is in active development as we build out new functionalities for Simpler.Grants.gov.

        It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


        Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

        See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

        '
      security:
      - ApiJwtAuth: []
      - ApiUserKeyAuth: []
  /v1/opportunities/{legacy_opportunity_id}:
    get:
      parameters:
      - in: path
        name: legacy_opportunity_id
        schema:
          type: integer
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpportunityGetResponseV1Schema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Opportunity v1
      summary: Opportunity Get Legacy
      description: '

        This API is in active development as we build out new functionalities for Simpler.Grants.gov.

        It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


        Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

        See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

        '
      security:
      - ApiJwtAuth: []
      - ApiUserKeyAuth: []
components:
  schemas:
    AssistanceListingNumberFilterV1Schema:
      type: object
      properties:
        one_of:
          type: array
          minItems: 1
          items:
            type: string
            pattern: ^\d{2}\.[A-Za-z0-9]{2,3}$
            example: '45.149'
    OpportunitySearchResponseV1Schema:
      type: object
      properties:
        pagination_info:
          description: The pagination information for paginated endpoints
          type:
          - object
          $ref: '#/components/schemas/PaginationInfoSchema'
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type: array
          items:
            $ref: '#/components/schemas/OpportunityV1Schema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
        facet_counts:
          description: Counts of filter/facet values in the full response
          type:
          - object
          $ref: '#/components/schemas/OpportunityFacetV1Schema'
    OpportunitySummaryV1Schema:
      type: object
      properties:
        summary_description:
          type:
          - string
          - 'null'
          description: The summary of the opportunity
          example: This opportunity aims to unravel the mysteries of the universe.
        is_cost_sharing:
          type:
          - boolean
          - 'null'
          description: Whether or not the opportunity has a cost sharing/matching requirement
        is_forecast:
          type: boolean
          description: Whether the opportunity is forecasted, that is, the information is only an estimate and not yet official
          example: false
        close_date:
          type:
          - string
          - 'null'
          format: date
          description: The date that the opportunity will close - only set if is_forecast=False
        close_date_description:
          type:
          - string
          - 'null'
          description: Optional details regarding the close date
          example: Proposals are due earlier than usual.
        post_date:
          type:
          - string
          - 'null'
          format: date
          description: The date the opportunity was posted
        archive_date:
          type:
          - string
          - 'null'
          format: date
          description: When the opportunity will be archived
        expected_number_of_awards:
          type:
          - integer
          - 'null'
          description: The number of awards the opportunity is expected to award
          example: 10
        estimated_total_program_funding:
          type:
          - integer
          - 'null'
          description: The total program funding of the opportunity in US Dollars
          example: 10000000
        award_floor:
          type:
          - integer
          - 'null'
          description: The minimum amount an opportunity would award
          example: 10000
        award_ceiling:
          type:
          - integer
          - 'null'
          description: The maximum amount an opportunity would award
          example: 100000
        additional_info_url:
          type:
          - string
          - 'null'
          description: A URL to a website that can provide additional information about the opportunity
          example: grants.gov
        additional_info_url_description:
          type:
          - string
          - 'null'
          description: The text to display for the additional_info_url link
          example: Click me for more info
        forecasted_post_date:
          type:
          - string
          - 'null'
          format: date
          description: Forecasted opportunity only. The date the opportunity is expected to be posted, and transition out of being a forecast
        forecasted_close_date:
          type:
          - string
          - 'null'
          format: date
          description: Forecasted opportunity only. The date the opportunity is expected to be close once posted.
        forecasted_close_date_description:
          type:
          - string
          - 'null'
          description: Forecasted opportunity only. Optional details regarding the forecasted closed date.
          example: Proposals will probably be due on this date
        forecasted_award_date:
          type:
          - string
          - 'null'
          format: date
          description: Forecasted opportunity only. The date the grantor plans to award the opportunity.
        forecasted_project_start_date:
          type:
          - string
          - 'null'
          format: date
          description: Forecasted opportunity only. The date the grantor expects the award recipient should start their project
        fiscal_year:
          type:
          - integer
          - 'null'
          description: Forecasted opportunity only. The fiscal year the project is expected to be funded and launched
        funding_category_description:
          type:
          - string
          - 'null'
          description: Additional information about the funding category
          example: Economic Support
        applicant_eligibility_description:
          type:
          - string
          - 'null'
          description: Additional information about the types of applicants that are eligible
          example: All types of domestic applicants are eligible to apply
        agency_contact_description:
          type:
          - string
          - 'null'
          description: Information regarding contacting the agency who owns the opportunity
          example: For more information, reach out to Jane Smith at agency US-ABC
        agency_email_address:
          type:
          - string
          - 'null'
          description: The contact email of the agency who owns the opportunity
          example: fake_email@grants.gov
        agency_email_address_description:
          type:
          - string
          - 'null'
          description: The text for the link to the agency email address
          example: Click me to email the agency
        version_number:
          type:
          - integer
          - 'null'
          description: The version number of the opportunity summary
          example: 1
        funding_instruments:
          type: array
          items:
            enum:
            - cooperative_agreement
            - grant
            - procurement_contract
            - other
            type:
            - string
        funding_categories:
          type: array
          items:
            enum:
            - recovery_act
            - agriculture
            - arts
            - business_and_commerce
            - community_development
            - consumer_protection
            - disaster_prevention_and_relief
            - education
            - employment_labor_and_training
            - energy
            - environment
            - food_and_nutrition
            - health
            - housing
            - humanities
            - infrastructure_investment_and_jobs_act
            - information_and_statistics
            - income_security_and_social_services
            - law_justice_and_legal_services
            - natural_resources
            - opportunity_zone_benefits
            - regional_development
            - science_technology_and_other_research_and_development
            - transportation
            - affordable_care_act
            - other
            - energy_infrastructure_and_critical_mineral_and_materials
            - recreation_and_tourism
            type:
            - string
        applicant_types:
          type: array
          items:
            enum:
            - state_governments
            - county_governments
            - city_or_township_governments
            - special_district_governments
            - independent_school_districts
            - public_and_state_institutions_of_higher_education
            - private_institutions_of_higher_education
            - federally_recognized_native_american_tribal_governments
            - other_native_american_tribal_organizations
            - public_and_indian_housing_authorities
            - nonprofits_non_higher_education_with_501c3
            - nonprofits_non_higher_education_without_501c3
            - individuals
            - for_profit_organizations_other_than_small_businesses
            - small_businesses
            - other
            - unrestricted
            type:
            - string
        created_at:
          type: string
          format: date-time
          description: When the opportunity summary was created
        updated_at:
          type: string
          format: date-time
          description: When the opportunity summary was last updated
    SortOrderOpportunityPaginationV1Schema:
      type: object
      properties:
        order_by:
          type: string
          enum:
          - relevancy
          - opportunity_id
          - opportunity_number
          - opportunity_title
          - post_date
          - close_date
          - agency_code
          - agency_name
          - top_level_agency_name
          - award_floor
          - award_ceiling
          description: The field to sort the response by
        sort_direction:
          description: Whether to sort the response ascending or descending
          enum:
          - ascending
          - descending
          type:
          - string
      required:
      - order_by
      - sort_direction
    FormInstructionSchema:
      type: object
      properties:
        form_instruction_id:
          type: string
          format: uuid
          description: The UUID of the form instruction
          example: 123e4567-e89b-12d3-a456-426614174000
        file_name:
          type: string
          description: The name of the form instruction file
          example: instructions.pdf
        download_path:
          type: string
          description: The download URL for the form instruction file
        created_at:
          type: string
          format: date-time
          description: The timestamp when the form instruction was created
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the form instruction was last updated
    ExpectedNumberAwardsFilterV1Schema:
      type: object
      properties:
        min:
          type:
          - integer
          - 'null'
          minimum: 0
          example: 0
        max:
          type:
          - integer
          - 'null'
          minimum: 0
          example: 25
    CloseDateFilterV1Schema:
      type: object
      properties:
        start_date:
          type:
          - string
          - 'null'
          format: date
        end_date:
          type:
          - string
          - 'null'
          format: date
        start_date_relative:
          type:
          - integer
          - 'null'
          minimum: -1000000
          maximum: 1000000
        end_date_relative:
          type:
          - integer
          - 'null'
          minimum: -1000000
          maximum: 1000000
    IsCostSharingFilterV1Schema:
      type: object
      properties:
        one_of:
          type:
          - array
          - 'null'
          items:
            type: boolean
            example: true
    FundingInstrumentFilterV1Schema:
      type: object
      properties:
        one_of:
          type: array
          minItems: 1
          items:
            enum:
            - cooperative_agreement
            - grant
            - procurement_contract
            - other
            type:
            - string
    CompetitionAlphaSchema:
      type: object
      properties:
        competition_id:
          type: string
          format: uuid
          description: The competition ID
          example: 123e4567-e89b-12d3-a456-426614174000
        opportunity_id:
          type: string
          format: uuid
          description: The opportunity ID that the competition is associated with
          example: 123e4567-e89b-12d3-a456-426614174000
        competition_forms:
          type: array
          description: List of forms required for this competition
          items:
            type:
            - object
            $ref: '#/components/schemas/CompetitionFormAlphaSchema'
        competition_instructions:
          type: array
          description: List of instruction files associated with this competition
          items:
            type:
            - object
            $ref: '#/components/schemas/CompetitionInstructionAlphaSchema'
        competition_title:
          type:
          - string
          - 'null'
          description: The title of the competition
          example: Proposal for Advanced Research
        opening_date:
          type:
          - string
          - 'null'
          format: date
          description: The opening date of the competition, the first day applications are accepted
        closing_date:
          type:
          - string
          - 'null'
          format: date
          description: The closing date of the competition, the last day applications are accepted
        contact_info:
          type:
          - string
          - 'null'
          description: Contact info getting assistance with the competition
          example: 'Bob Smith

            FakeMail@fake.com'
        opportunity_assistance_listing:
          description: Assistance listing information for this competition
          type:
          - object
          - 'null'
          anyOf:
          - $ref: '#/components/schemas/OpportunityAssistanceListingV1Schema'
          - type: 'null'
        open_to_applicants:
          type: array
          description: List of applicant types who are eligible for this competition
          example:
          - - individual
          - - organization
          items:
            enum:
            - individual
            - organization
            type:
            - string
        is_open:
          type: boolean
          description: Whether the competition is open and accepting applications
        is_simpler_grants_enabled:
          type: boolean
          description: Whether simpler grants are enabled for this competition
    PostDateFilterV1Schema:
      type: object
      properties:
        start_date:
          type:
          - string
          - 'null'
          format: date
        end_date:
          type:
          - string
          - 'null'
          format: date
        start_date_relative:
          type:
          - integer
          - 'null'
          minimum: -1000000
          maximum: 1000000
        end_date_relative:
          type:
          - integer
          - 'null'
          minimum: -1000000
          maximum: 1000000
    CompetitionInstructionAlphaSchema:
      type: object
      properties:
        file_name:
          type: string
          description: The name of the instruction file
          example: competition_instructions.pdf
        download_path:
          type: string
          description: The URL to download the instruction file
          example: https://cdn.example.com/competition-instructions/file.pdf
        created_at:
          type: string
          format: date-time
          description: The date and time when the instruction was created
        updated_at:
          type: string
          format: date-time
          description: The date and time when the instruction was last updated
    ValidationIssueSchema:
      type: object
      properties:
        type:
          type: string
          description: The type of error
          example: invalid
        message:
          type: string
          description: The message to return
          example: Not a valid string.
        field:
          type: string
          description: The field that failed
          example: summary.summary_description
        value:
          type: string
          description: The value that failed
          example: invalid string
    AwardFloorFilterV1Schema:
      type: object
      properties:
        min:
          type:
          - integer
          - 'null'
          minimum: 0
          example: 0
        max:
          type:
          - integer
          - 'null'
          minimum: 0
          example: 10000
    OpportunitySearchCSVRequestV1Schema:
      type: object
      properties:
        query:
          type: string
          minLength: 1
          maxLength: 100
          description: Query string which searches against several text fields
          example: research
        query_operator:
          default:
          - AND
          description: Query operator for combining search conditions
          example: OR
          enum:
          - AND
          - OR
          type:
          - string
        filters:
          type:
          - object
          $ref: '#/components/schemas/OpportunitySearchFilterV1Schema'
      additionalProperties: false
    TopLevelAgencyOppSearchFilterV1Schema:
      type: object
      properties:
        one_of:
          type: array
          minItems: 1
          items:
            type: string
            minLength: 2
            example: USAID
    OpportunityGetResponseV1Schema:
      type: object
      properties:
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type:
          - object
          $ref: '#/components/schemas/OpportunityWithAttachmentsV1Schema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    OpportunityStatusFilterV1Schema:
      type: object
      properties:
        one_of:
          type: array
          minItems: 1
          items:
            enum:
            - forecasted
            - posted
            - closed
            - archived
            type:
            - string
    FormAlphaSchema:
      type: object
      properties:
        form_id:
          type: string
          format: uuid
          description: The primary key ID of the form
          example: 123e4567-e89b-12d3-a456-426614174000
        form_name:
          type: string
          description: The name of the form
          example: ABC Project Form
        short_form_name:
          type: string
          description: The short name of the form used for making files
          example: abc_project
        form_version:
          type: string
          description: The version of the form
          example: '1.0'
        agency_code:
          type: string
          description: The agency code for the form
          example: SGG
        omb_number:
          type:
          - string
          - 'null'
          description: The OMB number for the form
          example: 4040-0001
        legacy_form_id:
          type:
          - integer
          - 'null'
          description: The legacy form ID
          example: 123
        form_json_schema:
          type: object
          description: The JSON Schema representation of the form
          example:
            type: object
            title: Test form for testing
            properties:
              Title:
                title: Title
                type: string
                minLength: 1
                maxLength: 60
              Description:
                title: Description for application
                type: string
                minLength: 0
                maxLength: 15
              ApplicationNumber:
                title: Application number
                type: number
                minLength: 1
                maxLength: 120
              Date:
                title: 'Date of application '
                type: string
                format: date
          additionalProperties: {}
        form_ui_schema:
          description: The UI Schema of the form for front-end rendering
          example:
          - type: field
            definition: /properties/Title
          - type: field
            definition: /properties/Description
          - type: field
            definition: /properties/ApplicationNumber
          - type: field
            definition: /properties/Date
        form_instruction:
          description: The instruction file for the form, if available
          type:
          - object
          - 'null'
          anyOf:
          - $ref: '#/components/schemas/FormInstructionSchema'
          - type: 'null'
        form_rule_schema:
          type:
          - object
          - 'null'
          description: The rule schema for the form
          additionalProperties: {}
        json_to_xml_schema:
          type:
          - object
          - 'null'
          description: The JSON to XML schema mapping configuration for the form
          additionalProperties: {}
        form_type:
          description: The type of the form
          example:
          - SF424
          enum:
          - SF424
          - SF424A
          - SF424B
          - SF424D
          - SFLLL
          - ProjectNarrativeAttachment
          - BudgetNarrativeAttachment
          - OtherNarrativeAttachment
          - ProjectAbstractSummary
          - ProjectAbstract
          - CD511
          - SupplementaryNEHCoverSheet
          - GGLobbyingForm
          - EPAForm4700-4
          - EPAKeyContacts
          - AttachmentForm
          - ProjectPerformanceSiteLocation
          type:
          - string
          - '

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hhs/refs/heads/main/openapi/hhs-opportunity-v1-api-openapi.yml