Get a single report by share slug
Fetch one report using the opaque share_slug found on a report object
(and in its share_url). This is the JSON counterpart of the public share
page.
Every failure to find a shareable report returns the same 404: an
unknown slug, a removed or moderated report, and a report with nothing to
show all look identical on purpose.
The report.
application/json- response
data*A community sighting of the mountain.
curl -X GET 'https://api.isthemountainout.com/v1/reports/share/7Hk2mQ9xWbRt'{ "data": { "id": 48120, "report_id": 48120, "share_slug": "7Hk2mQ9xWbRt", "share_url": "https://isthemountainout.com/s/7Hk2mQ9xWbRt", "state": "mountain_out", "state_string": "Mountain OUT!", "state_percentage": 100, "h3_index": "8628f015fffffff", "location_name": "Seattle", "source": "app", "webcam_thumb_url": null, "image_url": "https://example.com/media/reports/48120/medium.jpg", "thumb_url": "https://example.com/media/reports/48120/hero.jpg", "photo_id": 9021, "user": null, "created_at": "2026-08-15T20:10:00.123+00:00", "observed_at": "2026-08-15T20:08:00.000+00:00" }}List recent reports GET
A cursor-paginated feed of community reports, newest first, 10 per page. Reports that are hidden or moderated are not included. Use `since` to poll for new reports. Passing the highest `id` you have seen is lossless and recommended; an ISO 8601 timestamp also works. `since` is exclusive (strictly after). Anonymous responses are publicly cacheable and support conditional GET with `ETag` / `If-None-Match`. The response varies on the `Authorization` header.
Get headline status stats GET
A small rolled-up payload for a status dashboard: lifetime report count, how many reports came in today, and how many of the last 7 days the mountain was "out" (the most common state that day was `mountain_out`). Supports conditional GET (`ETag` / `If-None-Match`). Cacheable for 60 seconds.