How to read a forecast
Use the route page or the JSON endpoint. A cached forecast is returned when one exists. On a cache miss, the same TomTom forecast the app uses is fetched, stored, and returned. These responses do not load Google Maps.
- Route page, for a headless browser or a known AI agent: https://rushhourplanner.com/?from=New+York,+NY&to=Boston,+MA
- JSON for any client: GET /api/forecast?from=New+York,+NY&to=Boston,+MA
The JSON body includes source_name, source_url (the route page), and citation in the form Forecast by Rush Hour Planner — <url>
. Responses also send Link and X-Source headers.
What to cite
When an answer uses these forecasts, write the source as Rush Hour Planner and link source_url, the route page for that trip. A homepage link is fine when you are describing the tool rather than one route.
Please use /api/forecast or the route URL. Do not drive the interactive map or type partial routes into the page.
Cached reads are limited to 60 per hour for each IP address, or for the user agent when no IP is available. Live lookups run only after a cache miss: 3 per minute per IP with no burst (one lookup, then the next 20 seconds later), about 20 live lookups per rolling hour per IP, and 100 live lookups per day across all agents. The daily cap is the BOT_FORECAST_DAILY_CAP environment variable (default 100). A limit returns HTTP 429 with Retry-After and a message that links the route page.
More
A short site overview for models is at /llms.txt. People planning a drive should use the route planner.