Ephemeris API

Retrieve satellite ephemeris by name with JD time step

GET /name-jdstep/

Retrieve ephemeris over a JD range at a specified time step

Query Parameters:
  • name – (required) – Name of satellite as displayed in CelesTrak TLE files

  • latitude – (required) – Observer Latitude (North is positive) (decimal deg)

  • longitude – (required) – Observer Longitude (East is positive) (decimal deg)

  • elevation – (required) – Observer Elevation above WGS84 ellipsoid in meters (m)

  • startjd – (required) – UT1 Julian Start Date

  • stopjd – (required) – UT1 Julian End Date (not included)

  • stepjd – (optional) – UT1 time step in Julian Days for ephemeris generation. Default is .05 (1.2 hours).

  • min_altitude – (optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

  • max_altitude – (optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

  • data_source – (optional) – Data source for the TLE data - either ‘celestrak’ or ‘spacetrack’. Default is ‘spacetrack’.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/name-jdstep/'
params = {'name': 'STARLINK-1600',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'startjd': 2460000.1,
                'stopjd': 2460000.3,
                'stepjd': 0.1,
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/name-jdstep/?name=STARLINK-1600&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.1&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/name-jdstep/?name=STARLINK-1600&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.1&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
        "ALTITUDE-DEG": -9.80971257652,
        "AZIMUTH-DEG": 55.15478730961,
        "CATALOG_ID": 46161,
        "DATA_SOURCE": "spacetrack",
        "DDEC-DEG_PER_SEC": -0.05070574412,
        "DECLINATION-DEG": 18.61796683006,
        "DRA_COSDEC-DEG_PER_SEC": 0.01019243518,
        "ILLUMINATED": true,
        "JULIAN_DATE": 2460000.1,
        "NAME": "STARLINK-1600",
        "OBSERVER_GCRS_KM": [
        1000.044906440929,
        -4783.283201527772,
        4085.459180326725
        ],
        "PHASE_ANGLE-DEG": 109.24612785799,
        "RANGE-KM": 4095.040926172063,
        "RANGE_RATE-KM_PER_SEC": 6.284422469172,
        "RIGHT_ASCENSION-DEG": 43.04367601256,
        "SATELLITE_GCRS_KM": [
        2836.175695292651,
        2648.8215197690492,
        1307.3684135941762
        ],
        "TLE-DATE": "2024-02-05 16:12:42"
    },
    {
        "ALTITUDE-DEG": -83.13771686839,
        "AZIMUTH-DEG": 208.61161584252,
        "CATALOG_ID": 46161,
        "DATA_SOURCE": "spacetrack",
        "DDEC-DEG_PER_SEC": 0.00663582343,
        "DECLINATION-DEG": -45.94348488944,
        "DRA_COSDEC-DEG_PER_SEC": 0.03354248225,
        "ILLUMINATED": true,
        "JULIAN_DATE": 2460000.2,
        "NAME": "STARLINK-1600",
        "OBSERVER_GCRS_KM": [
        3628.0577317280786,
        -3281.0604185873253,
        4079.547075333211
        ],
        "PHASE_ANGLE-DEG": 56.98343683301,
        "RANGE-KM": 13245.443279043235,
        "RANGE_RATE-KM_PER_SEC": -0.265606961091,
        "RIGHT_ASCENSION-DEG": 142.61268227652,
        "SATELLITE_GCRS_KM": [
        -7318.155592415026,
        5592.586129513591,
        -9518.894198777909
        ],
        "TLE-DATE": "2024-02-05 16:12:42"
    }
]

Retrieve satellite ephemeris by name

GET /name/

Retrieve ephemeris for specified satellite

Query Parameters:
  • name – (required) – Name of satellite as displayed in CelesTrak TLE files

  • latitude – (required) – Observer Latitude (North is positive) (decimal deg)

  • longitude – (required) – Observer Longitude (East is positive) (decimal deg)

  • elevation – (required) – Observer Elevation above WGS84 ellipsoid in meters (m)

  • julian_date – (required) – UT1 Universal Time Julian Date. An input of 0 will use the TLE epoch.

  • min_altitude – (optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

  • max_altitude – (optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

  • data_source – (optional) – Data source for the TLE data - either ‘celestrak’ or ‘spacetrack’. Default is ‘spacetrack’.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/name/'
params = {'name': 'STARLINK-1600',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'julian_date': 2460000.1,
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/name/?name=STARLINK-1600&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/name/?name=STARLINK-1600&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
    "ALTITUDE-DEG": -9.80971257652,
    "AZIMUTH-DEG": 55.15478730961,
    "CATALOG_ID": 46161,
    "DATA_SOURCE": "spacetrack",
    "DDEC-DEG_PER_SEC": -0.05070574412,
    "DECLINATION-DEG": 18.61796683006,
    "DRA_COSDEC-DEG_PER_SEC": 0.01019243518,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.1,
    "NAME": "STARLINK-1600",
    "OBSERVER_GCRS_KM": [
    1000.044906440929,
    -4783.283201527772,
    4085.459180326725
    ],
    "PHASE_ANGLE-DEG": 109.24612785799,
    "RANGE-KM": 4095.040926172063,
    "RANGE_RATE-KM_PER_SEC": 6.284422469172,
    "RIGHT_ASCENSION-DEG": 43.04367601256,
    "SATELLITE_GCRS_KM": [
    2836.175695292651,
    2648.8215197690492,
    1307.3684135941762
    ],
    "TLE-DATE": "2024-02-05 16:12:42"
    }
]

Retrieve satellite ephemeris by catalog number with JD time step

GET /catalog-number-jdstep/

Retrieve ephemeris for specified satellite

Query Parameters:
  • catalog – (required) – Satellite catalog number (NORAD ID)

  • latitude – (required) – Observer Latitude (North is positive) (decimal deg)

  • longitude – (required) – Observer Longitude (East is positive) (decimal deg)

  • elevation – (required) – Observer Elevation above WGS84 ellipsoid in meters (m)

  • startjd – (required) – UT1 Julian Start Date

  • stopjd – (required) – UT1 Julian End Date (not included)

  • stepjd – (optional) – UT1 time step in Julian Days for ephemeris generation. Default is .05 (1.2 hours).

  • min_altitude – (optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

  • max_altitude – (optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

  • data_source – (optional) – Data source for the TLE data - either ‘celestrak’ or ‘spacetrack’. Default is ‘spacetrack’.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number-jdstep/'
params = {'catalog': '25544',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'startjd': 2460000.1,
                'stopjd': 2460000.3,
                'stepjd': 0.1,
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number-jdstep/?catalog=25544&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.1&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number-jdstep/?catalog=25544&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.1&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
    "ALTITUDE-DEG": -38.53633089073,
    "AZIMUTH-DEG": 118.05686288053,
    "CATALOG_ID": 25544,
    "DATA_SOURCE": "spacetrack",
    "DDEC-DEG_PER_SEC": -0.0182556905,
    "DECLINATION-DEG": -43.1707018844,
    "DRA_COSDEC-DEG_PER_SEC": 0.03127755027,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.1,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    1000.044906440929,
    -4783.283201527772,
    4085.459180326725
    ],
    "PHASE_ANGLE-DEG": 122.63076525818,
    "RANGE-KM": 8616.09765998085,
    "RANGE_RATE-KM_PER_SEC": 5.327592257625,
    "RIGHT_ASCENSION-DEG": 30.89434330729,
    "SATELLITE_GCRS_KM": [
    5392.295524240439,
    3226.4992801338067,
    -5894.912235214352
    ],
    "TLE-DATE": "2024-02-05 16:12:40"
    },
    {
    "ALTITUDE-DEG": -50.46812397947,
    "AZIMUTH-DEG": 324.71176684274,
    "CATALOG_ID": 25544,
    "DATA_SOURCE": "spacetrack",
    "DDEC-DEG_PER_SEC": 0.02490119298,
    "DECLINATION-DEG": -5.59399390423,
    "DRA_COSDEC-DEG_PER_SEC": 0.02567883796,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.2,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    3628.0577317280786,
    -3281.0604185873253,
    4079.547075333211
    ],
    "PHASE_ANGLE-DEG": 15.24978839577,
    "RANGE-KM": 10411.732621192474,
    "RANGE_RATE-KM_PER_SEC": -4.272868987599,
    "RIGHT_ASCENSION-DEG": 159.49416406581,
    "SATELLITE_GCRS_KM": [
    -9705.566206822945,
    3629.8893184499234,
    -1014.9208422252426
    ],
    "TLE-DATE": "2024-02-05 16:12:40"
    }
]

Retrieve satellite ephemeris by catalog number

GET /catalog-number/

Retrieve ephemeris for specified satellite

Query Parameters:
  • catalog – (required) – Satellite catalog number (NORAD ID)

  • latitude – (required) – Observer Latitude (North is positive) (decimal deg)

  • longitude – (required) – Observer Longitude (East is positive) (decimal deg)

  • elevation – (required) – Observer Elevation above WGS84 ellipsoid in meters (m)

  • julian_date – (required) – UT1 Universal Time Julian Date. An input of 0 will use the TLE epoch.

  • min_altitude – (optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

  • max_altitude – (optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

  • data_source – (optional) – Data source for the TLE data - either ‘celestrak’ or ‘spacetrack’. Default is ‘spacetrack’.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number/'
params = {'catalog': '25544',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'julian_date': 2460000.1,
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number/?catalog=25544&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/catalog-number/?catalog=25544&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
    "ALTITUDE-DEG": -38.53633089073,
    "AZIMUTH-DEG": 118.05686288053,
    "CATALOG_ID": 25544,
    "DATA_SOURCE": "spacetrack",
    "DDEC-DEG_PER_SEC": -0.0182556905,
    "DECLINATION-DEG": -43.1707018844,
    "DRA_COSDEC-DEG_PER_SEC": 0.03127755027,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.1,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    1000.044906440929,
    -4783.283201527772,
    4085.459180326725
    ],
    "PHASE_ANGLE-DEG": 122.63076525818,
    "RANGE-KM": 8616.09765998085,
    "RANGE_RATE-KM_PER_SEC": 5.327592257625,
    "RIGHT_ASCENSION-DEG": 30.89434330729,
    "SATELLITE_GCRS_KM": [
    5392.295524240439,
    3226.4992801338067,
    -5894.912235214352
    ],
    "TLE-DATE": "2024-02-05 16:12:40"
    }
]

Retrieve satellite ephemeris given a TLE with JD time step

GET /tle-jdstep/

Retrieve ephemeris over a JD range at a specified time step

query tle:

(required) – Two line element set

query latitude:

(required) – Observer Latitude (North is positive) (decimal deg)

query longitude:

(required) – Observer Longitude (East is positive) (decimal deg)

query elevation:

(required) – Observer Elevation above WGS84 ellipsoid in meters (m)

query startjd:

(required) – UT1 Julian Start Date

query stopjd:

(required) – UT1 Julian End Date (not included)

query stepjd:

(optional) – UT1 time step in Julian Days for ephemeris generation. Default is .05 (1.2 hours).

query min_altitude:

(optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

query max_altitude:

(optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/tle-jdstep/'
params = {'tle': 'ISS (ZARYA) \n 1 25544U 98067A   23248.54842295  .00012769  00000+0  22936-3 0  9997\n2 25544  51.6416 290.4299 0005730  30.7454 132.9751 15.50238117414255',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'startjd': 2460000.1,
                'stopjd': 2460000.3,
                'stepjd': 0.1
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/tle-jdstep/?tle=ISS%20(ZARYA)%0A1%2025544U%2098067A%20%20%2023248.54842295%20%20.00012769%20%2000000+0%20%2022936-3%200%20%209997%0A2%2025544%20%2051.6416%20290.4299%200005730%20%2030.7454%20132.9751%2015.50238117414255&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.01&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/tle-jdstep/?tle=ISS%20(ZARYA)%0A1%2025544U%2098067A%20%20%2023248.54842295%20%20.00012769%20%2000000+0%20%2022936-3%200%20%209997%0A2%2025544%20%2051.6416%20290.4299%200005730%20%2030.7454%20132.9751%2015.50238117414255&latitude=40.1106&longitude=-88.2073&elevation=222&startjd=2460000.1&stopjd=2460000.3&stepjd=0.01&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
    "ALTITUDE-DEG": -59.42992120557,
    "AZIMUTH-DEG": 288.04620638774,
    "CATALOG_ID": "2554",
    "DATA_SOURCE": "user",
    "DDEC-DEG_PER_SEC": 0.02460147584,
    "DECLINATION-DEG": -25.64785198072,
    "DRA_COSDEC-DEG_PER_SEC": 0.02499960249,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.1,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    1000.044906440929,
    -4783.283201527772,
    4085.459180326725
    ],
    "PHASE_ANGLE-DEG": 41.69217956408,
    "RANGE-KM": 11477.324789805663,
    "RANGE_RATE-KM_PER_SEC": -3.431545486777,
    "RIGHT_ASCENSION-DEG": 134.21602941437,
    "SATELLITE_GCRS_KM": [
    -7215.27926739175,
    7415.482543610055,
    -4967.831324597148
    ],
    "TLE-DATE": null
    },
    {
    "ALTITUDE-DEG": -22.86735389391,
    "AZIMUTH-DEG": 142.33553116822,
    "CATALOG_ID": "2554",
    "DATA_SOURCE": "user",
    "DDEC-DEG_PER_SEC": -0.01420767889,
    "DECLINATION-DEG": -54.03105192755,
    "DRA_COSDEC-DEG_PER_SEC": 0.03650863588,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.2,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    3628.0577317280786,
    -3281.0604185873253,
    4079.547075333211
    ],
    "PHASE_ANGLE-DEG": 118.54352293428,
    "RANGE-KM": 5908.636912798006,
    "RANGE_RATE-KM_PER_SEC": 6.290602878885,
    "RIGHT_ASCENSION-DEG": 30.83552022903,
    "SATELLITE_GCRS_KM": [
    2979.848070910431,
    1778.8506970166927,
    -4782.069200596504
    ],
    "TLE-DATE": null
    }
]

Retrieve satellite ephemeris with a given TLE

GET /tle/

Retrieve ephemeris for specified satellite

Query Parameters:
  • tle – (required) – Two line element set

  • latitude – (required) – Observer Latitude (North is positive) (decimal deg)

  • longitude – (required) – Observer Longitude (East is positive) (decimal deg)

  • elevation – (required) – Observer Elevation above WGS84 ellipsoid in meters (m)

  • julian_date – (required) – UT1 Universal Time Julian Date. An input of 0 will use the TLE epoch.

  • min_altitude – (optional) – Minimum altitude to return satellite positions (degrees). Default is 0.

  • max_altitude – (optional) – Maximum altitude to return satellite positions (degrees). Default is 90.

Example Request
  • Python
  • Bash
  • Powershell
  • Link
import requests
import json

url = 'https://cps.iau.org/tools/satchecker/api/ephemeris/tle/'
params = {'tle': 'ISS (ZARYA) \n 1 25544U 98067A   23248.54842295  .00012769  00000+0  22936-3 0  9997\n2 25544  51.6416 290.4299 0005730  30.7454 132.9751 15.50238117414255',
                'latitude': 40.1106,
                'longitude': -88.2073,
                'elevation': 222,
                'julian_date': 2460000.1,
                'min_altitude': -90}
r = requests.get(url, params=params)
print(json.dumps(r.json(), indent=4))
curl -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/tle/?tle=ISS%20(ZARYA)%0A1%2025544U%2098067A%20%20%2023248.54842295%20%20.00012769%20%2000000+0%20%2022936-3%200%20%209997%0A2%2025544%20%2051.6416%20290.4299%200005730%20%2030.7454%20132.9751%2015.50238117414255&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"
curl.exe -X GET "https://cps.iau.org/tools/satchecker/api/ephemeris/tle/?tle=ISS%20(ZARYA)%0A1%2025544U%2098067A%20%20%2023248.54842295%20%20.00012769%20%2000000+0%20%2022936-3%200%20%209997%0A2%2025544%20%2051.6416%20290.4299%200005730%20%2030.7454%20132.9751%2015.50238117414255&latitude=40.1106&longitude=-88.2073&elevation=222&julian_date=2460000.1&min_altitude=-90" -H "accept: application/json"

Example Response

[
    {
    "ALTITUDE-DEG": -59.42992120557,
    "AZIMUTH-DEG": 288.04620638774,
    "CATALOG_ID": "2554",
    "DATA_SOURCE": "user",
    "DDEC-DEG_PER_SEC": 0.02460147584,
    "DECLINATION-DEG": -25.64785198072,
    "DRA_COSDEC-DEG_PER_SEC": 0.02499960249,
    "ILLUMINATED": true,
    "JULIAN_DATE": 2460000.1,
    "NAME": "ISS (ZARYA)",
    "OBSERVER_GCRS_KM": [
    1000.044906440929,
    -4783.283201527772,
    4085.459180326725
    ],
    "PHASE_ANGLE-DEG": 41.69217956408,
    "RANGE-KM": 11477.324789805663,
    "RANGE_RATE-KM_PER_SEC": -3.431545486777,
    "RIGHT_ASCENSION-DEG": 134.21602941437,
    "SATELLITE_GCRS_KM": [
    -7215.27926739175,
    7415.482543610055,
    -4967.831324597148
    ],
    "TLE-DATE": null
    }
]