Download an image
When can I download an image?
You can download an image (deliverable) when your order's reason_code is fulfilled or partially_fulfilled. This means Wyvern has collected imagery for your Area of Interest (AOI) and made it available for download.
Deliverable links
You can find the deliverable links by querying your order using the Retrieve an order endpoint. The deliverable link will appear in the links array of the order response with "rel": "deliverable", for example:
{
"id": "00000000-0000-0000-0000-000000000000",
"product_id": "f7311e41-b598-456f-8fe3-409372114e15",
"datetime": "2025-06-01T00:00:00+00:00/2025-07-02T00:00:00+00:00",
"links": [
{
"href": "https://api.sandbox.wyvern.space/1.0/tasking/deliverables/00000000-0000-0000-0000-000000000001/",
"rel": "deliverable",
"type": "application/zip",
"title": null
}
]
}
Check your order's links array for available deliverables. There may be multiple deliverable links per order.
How do I download an image?
- Use the deliverable id to call the Download a deliverable endpoint. The deliverable id is not the same as the order id. The deliverable id is the id at the end of the order's deliverable link.
- The response will be a
.zipfile containing your data product.
What do I get when I download an image?
- The download is a
.zipfile containing your imagery and metadata. - For more details on the structure and contents of the download, see the Product Delivery documentation.
How do I download a test order?
You can try downloading a deliverable from a test order in the sandbox environment. Orders and deliverables in the sandbox are for testing and development only.
- The order with
id00000000-0000-0000-0000-000000000000is a test order withstatuscompletedandreason_codefulfilled. It has a deliverable link. - Use the deliverable
id00000000-0000-0000-0000-000000000001to call the Download a deliverable endpoint in the sandbox environment. Note the orderidand deliverableidare not the same. - The response will be a
.zipfile with a clipped image from our Open Data Program.
The following code samples can be used to download our example deliverable for testing purposes.
To do this, replace [token] with your valid bearer token and [desired_file_name] with the name
you want to save the file as, then run the script.
- curl
- python
curl 'https://api.sandbox.wyvern.space/1.0/tasking/deliverables/00000000-0000-0000-0000-000000000001/' \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate, br' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'authorization: Bearer [token]' \
-o [desired_file_name].zip
import requests
image_file = "[desired_file_name].zip"
headers = {
"Authorization": "Bearer [token]",
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
}
try:
with requests.get(
url="https://api.sandbox.wyvern.space/1.0/tasking/deliverables/00000000-0000-0000-0000-000000000001/",
headers=headers,
stream=True,
) as r:
r.raise_for_status()
print("Downloading file...")
with open(image_file, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
total_length = int(r.headers.get("content-length"))
print(f"File saved as: {image_file} (total bytes: {total_length})")
except requests.exceptions.RequestException as e:
print(e)
finally:
print("Script execution finished.")
Notes
- Download links are only available for completed or partially fulfilled orders.
- Large files are streamed to your client; ensure your client can handle large downloads.
- If you have issues downloading, check your authentication and order status, or contact Wyvern support.