SatTvInfo APIsattvinfo.net ↗
Access satellite TV channels, transponders, BISS keys, and packages from SatTvInfo.net. 10 endpoints covering positions, HD/UHD satellites, and country-level channel data.
What is the SatTvInfo API?
The SatTvInfo.net API exposes 10 endpoints covering satellite TV channel listings, transponder parameters, BISS encryption keys, and regional package data. Starting with get_satellite_list you get every tracked satellite's sat_id, orbital position, and frequency band, which feeds directly into get_satellite_channels for per-transponder detail including frequency, symbol rate, polarization, and channel PIDs. Country-level filtering and HD/UHD satellite indexes are also available.
curl -X GET 'https://api.parse.bot/scraper/c13f9604-02d5-45aa-8c82-eedf4ae0918c/get_satellite_list?lang=en' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace sattvinfo-net-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: SatTvInfo SDK — satellite TV data, transponders, BISS keys."""
from parse_apis.sattvinfo_api import SatTvInfo, Language, SatelliteNotFound
client = SatTvInfo()
# List UHD satellites and inspect one's transponders
sat = client.satellites.list_uhd(lang=Language.EN, limit=3).first()
if sat:
print(sat.name, sat.position, sat.band)
for txp in sat.transponders.list(limit=3):
print(txp.txp_no, txp.freq_pol_mode, txp.sr_fec)
for ch in txp.channels:
print(ch.channel_name, ch.system, ch.encryption)
# Lookup transponders by orbital position
for txp in client.satellites.by_position(position="13.0E", limit=2):
print(txp.provider_name, txp.footprints_eirp)
# List countries, then drill into one country's channels
country = client.countries.list(limit=1).first()
if country:
for ch in country.channels.list(limit=3):
print(ch.channel_name, ch.frequency, ch.satellite)
# Typed error handling on satellite lookup
try:
detail = client.satellites.get(sat_id="130e")
print(detail.name, detail.sat_id)
except SatelliteNotFound as exc:
print(f"Satellite not found: {exc}")
# List BISS keys
for key in client.bisskeys.list(limit=3):
print(key.channel_name, key.satellite, key.biss_key)
print("exercised: satellites.list_uhd / transponders.list / by_position / countries.list / channels.list / satellites.get / bisskeys.list")
Get the full list of satellites with names, orbital positions, and frequency bands. Each satellite includes a sat_id usable for detailed channel lookups. Returns all tracked satellites across C, Ku, and Ka bands.
| Param | Type | Description |
|---|---|---|
| lang | string | Language code for response content. |
{
"type": "object",
"fields": {
"satellites": "array of satellite objects with name, sat_id, position, and band"
},
"sample": {
"data": {
"satellites": [
{
"band": "C",
"name": "NSS-9",
"sat_id": "1831e",
"position": "183.1E"
},
{
"band": "C/Ku",
"name": "ABS-6",
"sat_id": "1590e",
"position": "159.0E"
}
]
},
"status": "success"
}
}About the SatTvInfo API
Satellite and Transponder Data
get_satellite_list returns every tracked satellite with a name, sat_id, orbital position, and band (C, Ku, or Ka). Pass any sat_id to get_satellite_channels to retrieve its full transponder array. Each transponder object includes txp_no, source_date, freq_pol_mode, sr_fec, provider_name, and footprints_eirp, plus a nested channels array containing video/audio PIDs, SID, and encryption status. Large satellites can return hundreds of transponders in a single response. If you know the orbital position rather than the sat_id, get_satellite_by_position accepts a position string like '13.0E' or '4.0W' and returns the identical transponder structure.
BISS Keys, HD, and Ultra HD
get_biss_keys returns a flat list of BISS encryption keys across all satellites. Each record includes satellite, frequency, sr, channel_name, biss_key, and standard. Keys that are temporarily unavailable are indicated with a '-' value rather than being omitted. get_hd_channels and get_ultra_hd_channels each return a satellite-level list (same shape as get_satellite_list) filtered to satellites carrying HD or UHD (4K) content respectively; drill into per-channel detail by passing the returned sat_id to get_satellite_channels.
Country and Package Lookup
get_countries_list returns every country code available in the dataset. Pass any two-letter country_code to get_country_channels to get all channels receivable in that country, with fields for satellite, frequency, sr_fec, channel_name, v_pid, a_pid, sid, and footprint. Coverage is uneven — countries like ru and de have extensive records while others may return sparse results. get_tv_packages lists all indexed satellite TV packages worldwide, each with a name and package_id for reference. All endpoints accept an optional lang parameter for localized response content.
The SatTvInfo API is a managed, monitored endpoint for sattvinfo.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sattvinfo.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official sattvinfo.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a satellite dish pointing tool by looking up orbital position and band from
get_satellite_list - Populate a DVB receiver's channel database using transponder
freq_pol_mode,sr_fec, and PID fields fromget_satellite_channels - Monitor BISS key availability for specific channels using
get_biss_keyswithchannel_nameandbiss_keyfields - Filter and display 4K-capable satellites to end users by consuming
get_ultra_hd_channels - Generate a country-specific channel guide by combining
get_countries_listwithget_country_channels - Index all available satellite TV packages for a comparison tool using
get_tv_packagespackage names and IDs - Cross-reference channel footprint coverage against orbital positions for regional reception planning
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SatTvInfo.net have an official public developer API?+
What does `get_satellite_channels` return beyond basic frequency data?+
txp_no, source_date, freq_pol_mode, sr_fec, provider_name, and footprints_eirp. Nested within each transponder is a channels array containing individual channel entries with video PID (v_pid), audio PID (a_pid), SID, and encryption information.Does the BISS keys endpoint always return a valid key for every channel?+
get_biss_keys returns all tracked records, but the biss_key field may contain '-' when a key is currently unavailable rather than omitting the record. Build your consumer to handle that sentinel value.Is there an endpoint to search for a specific channel by name across all satellites?+
get_satellite_channels), by country (get_country_channels), or via position lookup (get_satellite_by_position). You can fork this API on Parse and revise it to add a cross-satellite channel name search endpoint.How complete is the country-level channel data?+
ru) and Germany (de) have extensive channel records, while some other country codes may return sparse or empty channel arrays. The get_countries_list endpoint shows which countries have any data indexed at all.