Extracts

Updated 9/17/2025 see our OpenAPI doc for most recent changes.

Core Endpoints

List Extract Metadata

Endpoint: POST /v1/extracts

Retrieve metadata about available data extracts, including file information, creation dates, and download URLs.

Extract Types

The system provides the following types of data extracts:

Available Extract Types

  • opportunities_json: Complete opportunity data in JSON format

  • opportunities_csv: Complete opportunity data in CSV format

Extract Metadata API

Request Parameters

The extract metadata endpoint accepts the following parameters:

Filters

  • extract_type (enum, optional): Filter by specific extract type

    • Values: "opportunities_json", "opportunities_csv"

    • Example: "opportunities_json"

  • created_at (date range, optional): Filter by extract creation date

    {
      "start_date": "2024-01-01",
      "end_date": "2024-12-31"
    }

Pagination (Required)

  • pagination: Controls result pagination and sorting

    Sort Options:

    • created_at: When the extract was created

Code Examples

Response Format

Extract Metadata Response Structure

Extract File Formats

JSON Extract Structure

The opportunities JSON extract contains an array of opportunity objects with complete data:

CSV Extract Structure

The opportunities CSV extract contains the same data as the JSON output in tabular format with the following columns:

  • opportunity_id

  • opportunity_number

  • opportunity_title

  • agency_code

  • agency_name

  • post_date

  • close_date

  • opportunity_status

  • funding_instrument

  • funding_category

  • award_floor

  • award_ceiling

  • estimated_total_program_funding

  • expected_number_of_awards

  • applicant_types (pipe-separated values)

  • summary

  • is_cost_sharing

Error Handling

Common HTTP Status Codes

  • 200 OK: Request successful

  • 400 Bad Request: Invalid request parameters

  • 401 Unauthorized: Missing or invalid API key

  • 403 Forbidden: API key lacks required permissions

  • 404 Not Found: Extract not found

  • 429 Too Many Requests: Rate limit exceeded

  • 500 Internal Server Error: Server error

Error Response Format

Last updated

Was this helpful?