Documentation menu
Docs / Reference / List all data sources

List all data sources

GET/sources

Parameters

This endpoint takes no parameters.

Request

curl --request GET \
  --url 'https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources' \
  --header 'x-rapidapi-host: procuredata-canadian-government-procurement-api.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'
import requests

url = "https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources"
headers = {"x-rapidapi-host": "procuredata-canadian-government-procurement-api.p.rapidapi.com", "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"}
resp = requests.get(url, headers=headers)
print(resp.json())
const res = await fetch("https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources", {
  headers: {
    "x-rapidapi-host": "procuredata-canadian-government-procurement-api.p.rapidapi.com",
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
  },
});
const data = await res.json();
console.log(data);
<?php
$ch = curl_init("https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "x-rapidapi-host: procuredata-canadian-government-procurement-api.p.rapidapi.com",
    "x-rapidapi-key: YOUR_RAPIDAPI_KEY",
]);
echo curl_exec($ch);
require "net/http"
require "uri"

uri = URI("https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources")
req = Net::HTTP::Get.new(uri)
req["x-rapidapi-host"] = "procuredata-canadian-government-procurement-api.p.rapidapi.com"
req["x-rapidapi-key"] = "YOUR_RAPIDAPI_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources", nil)
    req.Header.Add("x-rapidapi-host", "procuredata-canadian-government-procurement-api.p.rapidapi.com")
    req.Header.Add("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.*;

HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://procuredata-canadian-government-procurement-api.p.rapidapi.com/sources"))
    .header("x-rapidapi-host", "procuredata-canadian-government-procurement-api.p.rapidapi.com")
    .header("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());

Example response

{
  "count": 6,
  "sources": [
    {
      "source_id": "canada_contracts",
      "entity_type": "contract",
      "records": 2100000,
      "last_updated": "2026-04-01T04:08:14+00:00",
      "earliest_date": "2009-01-05",
      "latest_date": "2026-03-28"
    },
    {
      "source_id": "canada_tenders",
      "entity_type": "tender",
      "records": 650000,
      "last_updated": "2026-03-30T02:01:27+00:00",
      "earliest_date": "2009-01-05",
      "latest_date": "2026-03-27"
    },
    {
      "source_id": "seao",
      "entity_type": "tender",
      "records": 140000,
      "last_updated": "2026-04-01T10:00:00+00:00",
      "earliest_date": "2021-03-01",
      "latest_date": "2026-03-29"
    }
  ]
}
Ready to build?Subscribe on RapidAPI to get your key and start calling ProcureData in minutes.
Get your API key →