> ## Documentation Index
> Fetch the complete documentation index at: https://docs.northaxiumdata.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Tender Notices

> Search federal tender notices from CanadaBuys.

## Overview

Returns federal tender notices — open and historical solicitations published on CanadaBuys. Use these to monitor active procurement opportunities or research the competitive landscape before a contract is awarded.

For the full procurement lifecycle linking a tender to its award and contract, use the [Procurement Lifecycle](/api-reference/contracts/lifecycle) endpoint. For awarded contracts, use [List Contracts](/api-reference/contracts/list).

Single tender records are available at `GET /api/v1/tenders/{record_id}`.

## Query Parameters

<ParamField query="vendor" type="string">
  Partial match on vendor name. Note: many tender notices will not have a vendor — this field is only present when a specific supplier is named in the notice. Example: `Palantir`.
</ParamField>

<ParamField query="department" type="string">
  Partial match on department name (case-insensitive). Example: `National Defence`.
</ParamField>

<ParamField query="method" type="string">
  Exact match on `procurement_method` field. Example: `Non-competitive`.
</ParamField>

<ParamField query="source" type="string">
  Exact match on `source_dataset` field. Example: `open.canada`.
</ParamField>

<ParamField query="min_value" type="number">
  Minimum estimated value in CAD. Example: `100000`.
</ParamField>

<ParamField query="max_value" type="number">
  Maximum estimated value in CAD. Example: `5000000`.
</ParamField>

<ParamField query="date_from" type="string">
  ISO 8601 start date — e.g. `2023-01-01`. Example: `2023-01-01`.
</ParamField>

<ParamField query="date_to" type="string">
  ISO 8601 end date — e.g. `2023-12-31`. Example: `2023-12-31`.
</ParamField>

<ParamField query="limit" type="integer">
  Results per page. Default: `50`. Max: `200`. Example: `25`.
</ParamField>

<ParamField query="offset" type="integer">
  Result offset for pagination. Default: `0`. Example: `50`.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -H "X-API-Key: your_api_key_here" \
    "https://api.northaxiumdata.ca/api/v1/tenders?department=National%20Defence&limit=10"
  ```

  ```python Python theme={null}
  import requests

  headers = {"X-API-Key": "your_api_key_here"}
  params = {"department": "National Defence", "limit": 10}

  response = requests.get(
      "https://api.northaxiumdata.ca/api/v1/tenders",
      headers=headers,
      params=params
  )
  for tender in response.json()["data"]:
      print(f"{tender['date']} — {tender['department']}: {tender['description']}")
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.northaxiumdata.ca/api/v1/tenders?department=National%20Defence&limit=10",
    { headers: { "X-API-Key": "your_api_key_here" } }
  );
  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "record_id": "tender_abc123",
        "event_type": "tender",
        "vendor": null,
        "department": "National Defence | Défense nationale",
        "value": null,
        "date": "2023-08-01",
        "description": "Supply and delivery of communications equipment",
        "procurement_method": "Competitive",
        "source_dataset": "CanadaBuys Tenders",
        "solicitation_number": "W8476-23ABC",
        "source_url": "https://buyandsell.gc.ca/..."
      }
    ],
    "meta": {
      "total": 97000,
      "limit": 10,
      "offset": 0
    }
  }
  ```

  ```json 401 theme={null}
  {
    "error": {
      "code": "UNAUTHORIZED",
      "message": "Missing API key. Pass your key in the X-API-Key header."
    }
  }
  ```

  ```json 429 theme={null}
  {
    "error": {
      "code": "RATE_LIMITED",
      "message": "Monthly request limit exceeded. Upgrade your plan for higher limits."
    }
  }
  ```
</ResponseExample>
