Developers

Read trail data from TrailHUB, manage your trail systems from scripts and AI assistants, and build your own maps on the published GeoJSON.

TrailHUB exposes three ways to work with trail data outside the web app. Pick the one that matches what you are building.

#What's available

Public read APIManagement API v1MCP server
PurposeRead a trail system's data and published GeoJSONRead and change your trail systemsLet an AI assistant (Claude Desktop, Claude Code, Cursor, …) manage your trail systems in natural language
AuthenticationNone (public)API key or signed-in sessionAPI key (via the Management API)
Who can use itAnyoneManagers of a trail system (owner, administrator or trustee)Managers of a trail system
Base URLhttps://trailhub.org/api/…https://trailhub.org/api/v1/…Runs locally on your computer
WritesNoYesYes

#Public read API

The legacy endpoints (/api/ts/:id, /api/trails/:id, /api/trail-systems, …) return JSON about a trail system, its trails and points, plus a URL to the compiled GeoJSON file that powers the public map. They need no credentials. Use them to build your own map, status board or trail-conditions widget.

Note that browser (cross-origin) calls to these endpoints are limited to an allowlist of origins; server-side calls work from anywhere. See Public read API.

#Management API v1

A JSON REST API for everything a manager does in the web app: open and close trails, post notices, surface conditions and snow reports, add points of interest, edit trail system details. Every write queues a recompile so the public map, stats and embeds update within seconds. Authenticate with an API key created in User Settings → API Keys. See Management API v1 and API keys.

#MCP server

A small Node program that wraps the Management API as Model Context Protocol tools, so you can say "close every trail and post a high-wind notice" to an AI assistant and have it done. See MCP server.

#Who this section is for

  • Trail managers who want to automate routine updates (grooming reports, seasonal closures, scheduled notices).
  • Web developers building a custom map or conditions page for a trail system on their own website.
  • Anyone using an AI assistant who wants it to read or manage their TrailHUB data.

You do not need to be a programmer to use the MCP server; you do need to be comfortable editing a configuration file once.

#Plans and access

  • The Management API and API keys are available to every TrailHUB manager account; create a key under User Settings → API Keys at trailhub.org.
  • The public read API is unauthenticated. Historically, developer API access was marketed as a top-tier feature (Double Diamond / Star plans). The code does not enforce a plan check on either API today, but the stored hourly weather snapshot returned by /trail-systems/:id/weather is only collected for paid tiers.
  • There is no rate limiting yet. Be considerate: poll the public endpoints no more than every few minutes, and cache the GeoJSON file.

#Pages in this section

  1. API keys — create, scope, restrict and revoke keys.
  2. Management API v1 — full endpoint reference with examples.
  3. Public read API — the unauthenticated legacy endpoints and the published GeoJSON format.
  4. MCP server — connect Claude or another MCP client to TrailHUB.
  5. Webhooks and automation — what exists (and does not) for event-driven integrations.

Related: the Grooming Tracker app records GPS tracks and automatically posts "Groomed" surface conditions.

#Getting help

Discovery endpoints need no credentials and are the quickest way to confirm what the API accepts:

curl https://trailhub.org/api/v1            # endpoint list and enum values
curl https://trailhub.org/api/v1/update-types   # fields for notice / surfaceConditions / snowReport

If something in these docs does not match what the API returns, the API is right; please let us know so the docs can be corrected.

#In this section

  • API keys

    Create, scope, restrict and revoke the API keys that let scripts and AI assistants act on your trail systems.

  • Management API v1

    Complete reference for the authenticated TrailHUB Management API: trail systems, trails, points, updates, API keys, errors and examples.

  • Public read API

    The unauthenticated legacy endpoints for reading trail systems, trails and points, and the format of the published GeoJSON file.

  • MCP server

    Connect Claude Desktop, Claude Code or any MCP client to TrailHUB so you can manage trails, notices and conditions in plain language.

  • Webhooks and automation

    What TrailHUB offers for automation today, what it does not (no webhooks yet), and practical patterns that work now.