https://www.brainiac.software/api/v1/space-intelligence/satellite-pass-predict$0.05 USDCPredict satellite passes
Predict approximate satellite passes over caller-supplied observers from TLEs (or optional key-free CelesTrak GP). Uses simplified Keplerian propagation; communicate orbital uncertainty and TLE freshness.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 48,
"minElevationDeg": 5,
"stepMinutes": 1,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
}
],
"observers": [
{
"id": "OBS1",
"name": "Austin",
"latitudeDeg": 30.27,
"longitudeDeg": -97.74,
"altitudeKm": 0.2,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "predicted",
"passCount": 10,
"satelliteCount": 1,
"observerCount": 1,
"horizonHours": 48,
"minElevationDeg": 5,
"items": [
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-05T02:00:00.000Z",
"maxAt": "2026-11-05T02:03:00.000Z",
"endAt": "2026-11-05T02:06:00.000Z",
"durationSec": 360,
"maxElevationDeg": 12.9139,
"startAzimuthDeg": 347.2848,
"maxAzimuthDeg": 296.2249,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-05T03:35:00.000Z",
"maxAt": "2026-11-05T03:39:00.000Z",
"endAt": "2026-11-05T03:44:00.000Z",
"durationSec": 540,
"maxElevationDeg": 37.6255,
"startAzimuthDeg": 62.974,
"maxAzimuthDeg": 135.4374,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-05T05:17:00.000Z",
"maxAt": "2026-11-05T05:17:00.000Z",
"endAt": "2026-11-05T05:18:00.000Z",
"durationSec": 60,
"maxElevationDeg": 5.0303,
"startAzimuthDeg": 159.5302,
"maxAzimuthDeg": 159.5302,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-05T10:09:00.000Z",
"maxAt": "2026-11-05T10:12:00.000Z",
"endAt": "2026-11-05T10:16:00.000Z",
"durationSec": 420,
"maxElevationDeg": 14.4754,
"startAzimuthDeg": 164.3961,
"maxAzimuthDeg": 209.5259,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-05T11:46:00.000Z",
"maxAt": "2026-11-05T11:49:00.000Z",
"endAt": "2026-11-05T11:54:00.000Z",
"durationSec": 480,
"maxElevationDeg": 45.022,
"startAzimuthDeg": 123.5105,
"maxAzimuthDeg": 64.6772,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-06T02:48:00.000Z",
"maxAt": "2026-11-06T02:52:00.000Z",
"endAt": "2026-11-06T02:56:00.000Z",
"durationSec": 480,
"maxElevationDeg": 54.0442,
"startAzimuthDeg": 32.8965,
"maxAzimuthDeg": 278.0121,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-06T04:26:00.000Z",
"maxAt": "2026-11-06T04:29:00.000Z",
"endAt": "2026-11-06T04:32:00.000Z",
"durationSec": 360,
"maxElevationDeg": 12.213,
"startAzimuthDeg": 103.7579,
"maxAzimuthDeg": 152.2587,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-06T09:23:00.000Z",
"maxAt": "2026-11-06T09:24:00.000Z",
"endAt": "2026-11-06T09:26:00.000Z",
"durationSec": 180,
"maxElevationDeg": 6.161,
"startAzimuthDeg": 188.0972,
"maxAzimuthDeg": 201.8341,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-06T10:58:00.000Z",
"maxAt": "2026-11-06T11:02:00.000Z",
"endAt": "2026-11-06T11:07:00.000Z",
"durationSec": 540,
"maxElevationDeg": 46.9384,
"startAzimuthDeg": 145.1882,
"maxAzimuthDeg": 232.6455,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"satellite": "ISS (ZARYA)",
"noradId": "25544",
"observerId": "OBS1",
"observerName": "Austin",
"startAt": "2026-11-06T12:36:00.000Z",
"maxAt": "2026-11-06T12:38:00.000Z",
"endAt": "2026-11-06T12:42:00.000Z",
"durationSec": 360,
"maxElevationDeg": 10.7379,
"startAzimuthDeg": 90.9712,
"maxAzimuthDeg": 60.835,
"tleEpoch": "2026-11-04T08:52:07.404Z",
"tleEpochAgeHours": 12.1313,
"uncertaintyNote": "Approximate Keplerian pass; not SGP4-validated.",
"source": "Caller-supplied CelesTrak snapshot"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-pass-predict" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 48,
"minElevationDeg": 5,
"stepMinutes": 1,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
}
],
"observers": [
{
"id": "OBS1",
"name": "Austin",
"latitudeDeg": 30.27,
"longitudeDeg": -97.74,
"altitudeKm": 0.2,
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-orbit-change-detect$0.04 USDCDetect satellite orbit changes
Compare before/after TLE mean elements for inclination, RAAN, mean motion, and apogee/perigee deltas. Maneuver confirmation is not claimed.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"tles": [
{
"name": "ISS (ZARYA)",
"side": "before",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"name": "ISS (ZARYA)",
"side": "after",
"line1": "1 25544U 98067A 26309.36953014 .00005228 00000+0 10236-3 0 9992",
"line2": "2 25544 51.7000 327.0000 0007200 350.0000 20.0000 15.50000000593484",
"source": "Caller-supplied CelesTrak snapshot"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"pairCount": 1,
"changeCount": 1,
"items": [
{
"noradId": "25544",
"name": "ISS (ZARYA)",
"changed": true,
"deltaInclinationDeg": 0.0671,
"deltaRaanDeg": 0.6013,
"deltaMeanMotionRevPerDay": 0.0083,
"deltaPeriodMin": -0.0495,
"deltaApogeeKm": -2.4073,
"deltaPerigeeKm": -2.4229,
"beforeEpoch": "2026-11-04T08:52:07.404Z",
"afterEpoch": "2026-11-05T08:52:07.404Z",
"beforeEpochAgeHours": 12.1313,
"afterEpochAgeHours": -11.8687,
"uncertaintyNote": "Change flags use mean-element deltas only; they are not maneuver confirmation.",
"source": "Caller-supplied CelesTrak snapshot; Caller-supplied CelesTrak snapshot"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [
{
"kind": "observation",
"code": "orbit_change",
"subject": "25544",
"detail": "Mean-element differences exceed local detection thresholds."
}
],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-orbit-change-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"tles": [
{
"name": "ISS (ZARYA)",
"side": "before",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"name": "ISS (ZARYA)",
"side": "after",
"line1": "1 25544U 98067A 26309.36953014 .00005228 00000+0 10236-3 0 9992",
"line2": "2 25544 51.7000 327.0000 0007200 350.0000 20.0000 15.50000000593484",
"source": "Caller-supplied CelesTrak snapshot"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-conjunction-screen$0.05 USDCScreen satellite conjunctions
Screen approximate miss distances between caller-supplied TLEs over a horizon. Not a covariance-based conjunction assessment.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 6,
"stepMinutes": 5,
"conjunctionThresholdKm": 5000,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"name": "CSS (TIANHE)",
"line1": "1 48274U 210035A 26308.30000000 .00010000 00000+0 15000-3 0 9990",
"line2": "2 48274 41.4700 120.0000 0008000 80.0000 280.0000 15.60000000000000",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "screened",
"pairCount": 1,
"screenedCount": 1,
"items": [
{
"primaryNoradId": "25544",
"primaryName": "ISS (ZARYA)",
"secondaryNoradId": "48274",
"secondaryName": "CSS (TIANHE)",
"closestApproachAt": "2026-11-04T21:05:00.000Z",
"missDistanceKm": 3962.2789,
"thresholdKm": 5000,
"screened": true,
"primaryEpochAgeHours": 12.1313,
"secondaryEpochAgeHours": 66397.8,
"uncertaintyNote": "Miss distance is approximate Keplerian geometry, not a covariance-based conjunction assessment.",
"source": "Caller-supplied CelesTrak snapshot; Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [
{
"kind": "conflict",
"code": "conjunction_candidate",
"subject": "25544-48274",
"detail": "Approximate miss distance 3962.2789 km is within the 5000 km screen threshold."
}
],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-conjunction-screen" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 6,
"stepMinutes": 5,
"conjunctionThresholdKm": 5000,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
},
{
"name": "CSS (TIANHE)",
"line1": "1 48274U 210035A 26308.30000000 .00010000 00000+0 15000-3 0 9990",
"line2": "2 48274 41.4700 120.0000 0008000 80.0000 280.0000 15.60000000000000",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/earth-observation-change-detect$0.04 USDCDetect earth-observation changes
Compare before/after caller-supplied EO scene metadata (NDVI, brightness, cloud cover). Commercial imagery pixels are not downloaded.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "B",
"sceneId": "AOI1",
"side": "before",
"ndvi": 0.4,
"brightness": 100,
"cloudCoverPct": 5,
"capturedAt": "2026-10-01",
"source": "Caller-supplied"
},
{
"id": "A",
"sceneId": "AOI1",
"side": "after",
"ndvi": 0.55,
"brightness": 110,
"cloudCoverPct": 8,
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"pairCount": 1,
"changeCount": 1,
"items": [
{
"sceneKey": "AOI1",
"beforeId": "B",
"afterId": "A",
"beforeCapturedAt": "2026-10-01",
"afterCapturedAt": "2026-11-01",
"deltaCloudCoverPct": 3,
"deltaCloudCoverPctSupplied": true,
"deltaNdvi": 0.15,
"deltaNdviSupplied": true,
"deltaBrightness": 10,
"deltaBrightnessSupplied": true,
"changed": true,
"commercialImageryUsed": false,
"source": "Caller-supplied; Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/earth-observation-change-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "B",
"sceneId": "AOI1",
"side": "before",
"ndvi": 0.4,
"brightness": 100,
"cloudCoverPct": 5,
"capturedAt": "2026-10-01",
"source": "Caller-supplied"
},
{
"id": "A",
"sceneId": "AOI1",
"side": "after",
"ndvi": 0.55,
"brightness": 110,
"cloudCoverPct": 8,
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-imagery-cloud-assess$0.03 USDCAssess satellite imagery cloud cover
Classify caller-supplied cloud-cover percentages for EO scenes. Commercial imagery archives are not queried.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"satellite": "Sentinel-2",
"cloudCoverPct": 12,
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "assessed",
"sceneCount": 1,
"usableCount": 1,
"items": [
{
"id": "I1",
"sceneId": "AOI1",
"satellite": "Sentinel-2",
"capturedAt": "2026-11-01",
"cloudCoverPct": 12,
"cloudCoverPctSupplied": true,
"assessment": "mostly_clear",
"usableForAnalysis": true,
"commercialImageryUsed": false,
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-imagery-cloud-assess" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"satellite": "Sentinel-2",
"cloudCoverPct": 12,
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-image-quality-check$0.03 USDCCheck satellite image quality
Score caller-supplied sharpness, SNR, resolution, and cloud metrics for EO scenes. Missing metrics are not invented.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"sharpness": 0.8,
"snr": 30,
"resolutionM": 10,
"cloudCoverPct": 5,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "checked",
"sceneCount": 1,
"passCount": 1,
"items": [
{
"id": "I1",
"sceneId": "AOI1",
"satellite": "",
"capturedAt": "",
"sharpness": 0.8,
"sharpnessSupplied": true,
"snr": 30,
"snrSupplied": true,
"resolutionM": 10,
"resolutionSupplied": true,
"qualityScore": 0.8333,
"qualityScoreSupplied": true,
"flags": [],
"pass": true,
"commercialImageryUsed": false,
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-image-quality-check" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"sharpness": 0.8,
"snr": 30,
"resolutionM": 10,
"cloudCoverPct": 5,
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-data-license-metadata$0.03 USDCExtract satellite data license metadata
Extract and classify caller-supplied imagery license, attribution, and license URL fields. Legal advice is not provided.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"license": "CC-BY-4.0",
"attribution": "ESA",
"licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "extracted",
"sceneCount": 1,
"openCount": 1,
"items": [
{
"id": "I1",
"sceneId": "AOI1",
"satellite": "",
"capturedAt": "",
"license": "CC-BY-4.0",
"licenseSupplied": true,
"attribution": "ESA",
"licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
"openness": "open",
"licenseKey": "cc-by-4.0",
"commercialImageryUsed": false,
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-data-license-metadata" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"images": [
{
"id": "I1",
"sceneId": "AOI1",
"license": "CC-BY-4.0",
"attribution": "ESA",
"licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/launch-window-weather-analyze$0.04 USDCAnalyze launch-window weather
Analyze caller-supplied weather samples or optional key-free Open-Meteo hourly forecasts against simple go/no-go thresholds.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"weather": [
{
"id": "W1",
"at": "2026-11-04T21:00:00.000Z",
"latitudeDeg": 28.57,
"longitudeDeg": -80.65,
"cloudCoverPct": 20,
"windSpeedMs": 5,
"precipitationMm": 0,
"visibilityKm": 20,
"thunderRisk": false,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "analyzed",
"sampleCount": 1,
"goCount": 1,
"items": [
{
"id": "W1",
"at": "2026-11-04T21:00:00.000Z",
"latitudeDeg": 28.57,
"longitudeDeg": -80.65,
"cloudCoverPct": 20,
"cloudCoverPctSupplied": true,
"windSpeedMs": 5,
"windSpeedMsSupplied": true,
"precipitationMm": 0,
"precipitationMmSupplied": true,
"visibilityKm": 20,
"visibilityKmSupplied": true,
"thunderRisk": false,
"thunderRiskSupplied": true,
"goNoGo": "go",
"blockReasons": [],
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/launch-window-weather-analyze" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"weather": [
{
"id": "W1",
"at": "2026-11-04T21:00:00.000Z",
"latitudeDeg": 28.57,
"longitudeDeg": -80.65,
"cloudCoverPct": 20,
"windSpeedMs": 5,
"precipitationMm": 0,
"visibilityKm": 20,
"thunderRisk": false,
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/object-catalog-compare$0.04 USDCCompare space-object catalogs
Compare left/right caller-supplied space-object catalog rows by NORAD ID/name and optional element fields.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"catalogObjects": [
{
"id": "1",
"noradId": "25544",
"name": "ISS",
"side": "left",
"inclinationDeg": 51.6,
"periodMin": 92.9,
"source": "Caller-supplied"
},
{
"id": "2",
"noradId": "25544",
"name": "ISS",
"side": "right",
"inclinationDeg": 51.63,
"periodMin": 92.8,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"objectCount": 1,
"matchedCount": 1,
"items": [
{
"key": "25544",
"name": "ISS",
"noradId": "25544",
"match": true,
"onlyIn": "both",
"deltaInclinationDeg": 0.03,
"deltaInclinationDegSupplied": true,
"deltaPeriodMin": -0.1,
"deltaPeriodMinSupplied": true,
"leftSource": "Caller-supplied",
"rightSource": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/object-catalog-compare" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"catalogObjects": [
{
"id": "1",
"noradId": "25544",
"name": "ISS",
"side": "left",
"inclinationDeg": 51.6,
"periodMin": 92.9,
"source": "Caller-supplied"
},
{
"id": "2",
"noradId": "25544",
"name": "ISS",
"side": "right",
"inclinationDeg": 51.63,
"periodMin": 92.8,
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/space-intelligence/satellite-observation-evidence-report$0.08 USDCBuild satellite observation evidence report
Aggregate passes, orbit changes, conjunctions, EO change, cloud/quality/license checks, launch weather, and catalog comparison with orbital uncertainty and TLE freshness notes.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
tles | No | array; Array |
observers | No | array; Array |
images | No | array; Array |
weather | No | array; Array |
catalogObjects | No | array; Array |
celestrak | No | object; Object |
openMeteo | No | object; Object |
asOf | No | string |
horizonHours | No | number |
minElevationDeg | No | number |
stepMinutes | No | number |
conjunctionThresholdKm | No | number |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 24,
"minElevationDeg": 5,
"stepMinutes": 2,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
}
],
"observers": [
{
"id": "OBS1",
"name": "Austin",
"latitudeDeg": 30.27,
"longitudeDeg": -97.74,
"altitudeKm": 0.2,
"source": "Caller-supplied"
}
],
"images": [
{
"id": "B",
"sceneId": "AOI1",
"side": "before",
"ndvi": 0.4,
"brightness": 100,
"cloudCoverPct": 5,
"sharpness": 0.8,
"snr": 30,
"resolutionM": 10,
"license": "CC-BY-4.0",
"attribution": "ESA",
"capturedAt": "2026-10-01",
"source": "Caller-supplied"
},
{
"id": "A",
"sceneId": "AOI1",
"side": "after",
"ndvi": 0.55,
"brightness": 110,
"cloudCoverPct": 8,
"sharpness": 0.75,
"snr": 28,
"resolutionM": 10,
"license": "CC-BY-4.0",
"attribution": "ESA",
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
],
"weather": [
{
"id": "W1",
"at": "2026-11-04T21:00:00.000Z",
"latitudeDeg": 28.57,
"longitudeDeg": -80.65,
"cloudCoverPct": 20,
"windSpeedMs": 5,
"precipitationMm": 0,
"visibilityKm": 20,
"thunderRisk": false,
"source": "Caller-supplied"
}
],
"catalogObjects": [
{
"id": "1",
"noradId": "25544",
"name": "ISS",
"side": "left",
"inclinationDeg": 51.6,
"periodMin": 92.9,
"source": "Caller-supplied"
},
{
"id": "2",
"noradId": "25544",
"name": "ISS",
"side": "right",
"inclinationDeg": 51.63,
"periodMin": 92.8,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "reported",
"asOf": "2026-11-04T21:00:00.000Z",
"sections": {
"passes": {
"passCount": 4,
"satelliteCount": 1
},
"orbitChanges": {
"pairCount": 0,
"changeCount": 0
},
"conjunctions": {
"pairCount": 0,
"screenedCount": 0
},
"earthObservation": {
"pairCount": 1,
"changeCount": 1
},
"cloudAssess": {
"sceneCount": 2,
"usableCount": 2
},
"imageQuality": {
"sceneCount": 2,
"passCount": 2
},
"licenses": {
"sceneCount": 2,
"openCount": 2
},
"launchWeather": {
"sampleCount": 1,
"goCount": 1
},
"catalog": {
"objectCount": 1,
"matchedCount": 1
}
},
"dataFreshness": {
"tleCount": 1,
"oldestTleEpochAgeHours": 12.1313,
"newestTleEpochAgeHours": 12.1313,
"freshnessNote": "TLE epoch ages are hours since element epoch at asOf."
},
"paidProviderUsed": false,
"apiKeyRequired": false,
"commercialImageryUsed": false,
"paidOrbitalApiUsed": false,
"celestrakFetched": false,
"openMeteoFetched": false,
"orbitalModel": "simplified-keplerian-from-tle-mean-elements",
"orbitalUncertaintyNote": "Positions and pass times are approximate. Simplified Keplerian propagation from TLE mean elements omits drag and perturbation modeling used by SGP4. Uncertainty grows with element age.",
"findings": [
{
"kind": "missing",
"code": "orbit_pair",
"subject": "25544",
"detail": "Both before and after TLEs are required to detect orbit change."
},
{
"kind": "missing",
"code": "conjunction_objects",
"subject": "",
"detail": "At least two TLEs are required for conjunction screening."
}
],
"limitations": [
"Orbital elements, observers, imagery metadata, weather rows, and catalog objects are copied only from labeled fields supplied by the caller, or from key-free CelesTrak GP / Open-Meteo responses when explicitly requested.",
"No commercial satellite imagery provider or paid orbital API is used and no API key is required.",
"Pass and conjunction geometry use a simplified Keplerian propagator from TLE mean elements, not full SGP4/SDP4. Treat timing and miss-distance values as approximate and communicate residual orbital uncertainty.",
"TLE freshness is reported from the element epoch when parseable. Stale elements increase positional uncertainty.",
"Earth-observation change, cloud, quality, and license results use only caller-supplied image metadata/statistics. Pixels are not downloaded from commercial archives."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/space-intelligence/satellite-observation-evidence-report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"horizonHours": 24,
"minElevationDeg": 5,
"stepMinutes": 2,
"tles": [
{
"name": "ISS (ZARYA)",
"line1": "1 25544U 98067A 26308.36953014 .00005228 00000+0 10236-3 0 9991",
"line2": "2 25544 51.6329 326.3987 0007186 346.7494 13.3304 15.49173979593483",
"source": "Caller-supplied CelesTrak snapshot"
}
],
"observers": [
{
"id": "OBS1",
"name": "Austin",
"latitudeDeg": 30.27,
"longitudeDeg": -97.74,
"altitudeKm": 0.2,
"source": "Caller-supplied"
}
],
"images": [
{
"id": "B",
"sceneId": "AOI1",
"side": "before",
"ndvi": 0.4,
"brightness": 100,
"cloudCoverPct": 5,
"sharpness": 0.8,
"snr": 30,
"resolutionM": 10,
"license": "CC-BY-4.0",
"attribution": "ESA",
"capturedAt": "2026-10-01",
"source": "Caller-supplied"
},
{
"id": "A",
"sceneId": "AOI1",
"side": "after",
"ndvi": 0.55,
"brightness": 110,
"cloudCoverPct": 8,
"sharpness": 0.75,
"snr": 28,
"resolutionM": 10,
"license": "CC-BY-4.0",
"attribution": "ESA",
"capturedAt": "2026-11-01",
"source": "Caller-supplied"
}
],
"weather": [
{
"id": "W1",
"at": "2026-11-04T21:00:00.000Z",
"latitudeDeg": 28.57,
"longitudeDeg": -80.65,
"cloudCoverPct": 20,
"windSpeedMs": 5,
"precipitationMm": 0,
"visibilityKm": 20,
"thunderRisk": false,
"source": "Caller-supplied"
}
],
"catalogObjects": [
{
"id": "1",
"noradId": "25544",
"name": "ISS",
"side": "left",
"inclinationDeg": 51.6,
"periodMin": 92.9,
"source": "Caller-supplied"
},
{
"id": "2",
"noradId": "25544",
"name": "ISS",
"side": "right",
"inclinationDeg": 51.63,
"periodMin": 92.8,
"source": "Caller-supplied"
}
]
}
JSON