Introduction to the API's Application Programming Interface (API) allows users to access data on this site programmatically using custom, stable URLs with configurable parameters. This API conforms to the general principles of a design called Representational State Transfer or "REST" and is identical to the data returned in the site's Graphical User Interface (GUI). The API can return data in a variety of machine-friendly formats to facilitate machine-to-machine communications.

This API is designed to replace 'screen-scraping' and downloading bulk .zip and .txt files. The "How To" Page describes procedures to download only the new data since your last visit and how to use tools like cURL and wget to retrieve data programmatically.

We also provide several Sample Queries below as well as the Query Builder to get you started.

API Use Guidelines

API Throttling:
Space-track throttles API use in order to maintain consistent performance for all users.
To avoid error messages, please limit your query frequency to less than 20 requests per minute.

To prevent excess bandwidth costs, please do not exceed the following data retrieval rates for your automated scripts:
    - Once per day for Conjunction Data Messages (CDM)
    - Once every hour for a specific conjunction event (Note: The JSpOC will continue to send Close Approach (CA) emails to satellite owners/operators)
    - Once every hour for TLEs.  Please randomly choose a minute for this query that is not at the top or bottom of the hour.
    - Once per day after 1700 (UTC) for SATCAT data
    - Once per day after 1700 (UTC) for Box Score data
    - Once per week, on Wednesdays after 1700 (UTC), for 60-Day Decay data

The API works by building a URL like the following (hover over sections to see a short explanation):
  • basicspacedata/
  • query/
  • class/tle/limit/10/
The Base URL will always be the URL that you use to access the site (ex. Following are tables with options for the rest of the sections.

Request Controllers

Controller Name Description


This controller is for data made available to all site members upon successful completion of account creation.


This controller is for data provided in response to Orbital Data Requests (ODR), as well as data made available through USSTRATCOM SSA Sharing Agreements.


Provides API access to files hosted on Space-Track's Files Panel. (permission controlled)

Request Actions

Action Name Description Required REST Predicates


This action is used to query data using the rest of the URL parameters.



This action is used for getting the specified class's data definition, particularly a list of valid predicates


Request Classes (Click The Class Name To See Description)

Class Name Class Description Controller


Historical record of orbital element sets (Two-Line Elements).
NOTE: There are over 90 million TLEs in the database. You are strongly advised to limit your API queries by OBJECT_NUMBER / NORAD_CAT_ID AND an epoch range such as ">now-30" to avoid "Query range out of bounds" errors.



The 5 most recent TLEs added to space-track for each object. The lower the ORDINAL, the more recent the TLE was added. e.g. adding /ORDINAL/1/ to the URL will show only the most recent TLE for each object.
Note that in rare cases space-track may receive a TLE with an earlier EPOCH than the most recently uploaded TLE.



TLEs listed by the date it was published to Space-Track. Used on 'Recent TLEs' tab for the Daily TLEs function.



Orbit Mean-Elements Message (OMM)
Keplerian element format that complies with CCSDS Recommended Standard 502.0-B-2



Accounting of man-made objects that have been or are in orbit. Derived from satellite catalog and grouped by country/organization.



Satellite Catalog Information. The "CURRENT" predicate indicates the most current catalog record with a 'Y'. All older records for that object will have an 'N'.



List of launch sites found in satellite catalog records.



~60 days of history showing changes for objects with changes in one of these values: INTLDES, NORAD_CAT_ID, SATNAME, COUNTRY, LAUNCH, or DECAY.



Shows new records added to the Satellite Catalog. DEBUT predicate shows the date/time that the object was first added to Space-Track's catalog.



Predicted and historical decay information.
The PRECEDENCE column indicates what stage of the decay lifecycle the record represents and "counts down" to the most recent data:
4 = 60 day decay message, the first indication that an object is predicted to decay
3 = Tracking and Impact Prediction (TIP) message predicts the decay of some objects
2 = Decay message specifically announces that the object has decayed
1 = The satellite catalog's most recent decay date, updated after the object decayed

Note: Objects may not have records of all 4 stages. Multiple records are possible for each object.



Tracking and Impact Prediction (TIP) Message. WINDOW shows precision of predicted decay time in minutes both before & after. NEXT_REPORT shows hours. LAT / LON values show the location 10Km above which an object is predicted to pass through at middle of the WINDOW, not the predicted Earth impact location. Message is nominally distributed at daily intervals beginning four days prior to selected objects' decay and several times during the final 24 hours in orbit.



Provides API access to the current announcements on the website.



Conjunction Data Message (CDM) CCSDS Recommended Standard 508.0-B-1 specifies a standard message format for use in exchanging spacecraft conjunction information between originators of Conjunction Assessments (CAs) and satellite owner/operators and other authorized parties.
CREATION_DATE is the time that the CDM was generated at the JSpOC
INSERT_EPOCH is the time the CDM was uploaded to Space-Track
TCA is the predicted time of closest approach



Provides API access to information in owner/operator Contact Directory. (Limited to users identified as part of an owner/operator organization)



Provides API access to file metadata from Files Panel. (permission controlled)
Used to determine FILE_ID for downloading files using "download" class below
Used to determine FOLDER_ID for uploading files using "upload" class below



Provides API access to file content from Files Panel. (permission controlled)
Only accepts a single "FILE_ID" parameter to download one file at a time.
Requires "/format/stream/" to download file content.
Example URL:



Provides API access to upload files via cURL, WGET, etc. (permission controlled).
A folder id must be specified, use 'file' (above) to determine the folder id.

Command Line Example for cURL upload:
curl --limit-rate 100K -k --cookie cookies.txt -F "file=@60D1408.xls"

Command Line Example for cURL single command:
curl -c cookies.txt -b cookies.txt -k -F 'identity=username' -F 'password=Passsword' -F 'query=' -F 'file=@FILENAME'


Operator Description


Greater Than (alternate is %3E)


Less Than (alternate is %3C)


Not Equal (alternate is %3C%3E)


Comma Delimited 'OR' (ex. 1,2,3)


Inclusive Range (ex. 1--100 returns 1 and 100 and everything in between)
Date ranges are expressed as YYYY-MM-DD%20HH:MM:SS--YYYY-MM-DD%20HH:MM:SS or YYYY-MM-DD--YYYY-MM-DD


Value for 'NULL', can only be used with Not Equal (<>) or by itself.


"Like" or Wildcard search. You may put the ~~ before or after the text; wildcard is evaluated regardless of location of ~~ in the URL.
For example, ~~OB will return 'OBJECT 1', 'GLOBALSTAR', 'PROBA 1', etc.


Wildcard after value with a minimum of two characters. (alternate is %5E)
The wildcard is evaluated after the text regardless of location of ^ in the URL. For example, ^OB will return 'OBJECT 1', 'OBJECT 2', etc. but not 'GLOBALSTAR'


Variable that contains the current system date and time. Add or subtract days (or fractions thereof) after 'now' to modify the date/time, e.g. now-7, now+14, now-6.5, now+2.3.
Use <,>,and -- to get a range of dates; e.g. >now-7, now-14--now
REST Predicates REST Description


Class of data message requested from the API. Required for all operations.

predicates/p1, p2,...

Comma-separated list of predicates to be returned as the result. Can also be set to 'all' or omitted entirely for default behavior of returning all predicates.


Includes data about the request (total # of records, request time, etc); ignored when used with tle, 3le, and csv formats.


Specifies the number of records to return. Takes an integer for an argument, with an optional second argument to specify offset. For example, /limit/10/ will return the first 10 records; /limit/10,5/ will show 10 records starting after record #5 (rows 6 through 15)

orderby/predicate (asc?|desc?)

Allows ordering by a predicate (column), either ascending or descending, with asc/desc separated from the predicate by a space. Multiple Orderings are supported, separating the pairs of predicate and asc/desc by commas (e.g. http://.../DECAY desc,APOGEE desc/...)


Removes duplicate rows.


Specifies return format, can be: json, xml, html, csv, tle, 3le, kvn, or stream. See below for additional information. If no format is specified, the default is JSON


Queries that return no data will show 'NO RESULTS RETURNED' instead of the default blank page


Specifies groups of satellites configured in favorites. Several groups my be organized in a comma-separated list.
my_favorites is the default favorites list transfered from Legacy Space-Track.
All may be used to return all of a users configured lists.
Amateur, Navigation, Special_Interest, Visible, Weather are Administrator curated lists for use by all users.
Format Request Rules Additional Information

eXtensible Markup Language (xml)

No special request rules. For CDM request class, shows CCSDS-compliant format.

JavaScript Object Notation (json)

Preferred format, no special request rules.

HyperText Markup Language (html)

Not recommended for machine parsing. No special request rules.

Comma-Separated Values (csv)

Due to the limitations of the CSV specification, requesting CSV formatted data does not allow for transmission of metadata; metadata concerning the request will need to be gathered through one of the other formats prior to requesting CSV.

Two-Line Element Set (tle)

To get traditionally-formatted TLE data, request the 'tle', 'tle_latest', or 'tle_publish' class. We recommend that you omit predicates from URLs that use tle format. If you do include predicates, it must include line 1 & 2 like this: "/predicates/TLE_LINE1,TLE_LINE2/". Like CSV, tle format ignores /metadata/true/ REST Predicate.

Three-Line Element Set (3le)

The format adds TLE_LINE0 or the "Title line", a twenty-four character name, before the traditional Two Line Element format. The 3le format defaults to include a leading zero so that you can easily find the object name via scripts. If you do not want the leading zero, you should include this in your URL to show the OBJECT_NAME instead of TLE_LINE0: "/predicates/OBJECT_NAME,TLE_LINE1,TLE_LINE2/". Like CSV and tle, 3le format ignores /metadata/true/ REST Predicate.

Key=Value Notation (kvn)

Key=Value Notation format, currently for use exclusively with CDM Class. Incompatible with /metadata/true/.

File Stream (stream)

File Stream format, currently for use exclusively with download class.
Sample Query Description
Space Objects Box Score, part 1 of the Space Situation Report (SSR), in CSV format
Decay history of objects decayed or predicted to decay between 2 July and 9 July 2012, in XML format sorted first by NORAD_CAT_ID then PRECEDENCE.
LAUNCH/>now-7/CURRENT/Y/orderby/LAUNCH DESC/format/html
Objects launched in the last 7 days, part II of the SSR, in HTML format
Geosynchronous Report, showing objects with 1430 <= period <= 1450 minutes.
Satellites currently in Low Earth Orbit (LEO = <2000KM altitude). If no format is specified, the default is JSON
The most recent TLE in the past 30 days for each geosynchronous satellite (objects that have 0.99 <= Mean Motion <= 1.01 and eccentricity < 0.01) in traditional two-line TLE format
The most recent TLE in the past 30 days for each LEO satellite (objects with a Mean Motion > 11.25) in three-line TLE format (includes object names)
Latest TLE for each object in the "Amateur" administrator-curated favorites list in three-line (3le) format
ORDINAL/1/NORAD_CAT_ID/36000,36001--36004, ~~36005,^3600,36010/orderby/NORAD_CAT_ID/format/html
The latest TLE for NORAD_CAT_ID (catalog numbers) 3600 and 36000-36010 in HTML format showing combination of comma-separated values and all the different predicates available for tle_latest
NORAD_CAT_ID/25544/orderby/EPOCH desc/limit/22/format/tle
The most recent 22 TLEs for the ISS (ID#25544) in two-line TLE format.
NOTE: This is not the most efficient way to get results for the latest 5 or fewer TLEs. To get the most recent TLEs efficiently, please use the tle_latest class as shown in the example above.
NORAD_CAT_ID/25544/orderby/EPOCH desc/limit/22/format/xml
The same query for the ISS (ID#25544) as above, but using the Orbit Mean-Elements Message in XML format
All Tracking and Impact Prediction (TIP) Messages for objects 60, 38462, and 38351.
CONSTELLATION/iridium/limit/10/orderby/creation_date desc/format/html
Last 10 Conjunction Data Messages (CDM) for the Iridium Constellation (Permissions Required)
CONSTELLATION/iridium/limit/10/orderby/creation_date desc/format/kvn
Last 10 Conjunction Data Messages (CDM) for the Iridium Constellation (Permissions Required)
Future CDMs for the Intelsat constellation in HTML format with query metadata (Permissions Required)
Future CDMs for the Intelsat constellation in KVN format (Permissions Required)
Disclaimer: There are many free software packages available for retrieving files using standard protocols. does not endorse nor support any particular application, but we do provide these instructions for cURL and wget as examples to help our users.

How to login and get a cookie uses encrypted cookies for session handling. There are two ways to obtain the session cookie:

1. Login normally using the web interface:

2. Login by sending a HTTP POST request ('identity=your_username&password=your_password') to: (examples below)

How to login and query in a single command

Include the query in the POST request of the login command ('identity=your_username&password=your_password&query=your_query') (examples below)

How to logout and close a session

Logout by sending a request (examples below)

How to return data through the API using wget in Linux and Windows

Using Linux

Step 1: obtain a session cookie good for ~2 hours (replace myusername and mY_S3cr3t_pA55w0rd!) with your username & password):
$ wget  --post-data='identity=myusername&password=mY_S3cr3t_pA55w0rd!' --cookies=on --keep-session-cookies --save-cookies=cookies.txt '' -olog

(check the log file created for "Connecting to ... connected" and "HTTP request sent, awaiting response... 200 OK")

Step 2: use the cookie to connect to and return the data in a RESTful query like these examples. Please help us control our bandwidth costs by using --limit-rate=100K in your wget scripts. You can construct your own API query using URL-safe characters if you need and substitute it for the one below:
$ wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt
(automatically saves file named "boxscore" to present directory)

Step 3 (optional): direct the API query results into a file using -O
$ wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt -O box.json
(saves "box.json" to present directory)

Optional Method: You can use a single command to both log in and query the database by including the query in the POST request of the login command
$ wget  --post-data='identity=myusername&password=mY_S3cr3t_pA55w0rd!&query=' --cookies=on --keep-session-cookies --save-cookies=cookies.txt '' -O boxscore

Using Windows

NOTE: If you encounter certificate verification issues using wget on Windows, try adding the '--no-check-certificate' option to both Step 2 and Step 3.

Step 1: download wget for windows if you don't already have it installed. We recommend installing the 'setup' version because it includes all dependencies.

Step 2: obtain a session cookie good for ~2 hours (replace myusername and mY_S3cr3t_pA55w0rd!) with your username & password):
C:\> wget  --post-data "identity=myusername&password=mY_S3cr3t_pA55w0rd!" --keep-session-cookies --save-cookies=cookies.txt -olog
(check the log file created for "Connecting to ... connected" and "HTTP request sent, awaiting response... 200 OK")

Step 3: use the cookie to connect to and return the data in a RESTful query like these examples. Please help us control our bandwidth costs by using --limit-rate=100K in your wget scripts. You can construct your own API query using URL-safe characters if you need and substitute it for the one below:
C:\> wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt
(automatically saves folder named "boxscore" to present directory)

Step 4 (optional): direct the API query results into a file using -O
C:\> wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt -O box.txt
(saves "box.txt" to present directory)

Some Windows users have reported problems using the % character in scripts. If you encounter this issue, you may try escaping the character using two % instead of one;
e.g. /EPOCH/%%3Enow-30/ instead of /%3Enow-30/
C:\> wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt -O amateur.txt
(saves "amateur.txt" to present directory)

Optional Method: You can use a single command to both log in and query the database by including the query in the POST request of the login command. A file named 'login' is created containing the data
C:\> wget  --post-data "identity=myusername&password=mY_S3cr3t_pA55w0rd!&query=" --keep-session-cookies --save-cookies=cookies.txt -O boxscore

Optional Method: Use the log out function to close the session
$ wget --limit-rate=100K --keep-session-cookies --load-cookies=cookies.txt

How to return data through the API using cURL (recommended for Mac OS X users)

Step 1 (optional): If using a proxy server, set a local environment variable where "proxyhost" is the URL of your proxy and "portnumber" is the proxy's port number. (Thanks to Digital Globe for contributing this)
$ export https_proxy=http://proxyhost:portnumber
Step 2: obtain a session cookie good for ~2 hours (replace myusername and mY_S3cr3t_pA55w0rd! with your username & password). If you are using a proxy from Step 1, append the command below with --proxy-anyauth -U:

$ curl -c cookies.txt -b cookies.txt -k -d 'identity=myusername&password=mY_S3cr3t_pA55w0rd!'
(note that cURL tries to verify that space-track is who it claims to be by verifying the server's certificate against a locally stored CA cert bundle. Failing the verification will cause curl to deny the connection. You may use --insecure (or -k) flag if you want to tell curl to ignore that the server can't be verified*)

Step 3: use the cookie to connect to and return the data in a RESTful query like these examples. Please help us control our bandwidth costs by using '--limit-rate 100K' in your cURL scripts. You can construct your own API query using URL-safe characters if you need and substitute it for the one below:
$ curl --limit-rate 100K --cookie cookies.txt

Step 4 (optional): direct the API query results into a file. Using the curl command from Step 2, redirect the query’s output into a file (boxscore.json is only an example):
$ curl --limit-rate 100K --cookie cookies.txt > boxscore.json

Optional Method: You can use a single command to both log in and query the database by including the query in the POST request of the login command. A file named 'login' is created containing the data
$ curl -c cookies.txt -b cookies.txt -k -d 'identity=myusername&password=mY_S3cr3t_pA55w0rd!&query='

*gratefully borrowed from from

How to connect through the API using C#

NOTE: The following code was sent in by Mr. R. Bovard. We offer it here as-is, with no warranty implied.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Collections.Specialized;

namespace GetTLEData
    public class SpaceTrack
        public class WebClientEx : WebClient
            // Create the container to hold all Cookie objects
            private CookieContainer _cookieContainer = new CookieContainer();

            // Override the WebRequest method so we can store the cookie 
            // container as an attribute of the Web Request object
            protected override WebRequest GetWebRequest(Uri address)
                WebRequest request = base.GetWebRequest(address);

                if (request is HttpWebRequest)
                    (request as HttpWebRequest).CookieContainer = _cookieContainer;

                return request;
        }   // END WebClient Class

        // Get the TLEs based of an array of NORAD CAT IDs, start date, and end date
        public string GetSpaceTrack(string[] norad, DateTime dtstart, DateTime dtend)
            string uriBase           = "";
            string requestController = "/basicspacedata";
            string requestAction     = "/query";
            // URL to retrieve all the latest tle's for the provided NORAD CAT 
            // IDs for the provided Dates
            //string predicateValues   = "/class/tle_latest/ORDINAL/1/NORAD_CAT_ID/" + string.Join(",", norad) + "/orderby/NORAD_CAT_ID%20ASC/format/tle";
            // URL to retrieve all the latest 3le's for the provided NORAD CAT 
            // IDs for the provided Dates
            string predicateValues   = "/class/tle/EPOCH/" + dtstart.ToString("yyyy-MM-dd--") + dtend.ToString("yyyy-MM-dd")+"/NORAD_CAT_ID/" +string.Join(",", norad) + "/orderby/NORAD_CAT_ID%20ASC/format/3le";
            string request           = uriBase + requestController + requestAction + predicateValues;

            // Create new WebClient object to communicate with the service
            using (var client = new WebClientEx())
                // Store the user authentication information
                var data = new NameValueCollection
                    { "identity", "myUserName" },
                    { "password", "myPassword" },

                // Generate the URL for the API Query and return the response
                var response2 = client.UploadValues(uriBase + "/auth/login", data);
                var response4 = client.DownloadData(request); 

                return (System.Text.Encoding.Default.GetString(response4));
        }   // END GetSpaceTrack()
    }   // END SpaceTrack Class
}   // END namespace GetTLEData

How to connect through the API using C++

NOTE: The following code was sent in by Mr. A. Wenz of BINARY SPACE. This is a C++ solution using the Microsoft® Foundation Classes (MFC) and compiles with Microsoft® Visual Studio® 2010 or higher. We offer it here as-is, with no warranty implied.

Header File:
#include <afxwin.h>    // MFC core and standard components
#include <afxext.h>         // MFC extensions

#include <afxinet.h>

// CSpaceTrackDownload
class CSpaceTrackDownload : public CObject
// Construction
	CSpaceTrackDownload(LPCTSTR pszUrl,LPCTSTR pszUserName,LPCTSTR pszPassword);

// Attributes
	DWORD  m_dwFlags;
	CHttpConnection  *m_pHttpConnection;
	CInternetSession  m_cInternetSession;

// Operations
	BOOL Authenticate(LPCTSTR pszUrl,LPCTSTR pszUserName,LPCTSTR pszPassword);

	CString Query(LPCTSTR pszQuery);

Source Code:
#include "SpaceTrack.h"

// CSpaceTrackDownload
CSpaceTrackDownload::CSpaceTrackDownload() : CObject()
    m_dwFlags = 0;
    m_pHttpConnection = (CHttpConnection *) NULL;
CSpaceTrackDownload::CSpaceTrackDownload(LPCTSTR pszUrl,LPCTSTR pszUserName,LPCTSTR pszPassword) : CObject()

    if (m_pHttpConnection != (CHttpConnection *) NULL)
      m_pHttpConnection -> Close();
      delete m_pHttpConnection;

BOOL CSpaceTrackDownload::Authenticate(LPCTSTR pszUrl,LPCTSTR pszUserName,LPCTSTR pszPassword)
   UINT  cbData;
   DWORD  dwType;
   LPSTR  pszData;
   CString  szPath;
   CString  szReply;
   CString  szServer;
   CString  szCredentials;
   CHttpFile  *pHttpFile;
   BYTE  nData[1024];

  for (pHttpFile = (CHttpFile *) NULL,pszData = (LPSTR) NULL; AfxParseURL(pszUrl,dwType,szServer,szPath,nPort); )
      if ((m_pHttpConnection = m_cInternetSession.GetHttpConnection(szServer,(m_dwFlags=(nPort == INTERNET_DEFAULT_HTTPS_PORT) ? INTERNET_FLAG_SECURE:0),nPort)))
      { if ((pHttpFile = m_pHttpConnection -> OpenRequest(CHttpConnection::HTTP_VERB_POST,szPath,(LPCTSTR) NULL,1,(LPCTSTR *) NULL,(LPCTSTR) NULL,m_dwFlags)))
        { for (szCredentials.Format(STRING(IDS_SPACETRACK_CREDENTIALSFORMAT) /* identity=%s&password=%s */,pszUserName,pszPassword); (pszData = (LPSTR) GlobalAlloc(GPTR,(szCredentials.GetLength()+1)*sizeof(CHAR))); )
#ifndef UNICODE
            WideCharToMultiByte(CP_ACP,0,szCredentials,-1,pszData,szCredentials.GetLength()+1,(LPCSTR) NULL,(LPBOOL) NULL);
            for (pHttpFile -> SendRequest(STRING(IDS_SPACETRACK_HTTPCONTENTTYPEHEADER) /* Content-Type: application/x-www-form-urlencoded */,lstrlen(STRING(IDS_SPACETRACK_HTTPCONTENTTYPEHEADER)),pszData,(DWORD) strlen(pszData)),ZeroMemory(nData,sizeof(nData)/sizeof(BYTE)); (cbData = pHttpFile -> Read(nData,sizeof(nData)/sizeof(BYTE))) > 0; )
#ifndef UNICODE
              szReply = (LPCSTR) nData;
              MultiByteToWideChar(CP_ACP,0,(LPCSTR) nData,-1,szReply.GetBufferSetLength(cbData),cbData+1);
              if (szReply == STRING(IDS_SPACETRACK_LOGINSUCCESS)) /* "" i.e. returns two double-quotes on successful login */
              { pHttpFile -> Close();
                delete pHttpFile;
                return TRUE;
          pHttpFile -> Close();
          delete pHttpFile;
        m_pHttpConnection -> Close();
        delete m_pHttpConnection;
    catch (...)
      if (pszData != (LPSTR) NULL) GlobalFree(pszData);
      if (pHttpFile != (CHttpFile *) NULL)
      { pHttpFile -> Close();
        delete pHttpFile;
      if (m_pHttpConnection != (CHttpConnection *) NULL)
      { m_pHttpConnection -> Close();
        delete m_pHttpConnection;
  m_dwFlags = 0;
  m_pHttpConnection = (CHttpConnection *) NULL;
  return FALSE;
}   // END Authenticate()

CString CSpaceTrackDownload::Query(LPCTSTR pszQuery)
    UINT  cbData;
    CString  szResult[2];
    CHttpFile  *pHttpFile;
    BYTE  nData[65536];

  for (pHttpFile = (CHttpFile *) NULL; m_pHttpConnection != (CHttpConnection *) NULL; )
      if ((pHttpFile = m_pHttpConnection -> OpenRequest(CHttpConnection::HTTP_VERB_GET,pszQuery,(LPCTSTR) NULL,1,(LPCTSTR *) NULL,(LPCTSTR) NULL,m_dwFlags)))
      { for (pHttpFile -> SendRequest(),ZeroMemory(nData,sizeof(nData)/sizeof(BYTE)); (cbData = pHttpFile -> Read(nData,sizeof(nData)/sizeof(BYTE)-1)) > 0; ZeroMemory(nData,sizeof(nData)/sizeof(BYTE)))
#ifndef UNICODE
          szResult[0] += (LPCSTR) nData;
          MultiByteToWideChar(CP_ACP,0,(LPCSTR) nData,cbData,szResult[1].GetBufferSetLength(cbData),cbData+1);
          szResult[0] += szResult[1];
        pHttpFile -> Close();
        delete pHttpFile;
    catch (...)
      if (pHttpFile != (CHttpFile *) NULL)
      { pHttpFile -> Close();
        delete pHttpFile;
  return szResult[0];
}   // END Query()

Example Use:
CString  szResult[2];
CSpaceTrackDownload  cDownload(TEXT(""),TEXT("USERNAME"),TEXT("PASSWORD"));

szResult[0] = cDownload.Query(TEXT("/basicspacedata/query/class/tle_latest/orderby/TLE_LINE0%20asc/limit/50/format/3le/metadata/false/favorites/Human_Spaceflight"));
szResult[1] = cDownload.Query(TEXT("/basicspacedata/query/class/tle_latest/orderby/TLE_LINE0%20asc/limit/50/format/3le/metadata/false/favorites/Amateur"));

How to connect through the API using Java

NOTE: The following code was sent in by one of our users. We offer it here as-is, with no warranty implied.

public class DownloadTLE {

	 * @param args
	public static void main(String[] args) {
		try {
			String baseURL = "";
			String authPath = "/auth/login";
			String userName = "USERNAME";
			String password = "PASSWORD";
			String query = "/basicspacedata/query/class/tle_latest/ORDINAL/1/EPOCH/%3Enow-30/orderby/NORAD_CAT_ID/format/3le";
			CookieManager manager = new CookieManager();
			URL url = new URL(baseURL+authPath);
			HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

			String input = "identity="+userName+"&password="+password;

			OutputStream os = conn.getOutputStream();

			BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

			String output;
			System.out.println("Output from Server .... \n");
			while ((output = br.readLine()) != null) {

			url = new URL(baseURL + query);

			br = new BufferedReader(new InputStreamReader((url.openStream())));
			while ((output = br.readLine()) != null) {

			url = new URL(baseURL + '/ajaxauth/logout');
			br = new BufferedReader(new InputStreamReader((url.openStream())));

		} catch (Exception e) {

How to download just the changes (i.e. the data added to space-track) since your last download:

For TLEs, you can use the tle_publish class used on the Recent TLE page to tell what TLEs were published since your last download. This class shows the date/time the TLE was published to, but only in two-line format.

The procedure below uses the FILE predicate and applies identically to all of these API classes: tle, satcat, decay, and cdm. If you have an alternate method to return only the changes, please email us.

Step 1: establish a baseline by returning the latest TLE for objects that you want to monitor. In the example below, we use four objects 25544,36411,26871, and 27422. You can use any criteria to determine the objects you want to monitor. You can also return any predicates you need in any format. We show FILE, EPOCH, and the two lines of the TLE as an example:,36411,26871,27422/predicates/FILE,EPOCH,TLE_LINE1,TLE_LINE2/format/html

1339414	2012-08-23 14:41:35	1 25544U 98067A 12236.61221542 .00014781 00000-0 26483-3 0 
1660	2 25544 051.6476 145.7539 0014860 352.2902 087.3290 15.50074566788503
1339388	2012-08-23 13:09:41	1 36411U 10008A 12236.54839284 .00000068 00000-0 00000+0 0 
1996	2 36411 000.4393 261.8677 0004087 269.6508 223.6226 01.00284253 9094
1339308	2012-08-23 09:04:34	1 26871U 01031A 12236.37818175 -.00000300 00000-0 10000-3 0 
7001	2 26871 002.4043 072.3013 0002099 076.5029 259.0419 01.00285194 40660
1339234	2012-08-23 05:26:49	1 27422U 02021B 12236.22696129 .00000039 00000-0 32070-4 0 
9902	2 27422 098.3978 295.8841 0013298 043.4759 316.7468 14.28769327535462

Step 2: determine the highest file number for the set of objects you want to monitor. File numbers are sequential and incremented each time space-track receives a batch of TLEs or a single TLE. They are not unique identifiers of individual TLEs, but they can serve as a "bookmark" so you know where to begin pulling data the next time you visit.,36411,26871,27422/predicates/FILE/orderby/FILE%20desc/limit/1

In our case, for the four objects we care about, this query returned one column with one row: 1339414 (verified by visually inspecting the results in step 1). STORE THIS VALUE in your system as a "bookmark" for use during your next data pull.

Step 3: When you pull data from space-track again on the following day, query for every record with a file number higher than our bookmark from step 2 (1339414 in our example). We request that you query space-track not more than once every 4 hours. The data does not increase quickly enough to justify a higher frequency.,36411,26871,27422/predicates/FILE,TLE_LINE1,TLE_LINE2/FILE/>1339414

1339478	1 25544U 98067A 12236.74387093 .00004357 00000-0 83943-4 0 1672	2 25544 051.6471 145.1015 0014867 352.8287 101.9293 15.50062724788521

Step 4: You need to store the new highest file number (1339478) as the "bookmark" for your next data pull on the following day (or week). You can either iterate through the data on your end to determine the highest file number (recommended) or run this API query immediately before the one in step 3 and store the value as your bookmark for the next pull:
What is a TLE checksum?
A checksum is rudimentary means of detecting errors which may have been introduced during data transmission or storage. In TLEs and 3LEs, the last digit on line 1 and line 2 is a simple modulo-10 checksum. To calculate it, add the values of the numbers in the first 68 characters on each line—ignoring all letters, spaces, periods, and plus signs—and assign a value of 1 to all minus signs. The checksum is the last digit of that sum (the “ones” place) and is appended in the 69th character position.

Do all TLEs have checksums?
Yes, has updated its code to include checksums for all current and historical TLEs/3LEs including over 8 Million TLEs/3LEs that did not previously include one. This provides users with better data integrity and rudimentary error checking.

Why do all TLEs/3LEs have a constant element number of 999?
To eliminate confusion caused by reusing element numbers after 999 has been reached. For example, object number 11 has used the same element numbers over 15 times throughout its life cycle.

What is a "well-tracked object" and how do I recognize it on
A "well-tracked object" is an object in orbit with uncertainty surrounding its origin. In order to better manage congestion caused by space debris and enhance spaceflight safety, USSTRATCOM catalogs and publishes a number of these objects on For these objects, Country Code & Launch Site values are both UNKN ("Unknown"); The International Designator format in the catalog is YYYY-000A and in TLEs is YY000A (year cataloged, '000' Launch #, & next alpha in sequence, e.g. 2014-000B, 2014-000C, etc.); The Launch Date is 1 January of the year that the object is cataloged.

What changed with Radar Cross Section (RCS) and why?
Did RCS values change?
USSTRATCOM has added scaling of RCS values to the SATCAT. Until 18 Aug 14, there was a dual-feed of both current values (RCSVALUE) & scaled values (RCS_SIZE). RCS_SIZE has 3 values: Small (< 0.1m2), Medium (0.1m2 – 1m2), & Large (>1m2). Space-Track began showing only scaled values on 18 August 2014 (with RCSVALUE showing a static value of 0 in satcat, satcat_debut, & decay classes). There is no change to CDM spaceflight safety notification info or procedures.

Why did USSTRATCOM revising radar cross section (RCS) information published on
USSTRATCOM simplified the process of reporting RCS information on space objects. The Conjunction Data Message (CDM) provides spaceflight safety information (including RCS) in a single product. Previously, users used two products, a Conjunction Summary Message (CSM) and the Satellite Catalog (SATCAT).

Will there be any change to current spaceflight safety information or procedures?
No. The Conjunction Data Message (CDM), which is sent to owner/operators to warn of a potential collision, contains the actual RCS to assist satellite owners/operators in spaceflight safety decision-making.

My organization was using RCS values. Is there a way to still receive that information?
Yes. Formal SSA sharing partners can receive additional information. Contact USSTRATCOM at for more information on SSA Sharing Agreements.

When did this change take effect?
The system switched to full-time scaled values on 18 Aug 14.

Do satellite owners/operators and other interested parties have opportunities to influence the implementation process?
USSTRATCOM and JFCC Space will accept feedback throughout the transition process. Contact to provide feedback on, or for information about how to become a formal partner with USSTRATCOM.

What timezone is all date/time data in?
All date/time data is stored, delivered, and displayed in UTC.

What's new on the site?
Please engage us on our social media sites: facebook, Google+, or twitter.

Why is there a satellite catalog entry for object number [12345], but no orbital data for that object or TLEs for that object?
The answer from our data provider:
   "JFCC SPACE cannot post elsets for every man-made object orbiting the earth on

   Reasons include but are not limited to:
      - National security reasons
      - Some objects are too small for the sensors to consistently track
      - Some objects decay before the JSpOC can collect enough information to post a TLE
      - Gaps in sensor coverage

   Regardless whether an object's elset/TLE is posted on the website or not, JFCC SPACE screens all objects at least daily and notifies the operator if that object is predicted to approach another object."

What is the minimum size of objects that are maintained in the satellite catalog?
10 centimeter diameter or "softball size" is the typical minimum size object that current sensors can track and the JSpOC maintains in the catalog.

Why does the JSpOC switch elsets after a launch?
The answer from our data provider:
   "After a launch, the JSpOC has a time requirement to identify objects from the launch.

   For a multi-payload launch, typically the payloads are bunched together, making separation difficult, while the rocket body is generally drifting away and is easier to produce an elset. This elset is then used as a basis for the JSpOC and sensor network to track the other objects.

   Once all objects are catalogued, they will not be renamed until the JSpOC receives positive identification. At that point, once all payloads are known, the sensor network requires listing the payloads first before any rocket body or other launch debris.    The JSpOC recognizes this can be frustrating for users; however, the sensor network takes priority. The only way to solve this is to not send the elsets to the website until after identification, which could take hours or possibly days after a launch."

Why have I not heard a response back from the JSpOC after reporting a mis-tagged object to
The answer from our data provider:
   "Positively identifying all objects after launch is challenging and may result in accidental misidentification of some objects.

   As years pass on, it becomes increasingly difficult to move historical data within the JSpOC system. The JSpOC has to validate all possible mis-tagging and receive clarification from multiple sources, i.e. signals, RCS data, etc. While the JSpOC may be aware of the error, multiple users of the official data would have to be notified, and on occasion, might have to initiate changes to their system to line-up with the JSpOC data before the JSpOC can initiate the change. Depending how much time has passed since launch, it may take a while to move all the appropriate data into the correct object.

   The JSpOC appreciates all notifications of possible mis-tagging, but please realize their primary focus is tracking objects for collision avoidance so the extra duty of cross checking mis-tagging reports can be placed at a lower priority at times."

How does the data provider come up with space object's common name?
Typically, the owner/operator reports the common name to our data provider. If our system already has a similar name, our data provider will adapt it.

If our data provider is not told what the common name is, he/she will get the name from either the launch team or open sources. Some common names may be abbreviated or truncated due to character limitations in that data field.

What criteria are used to determine whether an orbiting object should receive a catalogue number and International Designation?
There are three primary considerations when deciding to catalog an orbiting object:
We must be able to determine who it belongs to, what launch it correlates to, and the object must be able to to be maintained (tracked well).

I noticed a TLE with an epoch a few days in the future. Aren't TLEs supposed to be timing off the LAST ascending node pass prior to the current observations?
TLEs can contain future epochs.

About 20 satellites are categorized as "multi-day objects" because their period is so large. Consequently, our data provider propagates the epoch into the future based on perigee to enable better tracking by available sensors when the object finally comes back into view.

An example is Object 10370 with a 5683.23 minute period.
For further information on orbital mechanics see: link

Point in the orbit where an Earth satellite is farthest from the Earth. Units are kilometers. link
Argument of Perigee (Degrees).
The angle between the ascending node and the orbit's point of closest approach to the earth (perigee). link
B* Drag Term.
Also called the radiation pressure coefficient. Units are earth radii^-1. The last two characters define an applicable power of 10. link
Catalog Change Report.
Report that details the changes (launches, additions, decays and updates) to the satellite catalog (SATCAT). Now parts 4 & 5 of the SSR
Catalog Number.
Sequential number assigned by US Air Force as objects are cataloged. Synonyms: Satellite Catalog Number, NORAD_CAT_ID, and OBJECT_NUMBER. link
Celestial Equator.
It is a projection of the terrestrial equator out into space. link
Sum of all of the characters in the data line, modulo 10. link
Common Name.
Also known as OBJECT_NAME, this is simply the name associated with the satellite. link
Complete Data Files.
Conjunction Assessment (CA).
The process of predicting and reporting the close approaches between Resident Space Object (RSOs) or between launch vehicles and RSOs. link
Conjunction Data Message (CDM)
CCSDS Recommended Standard message format for exchanging spacecraft conjunction information between originators of Conjunction Assessments (CAs) and satellite owner/operators and other authorized parties.
Conjunction Summary Message (CSM) - DEPRECATED.
The CSM is a fixed-format ASCII formatted message which contains information about a predicted conjunction between space objects.
The nation or group that has responsibility for an object
Current Catalog Files.
Any object with the string 'DEB' or 'COOLANT' or 'SHROUD' or 'WESTFORD NEEDLES' in the SATCAT object common name. link
The lessening of the eccentricity of the elliptical orbit of an artificial satellite. link
Decay Date.
Date object reentered the earth's atmosphere in YYYY-MM-DD format. link
Decay Message Types.
SATCAT - Historical.
Decay Entry - Historical.
TIP Message - Prediction.
60day Decay - Prediction.
A constant defining the shape of the orbit (0=circular, Less than 1=elliptical). link
Element Number.
The ELSET number is a running count of all TLEs generated by the JSpOC for this object. link
Element Set (ELSET).
See: Two Line Element set.
Element Set Epoch.
The first two digits ('13') indicate the year. Add 1900 for years >= 57, and 2000 for all others. The remainder of the field ('236.56031392') is the Julian day of the
The specific time at which the position of a satellite is defined. link
First Derivative of the Mean Motion.
Is the daily rate of change in the number of revolutions the object completes each day, divided by 2. Units are revolutions/day. link
Geosynchronous Report.
Report generated using search parameters of satellite period between 1430-1450 minutes. link
International Designator.
Also known as COSPAR designation or NSSDC ID, this is one format for uniquely identifying an object. link
The Joint Functional Component Command for Space is a component of U.S. Strategic Command and is responsible for executing continuous, integrated space operations to deliver theater and global effects in support of national and combatant commander objectives. link
Latest Data.
Displays the latest TLE for the object. link
Latest ELSET.
Displays the last 5 TLEs for the object. link
Launch Date.
Date object was launched in YYYY-MM-DD format. See:link
Launch Site.
Laser Clearinghouse (LCH).
An organization within JFCC Space that supports safe and responsible laser activities consistent with the needs of national defense. See: LCH Acronyms
Mean Anomaly (degrees).
The angle, measured from perigee, of the satellite location in the orbit referenced to a circular orbit with radius equal to the semi-major axis. link
Mean Equinox.
The direction to the equinox at a particular epoch, with the effect of nutation subtracted. link
New Registered User Application.
On-line application submitted in order to obtain a user account on link
Orbit Mean-Elements Message (OMM).
An approved international standard for a mathematical representation of a satellite’s mean orbit IAW CCSDS 502.0-B-2 Orbit Data Messages Blue Book .
Orbital Data Request (ODR).
The ODR is the form submitted by requesters asking for SSA services or information. link
Orbital Data Request Process.
The procedures used by users to request Space Situational Awareness (SSA) advanced services support. link
Orbit Inclination (Degrees).
The angle between the equator and the orbit plane. link
Owner/Operator (O/O).
The designated control center or agency that is the focal point for operational control of a satellite payload, and/or vehicle, and/or ground site. The owner/operator interfaces with USSTRATCOM and/or JFCC SPACE and is generally the location where the operations center is located for a given space system.
Any object not classified in the SATCAT as a rocket body or debris is considered a payload. link
Point in the orbit where an Earth satellite is closest to the Earth. Units are kilometers. link
The number of minutes an object takes to make one full orbit. link
In the Decay class, lower PRECEDENCE values indicate more recent data. link
Predicted Decay Location.
In the TIP class, LAT / LON values show the location above which an object is predicted to arrive at 10km altitude during its descent, not the predicted Earth impact location.
Predicted Decay Time.
The time that an object is predicted to reach its decay location. Format: GMT Date (YYYY-MM-DD, HH:MM:SS) +/- XX Hours.
Radar Cross Section (RCS).
A measure of how detectable an object is by radar, measured in square meters. link
Recent Satellite Decays.
A listing of recent satellite decays on link
Revolution Number at Epoch.
The number of orbits the object has completed at Epoch Time. link
Right Ascension of Ascending Node (degrees).
Is the angle of the ascending node measured EAST of the vernal equinox along the celestial equator. link
Rocket Body.
The propulsion unit(s) used to deploy satellites into orbit. These are cataloged differently from standard debris because they can have mechanisms or fuel on board that can affect the orbital behavior of the rocket body even after long periods of time. Rocket bodies are also constructed to endure high temperatures and stresses associated with launch so they have a greater probability of surviving reentry and require closer attention than most debris. Rocket Bodies are any object which contains the strings 'R/B' or 'AKM' (Apogee Kick Motor) or 'PKM' (Perigee Kick Motor) but not 'DEB' (Debris) in the SATCAT object common name. link
Any object in orbit around the Earth. Used interchangeably with 'resident space object'. However, commonly and mistakenly used to mean payload. Both a piece of debris and the moon are satellites.(SI 534-3)
Satellite Box Score.
Accounting of man-made objects that have been or are in orbit by country. (SI 534-3) link
Satellite Catalog Number.
Sequential number assigned by US Air Force as objects are cataloged. Synonyms: Catalog Number, NORAD_CAT_ID, and OBJECT_NUMBER. link
Satellite Catalog (SATCAT).
A catalog of satellite positional data maintained by the JSpOC.(SI 534-3) link
Satellite Situation Report.
Listing of those satellites (objects) currently in orbit and those which have previously orbited the Earth. Some objects are too small or too far from the Earth's surface to be detected; therefore, the Satellite Situation Report does not include all man-made objects orbiting the Earth. link
Second Derivative of the Mean Motion.
Measures the second time derivative in daily mean motion. link
A deactivated website. Its file sharing functionality was added to in 2014.
The website that provides unclassified SSA services and information. is managed, maintained and administered by JFCC SPACE. link
The area above the lowest altitude that permits a vehicle to orbit the Earth without entering the earth's atmosphere. That altitude is approximately 100 kilometers (62 miles). link
Space Surveillance Data.
Data derived from the observation of space and activities occurring in space. link
Space Weather.
The conditions and phenomena in space and specifically in the near-Earth environment that may affect space assets or space
SI 534-3.
USSTRATCOM Strategic Instruction (SI) 534-3, Sharing Space Situational Awareness (SSA) Information, 18 January 2013. Establishes standard guidance for providing unclassified SSA information to United States Government (USG) agencies (including organizations supporting the USG under contract) and non-USG entities.
Tracking and Impact Prediction (TIP) Message.
Projected satellite reentry predictions for objects which have the potential for generating debris which could pose a hazard to people or property on Earth. link and link
Two Line Element set (TLE).
A mathematical representation of a satellite’s mean orbit. See:link
Three Line Format.
Same as a TLE except the first line contains the satellite common name. link
User Agreement.
The terms and conditions a potential user must agree to and abide by in order to obtain access to link
Vernal Equinox.
The point on the celestial sphere at which the Sun passes from south to north of the celestial equator each year. link
AKM Apogee Kick Motor
DD Day
DEB Debris
DoD Department of Defense
ELSET Element Set
GMT Greenwich Mean Time
HH Hour
JFCC SPACE Joint Functional Component Command for Space
MM Month or Minutes
PKM Perigee Kick Motor
RCS Radar Cross Section
SATCAT Satellite Catalog
SS Seconds
SSA Space Situational Awareness
TBA "To Be Announced" in the future.
TBD "To Be Determined" or unknown
TIP Tracking and Impact Prediction
TLE Two Line Element set
USG United States Government
USSTRATCOM United States Strategic Command
1 25544U 98067A   04236.56031392  .00020137  00000-0  16538-3 0  9993
2 25544  51.6335 344.7760 0007976 126.2523 325.9359 15.70406856328903
1234567890123456789012345678901234567890123456789012345678901234567890   reference number line
         1         2         3         4         5         6         7

Line 0
1-24 ISS (ZARYA) The common name for the object based on information from the Satellite Catalog.
Line 1
Columns Example Description
1 1 Line Number
3-7 25544 Satellite Catalog Number
8 U Elset Classification
10-17 98067A International Designator
19-32 04236.56031392 Element Set Epoch (UTC) *Note: spaces are acceptable in columns 21 & 22
34-43 .00020137 1st Derivative of the Mean Motion with respect to Time
45-52 00000-0 2nd Derivative of the Mean Motion with respect to Time (decimal point assumed)
54-61 16538-3 B* Drag Term
63 0 Element Set Type
65-68 999 Element Number
69 3 Checksum
Line 2
Columns Example Description
1 2 Line Number
3-7 25544 Satellite Catalog Number
9-16 51.6335 Orbit Inclination (degrees)
18-25 344.7760 Right Ascension of Ascending Node (degrees)
27-33 0007976 Eccentricity (decimal point assumed)
35-42 126.2523 Argument of Perigee (degrees)
44-51 325.9359 Mean Anomaly (degrees)
53-63 15.70406856 Mean Motion (revolutions/day)
64-68 32890 Revolution Number at Epoch
69 3 Checksum

More Information

Satellite Catalog Number

The catalog number assigned to the object by the US Air Force. The numbers are assigned sequentially
as objects are cataloged. Object numbers less then 10000 are always aligned to the right, and padded
with zeros or spaces to the left.


The security classification of the element set. All objects on this site will have a classification of
'U' (unclassified).

International Designator


This is another format for identifying an object.
  • The first two characters designate the launch year of the object.
  • The next 3 characters indicate the launch number, starting from the beginning of the year.
    This particular launch was the 67th launch of 1998.
  • The remainder of the field (1 to 3 characters) indicates the piece of the launch. Piece 'A' is usually the payload.

Element Set Epoch


  • The first two digits ('04') indicate the year. Add 1900 for years >= 57, and 2000 for all others.
  • The remainder of the field ('236.56031392') is the day of the year.
  • Spaces or numbers are acceptable in day of the year. (e.g. '236' or '006' or ' 6').


The checksum is the sum of all characters in the data line, modulo 10. In this formula, the following non-numeric
characters are assigned the indicated values:
  • Blanks, periods, letters, '+' signs -> 0
  • '-' signs -> 1

For Satellite Owner/Operators, including Launch Providers, US Strategic Command (USSTRATCOM) offers 7 Advanced Services focused on providing safety of spaceflight information and products.  These services, including Collision Avoidance, Conjunction Assessment, and Pre-Launch Screening for conjunctions, are available through an SSA Sharing Agreement.  For more information, and to obtain a copy of the agreement for review, please send an e-mail to the USSTRATCOM Space Policy Office at

ODR Process: The following process should be used to request Space Situational Awareness (SSA) support (i.e., requests for redistribution of TLEs and analysis, request for launch support and request for Conjunction Assessment (CA)). Requests for SSA support will be vetted and approved as follows:

Orbital Data Request Form Directions:
The ODR form (DOC, PDF) is to be used by all requesters (foreign, commercial, and US government) for all data requests, including, but not limited to, conjunction assessment (CA), launch support, and redistribution of SSA data.
  1. For all requests:
    • Follow the directions on page 1 of the ODR form
    • If any blocks do not provide sufficient space, attach additional pages.
  2. For redistribution requests:
    ODR Form, Block 8:
    • Who are you going to redistribute the data/analysis to? Attach a list of points of contact.
    • Why do you want/need to redistribute Space-Track data and/or analysis (e.g., for operational, commercial, scientific, educational, recreational, or other reasons)?
    • Please include examples of redistributed products (provide website if applicable).  Attach as an appendix (or appendices), as necessary.
  3. ODR Form, Block 10:
    • When and how often to you wish to redistribute the data/analysis? Is this a one/few time(s) request or do you wish to redistribute data on an ongoing and continual basis?
  4. Submission Directions:
    Scan in signed Orbital Data Request Form. Send Signed Orbital Data Request Form to (Military requests should be sent to
    To provide launch information to the JSpOC, please complete the R-15 form and submit it to
  5. Processing:
    • If you are a USG representative or a non-USG entity with a signed SSA Sharing Agreement,  your requests will be expedited for approval at the operational level.
    • If you are a Satellite Owner/Operator or Launch Provider without a signed SSA Sharing Agreement, we will review your request for support on a case by case basis; however, this process is lengthier and not always operationally responsive. If you are in this category, please make all submissions for data as far in advance as possible to allow for approval requirements.
    • If you are an individual/entity not in one of the above categories, and you are requesting distribution permissions or SSA data not available on, please submit the ODR and allow 3-4 weeks processing time.
Send questions about SSA Sharing Agreements or the ODR Process to

Laser Clearinghouse (LCH)
This page provides guidance, forms, and examples to assist laser programs during the satellite safety process

"The Laser Clearinghouse mission is to provide the mission capabilities for supporting safe and responsible laser activities consistent with the needs of national defense"
- US Strategic Command Instruction 534-12

What is NEW in LCH? See the Newsletter!  |  Deconfliction Planning Overview  |  Acronyms  |  Contact LCH

Hover your cursor over links for more information.
    Laser Registration      
    Centralized Predictive Avoidance (CPA) Process       
    Document Templates      

      Predictive Avoidance Request Message (PRM) Samples
      Predictive Avoidance Approval Message (PAM) Samples
      Predictive Avoidance (PA) Designers Toolbox ( Requires login to Space-Track and permissions )
         Space Deconfliction System (DECON) Interface Change Document (ICD) 14-1
         Space Deconfliction System (DECON) Interface Change Document (ICD) 14-2
     30 Day Lookout
     Appendix to Standard Centralized Predictive Avoidance Plan
     Sample Keep Out Cone (KOC) Document
     Sample Laser Activity Summary Report (LASR) - CW
     Sample Laser Activity Summary Report (LASR) - Pulsed
     Sample Software Test Report (STR) *
     Numerical Validation of Propagator **
     Statement of Certification of Laser Deconfliction Capabilities
     Statement of Certification for Compliance with DOD Instruction 3100.11 (DOD Lasers only) *
     End-to-end Demonstration Script
     JSpOC CPA Authorization Memo
     Document Template Frequently Asked Questions (FAQ)

   *  LCH Determines if applicable to laser.
   ** No template, product generated by SERCO or LCH.


      Chairman of the Joint Chiefs of Staff Instruction (CJCSI) 3225.01
      Department of Defense Instruction (DoDI) 3100.11 ( Requires login to Space-Track and permissions )
      Strategic Commander Instruction (SI) 534-12 ( Requires login to Space-Track and permissions )

  • This website is optimized for Chrome and Firefox browsers.
Please read the following terms and conditions of the User Agreement carefully. This website permits access to U.S. Government space situational awareness information to approved users only. To obtain access, all users must abide by the following terms and conditions:

The User agrees not to transfer any data or technical information received from this website, or other U.S. Government source, including the analysis of data, to any other entity without prior express approval. See, 10 USC 2274(c)(2).

The User agrees to pay an amount that may be charged. The present U.S. Government policy is not to charge for website access. The website will provide notification should this policy change. See, 10 USC 2274(c)(1).

The User agrees to hold harmless the U.S. Government, any agencies and instrumentalities thereof, and any individuals, firms, corporations, and other persons acting for the United States. Such shall be immune from any suit in any court for any cause of action arising from the provision or receipt of space situational awareness services or information, whether or not provided in accordance with 10 USC 2274, or any related action or omission. See, 10 USC 2274 (g).

The User agrees he or she will only enter this site utilizing his or her own username and password. The User agrees not to share, assign or transfer his or her username or password to another. Each individual user or entity is required to obtain a separate account. See, 10 USC 2274(c)(3).

The User agrees to provide a valid and working email address at registration and for the duration of Account usage. This ensures effective communication with and delivery of services to the User. As part of the registration process, the User will be asked to provide and verify his/her email address.

The User agrees these terms and conditions shall be governed by and construed in accordance with U.S. Federal law.

Approved access must be renewed periodically. The U.S. Government may unilaterally terminate this agreement for any reason.

The agreed upon terms and conditions above do not alter in any way those of any other written agreement with the U.S. Government for space situational awareness services and information. The U.S. Government reserves the right to change or modify these terms and conditions at any time, and without prior notification.





Current as of 13 March 2013.

Web Site Privacy and Security Notices, Web Site Disclaimer, and Accessibility Statement

Thank you for visiting this web site and reviewing its privacy and security notices.

Web Site Privacy Notice

Cookie technology may be used to enhance your experience while accessing this web site. At no time is private information you have provided – whether stored in cookies (persistent) or elsewhere – shared with third parties that have no right to that information. If you do not wish to have persistent cookies stored on your machine, you can turn them off in your browser. However, this may impact some of your functionality while visiting certain web sites.

Below are examples of what we do with your information when reading or downloading information from this Web site.

We may collect and store information for statistical purposes. For example, we may count the number of visitors to the different pages of our Web site to help make them more useful to visitors. This information does not identify you personally. We collect and store the following information about your visit automatically:

  • The Internet domain (for example, "" if you use a private Internet access account, or "" if you connect from a university's domain) and IP address (an IP address is a number that is automatically assigned to your computer whenever you are surfing the Web) from which you access the web site;
  • The type of browser and operating system used to access our site;
  • The date and time you access our site;
  • The pages you visit; and
  • If you visited this web site from a link on another Web site, the address of that Web site.

Similar information is gathered for anonymous ftp, remote account login, or for other comparable types of connections.

The information that you provide to administrators of this web site will be used only for its intended purpose, except as required by law, or if pertinent to judicial or governmental investigations or proceedings.

When Sending Us E-Mail

By sending us an electronic mail (e-mail) message, you may be sending us personal information such as your name, address, and e-mail address. We may store your name, address, and e-mail address of the requester in order to respond to your request or otherwise resolve the subject matter of the e-mail. Under certain limited circumstances, we may be required by law to disclose the information you submit.

Remember that e-mail is not necessarily secure against interception. If your communication is sensitive, or includes personal information such as your Social Security number, you should consider sending it by postal mail instead.

When Registering

Information collected through questionnaires, feedback forms, or other means, enables us to determine visitors' interests, with the goal of providing better service to our visitors.

Regardless of the information being transmitted, we will protect all such information consistent with the principles of the Federal Records Act, the Privacy Act, and as applicable, the Freedom of Information Act.

Web Site Security

For site security purposes and to ensure that this web-based service remains available to all users, this computer system employs software programs that monitor network traffic to identify unauthorized attempts to upload or change information, or otherwise cause damage. Anyone using this system expressly consents to such monitoring and is advised that if such monitoring reveals evidence of possible abuse or criminal activity, such evidence may be provided to appropriate law enforcement officials. Unauthorized attempts to upload or change information are strictly prohibited and may be punishable by law, including the Computer Fraud and Abuse Act of 1986 and the National Information Infrastructure Protection Act of 1996.
For problems with current functionality, please email

For problems with Laser Clearinghouse procedures or documents, please contact the LCH team.

For comments or feedback regarding the Beta website and new/proposed features, email

For detailed questions regarding the satellite data, ephemeris, or decay information presented on this website, please email the data provider (Joint Space Operations Center) at

For permission to redistribute space-track data, information outside of what space-track provides, requests for launch support, and requests for Conjunction Assessment, please submit an Orbital Data Request.