如何通过Space-Track网站API获取SATCAT与TLE数据?
使用Space-Track的SATCAT与TLE API获取数据
前置准备
所有Space-Track API请求都需要认证,第一步必须完成:
- 注册Space-Track账号(官网直接注册即可)
- 通过账号获取会话凭证,推荐用
curl先登录生成cookie,后续请求复用这个cookie
SATCAT API 操作步骤
SATCAT是卫星目录数据集,包含卫星的基础属性(NORAD编号、名称、发射日期、状态等)
1. 完成认证(获取会话cookie)
curl -X POST "https://www.space-track.org/ajaxauth/login" -d "identity=你的用户名&password=你的密码" -c cookies.txt
执行后会生成cookies.txt文件,后续所有请求带上这个文件即可完成身份验证。
2. 请求SATCAT数据
比如获取国际空间站(OBJECT_ID为ISS)的卫星信息,指定JSON格式输出:
curl -b cookies.txt "https://www.space-track.org/basicspacedata/query/class/satcat/OBJECT_ID/ISS" -H "Accept: application/json"
如果要筛选2020年之后发射的所有卫星,用CSV格式输出:
curl -b cookies.txt "https://www.space-track.org/basicspacedata/query/class/satcat/LAUNCH_DATE/>/2020-01-01" -H "Accept: text/csv"
关键参数说明
class/satcat:固定指定请求SATCAT类数据- 过滤条件:通过
字段名/操作符/值的格式添加,比如STATUS/ACTIVE筛选活跃状态的卫星 - 输出格式:通过
Accept请求头指定,支持application/json、text/xml、text/csv三种格式
TLE API 操作步骤
TLE(两行轨道元素)是卫星轨道计算的核心数据,Space-Track提供最新和历史TLE数据
1. 复用认证cookie
直接使用之前生成的cookies.txt即可,无需重复登录。
2. 请求TLE数据
比如获取国际空间站(NORAD编号25544)的最新TLE(纯文本格式):
curl -b cookies.txt "https://www.space-track.org/basicspacedata/query/class/tle_latest/NORAD_CAT_ID/25544/ORDINAL/1" -H "Accept: text/plain"
如果要获取某颗卫星的所有历史TLE记录,改用tle类请求:
curl -b cookies.txt "https://www.space-track.org/basicspacedata/query/class/tle/NORAD_CAT_ID/25544" -H "Accept: application/json"
关键参数说明
class/tle_latest:获取目标卫星的最新TLE数据(默认保留最近3条,用ORDINAL/1可只取最新1条)class/tle:获取该卫星的所有历史TLE归档记录NORAD_CAT_ID:卫星的唯一NORAD编号,是TLE请求的核心筛选标识
注意事项
- 不要高频次发起请求,Space-Track有速率限制,过度请求会被临时封禁
- 所有请求必须携带认证信息,匿名请求会直接被拒绝
- 官网文档包含完整的字段列表和过滤规则,不清楚的参数可查看对应数据类的说明
内容的提问来源于stack exchange,提问作者Rahul Kalidindi
相关产品推荐
相关产品推荐

