GET https://contrails.googleapis.com/v2/detections: Get contrail detections
in GeoJSON LineString format.
If successful, the response will be a FeatureCollection in GeoJSON format.
Returned coordinates are the longitude and latitude of the endpoints of the linearized detection, projected onto the earth's surface from the satellite's perspective. For GOES detections, returned coordinates also optionally include speculated altitude values.
Querying detections with a time range that is out of scope, like a specified
time that is in the future, returns an empty FeatureCollection.
Query parameters
| Parameters | |
|---|---|
start_time |
Required. Start time of request. Format: ISO 8601 datetime string Example: |
end_time |
Required. End time of request (inclusive). Note that Format: ISO 8601 datetime string Example: |
satellite_origins[] |
Optional. Valid values are When present, this endpoint will only return detected contrails from satellites specified within When not present, returns detected contrails from all applicable satellite data providers. Format: string array Example: |
bounds[] |
Optional. A list of string pairs, each of which must be in a "latitude,longitude" format, specifying the vertices for a bounding polygon. If present, at least three When present, this endpoint will only return detected contrails that intersect with any portion of the bounding polygon. When not present, returns detected contrails regardless of location. Format: string array Example: |
Examples
To retrieve all contrail detections for a specific window of time:
response = requests.get( url="https://contrails.googleapis.com/v2/detections", params={"start_time": "2026-01-27T12:00:00Z", "end_time": "2026-01-27T12:10:00Z"}, headers={"x-goog-api-key": API_KEY}, )To retrieve all contrail detections for a specific window of time, limited by bounding polygon:
response = requests.get( url="https://contrails.googleapis.com/v2/detections", params={"start_time": "2026-01-27T12:00:00Z", "end_time": "2026-01-27T12:10:00Z", "bounds": ["37.7,-122.41", "37.78,-122.42", "37.79, -122.43"]}, headers={"x-goog-api-key": API_KEY}, )To retrieve contrail detections for a specific window of time, limited to Himawari detections:
response = requests.get( url="https://contrails.googleapis.com/v2/detections", params={"start_time": "2026-01-27T12:00:00Z", "end_time": "2026-01-27T12:10:00Z", "satellite_origins": ["HIMAWARI-FULL-DISK"]}, headers={"x-goog-api-key": API_KEY}, )or in CURL:
curl "https://contrails.sandbox.googleapis.com/v2/detections?\ key=API_KEY&\ start_time=2026-01-27T12:00:00Z&\ end_time=2026-01-27T12:10:00Z&\ satellite_origins=HIMAWARI-FULL-DISK"The GeoJSON response for this request lists contrail detection data from Himawari satellites for the requested time range:
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [ 90.06765747070312, 44.201324462890625 ], [ 90.99974060058594, 43.65225601196289 ] ] }, "properties": { "time": "2026-01-27T12:00:00+00:00", "satellite_origin": "HIMAWARI-FULL-DISK" } }, { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [ 105.36386108398438, -1.7198446989059448 ], [ 105.7318115234375, -2.5787696838378906 ] ] }, "properties": { "time": "2026-01-27T12:10:00+00:00", "satellite_origin": "HIMAWARI-FULL-DISK" } } ] }