API References

Our API reference documentation is organised in a service-by-service way as follows:

  • ID API documents a collection of APIs for managing a user client, secrets, and wallet.
  • Policy API enables retrieving information about your contracts.
  • Catalog API organises endpoints to perform a catalog search following the STAC specification.
  • Orders API is an endpoint collection for creating, retrieving, and listing catalog data orders. It also provides access to the ordered data.
  • Tasking API focuses on the satellite tasking flow, including the feasibility endpoint collection, tasking ordering, retrieving and listing order information, as well as retrieving ordered tasking data.
  • Thermal Statistics API provides an interface to access thermal data statistics of images available in the catalog.

Wildfire - Northwest Territories, Canada
Wildfire - Northwest Territories, Canada

API Authentication

To use the SatVu API, you must send an access token in an Authorization header with each request.

To get the token, you first need to retrieve the Client ID and Client Secret values from your user profile in the web application.

SatVu web application - profile page.
SatVu web application - profile page.

Once you have them, you can generate an access token, with the required parameters shown here:

export CLIENT_ID=xxx
export CLIENT_SECRET=xxx
curl -X POST https://auth.satellitevu.com/oauth/token 
-H "Content-Type: application/x-www-form-urlencoded" 
-d "grant_type=client_credentials" 
-d "audience=https://api.satellitevu.com/" 
-u '${CLIENT_ID}:${CLIENT_SECRET}'

Using the token

Once you have an access token, you must provide it for every API request. Here is an example of creating a feasibility request:

export CONTRACT_ID="xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx"
export ACCESS_TOKEN="xxx…xxx"
curl -X POST "https://api.satellitevu.com/otm/v2/${CONTRACT_ID}/tasking/feasibilities/" 
-H "Authorization: Bearer ${ACCESS_TOKEN}" 
-H "Content-Type: application/json" 
-d '{
  "type": "Feature",
  "geometry": {
    "coordinates": [
      -2.7783632,
      53.3240764
    ],
    "type": "Point"
  },
  "properties": {
    "datetime": "2023-11-01T00:00:00/2023-12-31T23:59:59",
    "satvu:day_night_mode": "day",
    "max_cloud_cover": 100,
    "min_off_nadir": 0,
    "max_off_nadir": 45
  }
}'

List contracts

You must specify the contract while accessing SatVu product offerings like tasking or catalog. We describe the concept of contracts in Accessing SatVu platform page. In order to retrieve the contract information using the API, we will use the policy service. The key difference of the policy service is that you need to provide the token in the request body.

Here is an example request:

curl -X POST "https://api.satellitevu.com/policy/v1/contracts/" 
-H "Content-Type: application/json" 
-d "{
  "token": "${ACCESS_TOKEN}"
}"

The example response is the following:

[
  {
    "active": true,
    "addons": [...],
    "allowed_geographical_area": {...},
    "contract_id": "375158d5-a768-44e3-9506-0f6af8833d16",
    "end_date": "2025-12-31",
    "geographical_summary": "...",
    "name": "Your contract name",
    "products": [
      {
        "code": "STANDARD_SCENE",
        "currency": "GBP"
      }
    ],
    "start_date": "2023-11-01"
  }
]

From this response, you will need to use the contract_id value in your following requests.