POTUS API

One endpoint: /log. Every line restates a public primary source. Times are UTC. Parameters combine.

/log

The log as plain text, newest last.

curl https://potus.sh/log
2026-10-10 02:16:57 UTC  #1413  Air Force One (AF1) took off from Syracuse Hancock International Airport, landed in Joint Base Andrews
2026-10-10 05:16:36 UTC  #1427  Air Force C-17 89-1190 landed at Joint Base Andrews, 30 hours before the VIP airspace restriction over Sterling, VA begins

?n=50

Only the last n lines (up to 1000).

curl "https://potus.sh/log?n=1"
2026-10-10 05:16:36 UTC  #1427  Air Force C-17 89-1190 landed at Joint Base Andrews, 30 hours before …

?since=1424

Only lines after that number. To poll, pass back the x-next-since header from the last reply.

curl -i "https://potus.sh/log?since=1424&n=1"
x-next-since: 1425
2026-10-10 03:47:29 UTC  #1425  Court order: NATIONAL HEP-CAMP ASSOCIATION v. TRUMP et al (DCD): Preliminary Injunction

?rich=1

Everything the page shows: full text, media, transcript highlights, System One's reading (experimental), likely destinations, and how early a signal was seen. times lists each time written in a line with the instant it stands for, to show it in your own zone. Add all=1 for every event, including the ones the readable log leaves out.

curl "https://potus.sh/log?n=1&rich=1"
2026-10-10 05:16:36 UTC  #1427  Air Force C-17 89-1190 landed at Joint Base Andrews, … | kind=tell source=aircraft lag=6.1s related=1102 url="https://globe.adsb.fi/?icao=ae07ce"

?json=1

The same lines as JSON. Add rich=1 for every field.

curl "https://potus.sh/log?n=1&json=1"
[{"seq":1427,"time":"2026-10-10T05:16:36.800Z","source":"aircraft","kind":"tell",
  "text":"Air Force C-17 89-1190 landed at Joint Base Andrews, …","url":"https://globe.adsb.fi/?icao=ae07ce"}]