a public registry of the geostationary beltLast updatedData as of 2026-11-01. FCC workbook 2026-09-27.
about.htm

About Clarke

Clarke is a reference record of who sits at each GEO longitude. A row lists the satellites in the occupancy window, the operator on the record, FCC filings when Clarke has them, how fresh the orbit data is, and disagreements between the UCS catalog longitude and the Space-Track TLE.

476 positions, 469 on station. Positions are registry rows, one per slug. On station means at least one satellite in the ±0.4° occupancy window. Data as of 2026-11-01. FCC workbook 2026-09-27. The same sentence is on the orbital registry, the docs, llms.txt, and the API description.

Occupancy

Satellites in the ±0.4° window and the operator on the record.

FCC filings

Call sign, licensee, and bands when an SSAL row matches the longitude.

Freshness and disputes

TLE epoch, catalog vintage, and a flag when the catalog longitude and the TLE differ by more than 2°.

476positions
469on station
167FCC authorizations

Explore the registry

Named after Arthur C. Clarke, who first described geostationary orbit in 1945. The Clarke Belt, the ring of satellites 35,786 km above the equator, is named in his honor.

Why Now?

Geostationary orbit is a ring of longitudes. Operators file for them and fly satellites to them. Clarke keeps the occupancy, the FCC filing, and the orbit freshness in one table.

Fixed longitudes

Clarke's table is the positions it can support from the UCS catalog, Space-Track TLEs, and FCC records. ITU filings are not in this product. This page does not state a count of ITU filings.

A filing and a satellite are separate records

An FCC authorization and a satellite in the ±0.4° window are stored separately. A filing with no satellite in the window stays a paper filing. A satellite with no FCC row stays on station, unlicensed.

Catalog longitude and TLE longitude

The UCS catalog and the Space-Track TLE can give different longitudes for the same satellite. Clarke occupies at the TLE when the quality gates pass, keeps the catalog longitude beside it, and flags a disagreement above 2°. A catalog longitude of 0, or a missing catalog longitude, is not a position and does not create a dispute.

One count

476 positions, 469 on station. Positions are registry rows, one per slug. On station means at least one satellite in the ±0.4° occupancy window. The UCS snapshot has 590 GEO rows. 565 GEO satellites have an occupancy longitude, including station-kept payloads launched after that snapshot. The belt draws 532 TLE occupancy marks.

Agents API

Clarke exposes a read-only HTTP API and a Model Context Protocol server so autonomous agents can query the registry without scraping HTML. The same operations layer backs both transports, so the HTTP data object and the MCP slot tools return the same slot record. The public agents API is unauthenticated. The field list is Agent API. Valuation and congestion are not in the public agent or MCP payload. They live only as labeled models on the human Slot Terminal and must not be treated as facts. Bid/ask, comps, and dollar strings live on that Terminal surface. Pro Terminal routes are a separate authenticated surface.

HTTP endpoints

GET /api/v1/agents/slots
Compact page of 50 by default: slug, label, longitude, region, operatorIdentity, country, status, satCount. view=full returns the slot record, paged. all=1 is the explicit full list. No valuation or congestion.
GET /api/v1/agents/slots/{slug}
One slot record. operatorIdentity is split, single, or none. ituRecorded is not_in_product. fccStale and tleStale are on sourceVintage. tleStale is true when a TLE used for occupancy is older than 45 days. A UCS fallback row does not invent a TLE epoch. Valuation and congestion live only as labeled models on the human Slot Terminal.
GET /api/v1/agents/satellites
GEO satellites from the UCS database. Optional filters: operator, ownerCountry, limit (max 1000), offset. HTTP defaults limit to 100. all=1 returns the matching rows. The MCP tool defaults limit to 100.
GET /api/v1/agents/deltas
On-ingest occupancy, FCC, and dispute changes, 40 rows a page. coverage is bootstrap until a second registry snapshot exists, so empty occupancy changes are not a claim that nothing moved. tle_epoch is included once a later snapshot exists. Pass after from nextAfter to continue. Valuation and congestion live only as labeled models on the human Slot Terminal. Field list: /docs/agent-api.
GET /api/v1/openapi
OpenAPI 3.1 document covering agents and Pro Terminal routes.
GET /api/v1/terminal/slots/{slug}
Pro: Slot Terminal model — TLE-primary occupancy, recorded FCC layers, valuation v0. Simulated book / ITU stubs are labeled experimental, not the default view.
GET /api/v1/terminal/valuations/{slug}/history
Pro: daily valuation snapshots (persisted or model backfill). Not trade prints.

Response shape

Every successful response is a JSON envelope with a versioned data field and a meta object: API version, generated_at, and on list routes a count equal to the number of rows in data. The slot list also sends total, offset, limit, and next_offset. Slot routes include meta.data_freshness. Responses set ETag and Cache-Control: public, max-age=60, s-maxage=2592000, stale-while-revalidate=2592000. Vary is Accept-Encoding only. A matching If-None-Match returns 304.

{
  "data": [],
  "meta": {
    "version": "1.0",
    "generated_at": "2026-09-30T12:00:00.000Z",
    "count": 0,
    "data_freshness": []
  }
}

count is data.length on list routes. The zeros above are the envelope shape, not the live registry size. Slot detail omits count and includes data_freshness.

Rate limits and validation

Rate limit

Public agents API: 60 requests per minute per IP. Pro Terminal API: 300/min per key or session. A 429 response includes a Retry-After header in seconds.

Input validation

All path slugs are validated against /^[a-z0-9-]+$/ and query parameters against per-field regex caps. Path traversal attempts and injection patterns return 400. Tickers are restricted to /^[A-Z0-9.-]{1,10}$/.

CORS

All routes allow cross-origin reads (Access-Control-Allow-Origin: *) with GET and OPTIONS (Terminal also POST for keys). Preflight responses cache for 24 hours. Pro routes accept Authorization: Bearer or X-Clarke-Key.

Model Context Protocol (MCP) server

The same operations are exposed as MCP tools so Claude Code, Cursor, and any other MCP-compatible client can query Clarke in plain English. Remote clients use stateless Streamable HTTP at https://www.clarkebelt.finance/api/v1/mcp. Reads are open, with the same 60 requests per minute per IP limit as the public agents API. GET returns 405 because this host does not keep a server-push SSE stream. Clients continue with POST. Local stdio (npm run mcp) remains for a checkout of this repo and reads the SQLite database directly.

Remote MCP
{
  "mcpServers": {
    "clarke": {
      "url": "https://www.clarkebelt.finance/api/v1/mcp"
    }
  }
}
Local stdio
{
  "mcpServers": {
    "clarke": {
      "command": "npm",
      "args": ["run", "mcp", "--silent"],
      "cwd": "/absolute/path/to/clarke"
    }
  }
}

Available tools: clarke_list_slots, clarke_get_slot, clarke_get_terminal, clarke_list_deltas, clarke_list_satellites. clarke_get_terminal returns the same JSON as clarke_get_slot. That JSON is the agent slot record. Valuation and congestion live only as labeled models on the human Slot Terminal.

Scope and roadmap

The current surface is read-only. Event streams and metered access for high-volume agent consumers are on the roadmap but not implemented.

Orbital Slots

Geostationary orbit sits exactly 35,786 km above the equator, the altitude at which a satellite's orbital period matches Earth's rotation. From the ground it appears stationary. The International Telecommunication Union manages this ring globally. Clarke does not record ITU filings. See Why Now? for the catalogs this table uses.

Source: Aerospace Corporation, "Orbital Slots for Everyone?" (2018).

Status definitions

On station

A satellite is in the occupancy window. When an FCC authorization also matches, a curated squatted or inactive label is not kept.

Paper filing

An FCC record is on file and no satellite is in the occupancy window. That is not proof the satellite never launched. ITU filings are not recorded here.

On station, unlicensed

A satellite is in the occupancy window and Clarke has no FCC market-access row. This is not an ITU squatting finding.

Inactive

No satellite is counted in the occupancy window.

Frequency bands

C3.7–4.2 GHzLegacy cable TV distribution. Large dishes, rain-resistant. Widely used in Africa, Asia, and Latin America.
Ku11.7–12.7 GHzPrimary direct-to-home broadcasting band. Smaller consumer dishes. Sky, DirecTV, and Canal+ all operate in Ku.
Ka26.5–40 GHzHigh-throughput broadband. Gigabit-class capacity per satellite but susceptible to rain fade.
X8–12 GHzMilitary and government communications. Restricted to state and defense use in most jurisdictions.

Data Sources

Clarke reads public catalogs and filings and keeps one row per registry slug. Sources marked Live are in this build. Sources marked Planned are not ingested.

Live data freshness
FCC-SSAL167 rows
Parsed Nov 1, 2026
As-of 2026-09-27
SEC EDGAR552 rows
Parsed Nov 1, 2026
Space-Track TLE1,474 rows
Parsed Nov 1, 2026
TLE epoch 2026-05-14 to 2026-11-01
Space-Track satcat1,745 rows
Parsed Nov 1, 2026
UCS7,551 rows
Parsed Nov 1, 2026
As-of 2023-04-07
Union of Concerned Scientists
Bi-annual

A normalized database of active satellites with operator, country, purpose, orbital regime, launch date, and expected lifetime. Clarke ingests that GEO catalog as identity. Occupancy longitude is TLE-primary, with this catalog as fallback. The registry table is one row per slug: satellites that share an occupancy longitude rounded to 0.1° are a single row, and a satellite inside a curated slot's 0.4° window is occupancy on that row.

The most accessible normalized dataset of active satellites available publicly. It supplies catalog identity and the occupancy fallback. Satellite names are the catalog identity. Catalog longitudes are the UCS snapshot, not the occupancy authority. Individual satellite identifiers (NORAD/COSPAR) have known accuracy issues in the UCS source and are not displayed.

FCC International Bureau
Updated as granted

The official FCC list of all space stations authorized to operate in or serve the United States. Clarke ingests 174 GEO authorizations covering US-licensed operators and foreign operators with US market access grants. Fields include call sign, licensee, authorized frequency bands (C/Ku/Ka/L), service type, administration, and in-orbit date.

The only government-issued, per-satellite licensing record Clarke currently has. Directly expresses the spectrum coordination pillar: which frequencies are authorized at which position, under which jurisdiction. A position absent from this list has no FCC authorization, which is itself a meaningful signal for US market access.

Continuous

ITU filings are not in this product. SNS Online shut down in January 2025. ITU Space Explorer is the current public ITU source for filings and brought-into-use status. Clarke has not confirmed an export or API from Space Explorer, so no ITU ingest is promised.

An ITU filing layer would cover operators outside US market access. Until that ingest exists, ituRecorded stays not_in_product on every slot.

US Securities and Exchange Commission
Quarterly / Annual

Structured XBRL financial facts (revenue, net income, operating income, total assets) from the three GEO operators that actually file with the SEC: Viasat (10-K/10-Q), SES (20-F/6-K), and Telesat (20-F/6-K). Eutelsat and Intelsat are not included: Eutelsat has only an ADR registration on file, no financial disclosures, and Intelsat's US entity deregistered after being absorbed into SES.

The only public source of company-level economic data for operators whose fleets anchor Clarke's registry. This is company-level structured data, not slot-level, extracting revenue by specific orbital position from unstructured filing text is a harder problem and not yet attempted.

18th SDS / US Space Force
Daily

Two-line element sets (TLEs) and satcat identity for GEO-like objects. Clarke uses the TLE, evaluated at its own epoch, as the occupancy longitude when age and quality gates pass. UCS catalog longitude is kept beside it. TLE longitude is a tracked-object location, not an FCC assignment or ITU filing.

UCS GEO longitudes are an older catalog snapshot. Occupancy, congestion v0, and valuation v0 cluster on TLE-primary longitude, with the UCS catalog as fallback, so a stale catalog longitude is visible instead of silently used. MUOS-2 is the standing example: the UCS catalog still says 100.1°W while occupancy follows the TLE near 172°E. TLE longitude is not an FCC assignment or an ITU filing.

Dr. T.S. Kelso
Daily

Curated TLE datasets organized by category: active satellites, debris, rocket bodies, country of origin. A more accessible interface to Space-Track data with historical archives going back decades.

Planned as the cross-reference layer for validating UCS satellite identifiers. A spot-check against Celestrak surfaced significant NORAD ID errors in the current UCS import, which is why those identifiers are currently omitted from Clarke.

Gunter Krebs
Ongoing

A comprehensive reference database of spacecraft and launch vehicles. Covers thousands of satellites with mission descriptions, launch records, operator details, and orbital parameters.

Particularly useful for tracking older GEO assets and alternative names. Many satellites in the UCS database carry multiple aliases that complicate operator matching across sources.

Jonathan McDowell
Ongoing

Detailed launch and satellite records maintained by a Harvard astrophysicist. Includes subsatellite catalogs, orbital history, and launch manifests going back to the beginning of the space age.

The most meticulous public record of orbital launches and satellite histories. Useful for building historical transaction context that neither ITU filings nor FCC records fully describe.

Data Quality

UCS vs TLE longitude

Occupancy clustering prefers a Space-Track TLE sub-satellite longitude when the TLE was fresh at ingest and passes GEO-payload quality gates (active payload, eccentricity, mean motion). UCS longitude remains the catalog value and is shown next to the TLE with a delta and a disputed flag when they differ by more than 2°. TLE longitude is not an FCC license location or ITU filing. The count of disagreements moves with each TLE ingest and is not a fixed registry total.

Satellite identifiers

The UCS database includes NORAD catalog numbers and COSPAR international designators for each satellite. These identifiers are stored in Clarke's database but are not displayed to users. A spot-check of nine satellites against independent Celestrak records found that five had incorrect NORAD IDs, with some pointing to entirely different satellites at different orbital positions and one pointing to decayed re-entry debris. The satellite names, operator names, and orbital positions were generally accurate in the same check. Identifiers will be surfaced once they have been validated against an authoritative source.

FCC coverage scope

The 167 FCC authorizations in Clarke cover US-licensed operators and foreign operators with FCC-granted US market access. Satellites licensed entirely under non-US administrations, including most European, Russian, Chinese, and Asian operators, do not appear in FCC records and will show no authorization data on their position pages. This is a reflection of jurisdiction, not a gap in data collection.

Status labels

Position status labels in the registry (On station, Paper filing, On station unlicensed, Inactive) are derived from the UCS classification, which marks satellites as active based on reported operational status at the time of the snapshot. The UCS does not independently verify operational status in real time, and updates follow its twice-yearly cadence, so decommissions and new launches typically take up to six months to show up after they are publicly announced.

SEC financial data currency

Viasat and SES both have current SEC financial data (Viasat through its most recent 10-Q, SES through its FY2025 20-F). Telesat's structured XBRL data caps at fiscal year 2021, the SEC's system has no more recent tagged financial facts for the entity on file, despite Telesat's ongoing 6-K filings since then. Treat Telesat's revenue and income figures as historical reference points, not current financials.

Registry Methodology

Satellite and ownership layer

The registry's satellite layer comes from the UCS Satellite Database (see Data Sources above). This build has 7,551 UCS satellite rows across GEO, LEO, and MEO, of which 590 are GEO. 476 positions, 469 on station. Positions are registry rows, one per slug. On station means at least one satellite in the ±0.4° occupancy window. LEO and MEO stay out of the GEO registry table.

Authorization layer

FCC authorization records from the Approved Space Station List are ingested as a second layer on top of the UCS satellite data. For each GEO position, Clarke queries the FCC table for any authorization within 0.6 degrees of the nominal longitude. Where a match exists, the detail page for that position shows the FCC call sign, licensee name, authorized frequency bands, administration, and in-orbit date. Where no match exists, the position has no US FCC authorization, which is expected for satellites licensed under non-US administrations.

Co-location grouping

Multiple satellites operating at the same nominal longitude are grouped together using a tolerance of 0.4 degrees on the occupancy longitude (Space-Track TLE when usable, otherwise UCS). This matches ITU co-location practice. The grouping is physical occupancy, not an FCC or ITU assignment: SES-1 stays at 101°W because its TLE agrees with UCS; MUOS-2, whose UCS row still says 100.1°W, occupies at its TLE near 172°E.

Congestion scoring

Congestion v0 is a labeled model on the Slot Terminal, not a recorded fact and not a registry column. It is a normalized 0 to 100 index blending three signals at a position: arc density (GEO satellites whose occupancy longitude is within 2 degrees), direct co-location (within 0.4 degrees), and contention (distinct operators). Occupancy longitude is TLE-primary, with the UCS catalog as fallback. Density contributes up to 50 points, co-location up to 30, and operator contention up to 20. A position packed by a single operator scores lower on contention than an equally dense arc contested by many operators, because multi-operator arcs carry a heavier interference-coordination burden. The tiers are Sparse for 0 to 14, Low for 15 to 34, Moderate for 35 to 54, High for 55 to 74, and Critical for 75 to 100. Scores reflect tracked hardware, not filed ITU positions, so they understate coordination pressure in arcs with heavy filing or squatting activity.

Valuation model v0

Each position carries a heuristic implied valuation, expressed as a range rather than a point figure because it is derived from public data, not transaction records. A $30M baseline is multiplied by arc desirability, a GDP/population coverage proxy by longitude band, occupancy (co-located satellites), remaining-life quality from UCS lifetime fields, operator tier, spectrum (when known), scarcity (congestion score), and FCC/license plus paper-vs-brought-into-use signals. Every factor and its multiplier is shown on the Slot Terminal (Pro) so the estimate can be inspected. Confidence is high for curated positions, medium for active positions with a known operator, and low for sparsely-attributed UCS-derived entries; the range widens as confidence falls. History is a seeded 30-day model path in data/terminal.db, not observed trades. This is an analytical model, not an appraisal, a quote, or investment advice.

Full methodology: Docs · data trust · agent API · valuation v0 · FCC refresh.