Upptime generates static JSON APIs and data endpoints that you can use to access uptime and response time data for your monitored sites. All data is stored in your GitHub repository and is publicly accessible via GitHub’s raw content CDN.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/upptime/upptime/llms.txt
Use this file to discover all available pages before exploring further.
API Endpoints
Upptime automatically generates JSON endpoints for each monitored site in theapi/ directory of your repository.
Endpoint Structure
For each site defined in.upptimerc.yml, Upptime creates a dedicated directory:
Uptime Data
All-time Uptime
Returns the all-time uptime percentage for a site
Schema version number (always
1)Badge label text (e.g.,
"uptime")Uptime percentage (e.g.,
"99.99%")Badge color based on uptime:
brightgreen (>95%), yellow (90-95%), red (<90%)Time-based Uptime
Similar endpoints are available for specific time periods:/api/{site-slug}/uptime-day.json- Last 24 hours/api/{site-slug}/uptime-week.json- Last 7 days/api/{site-slug}/uptime-month.json- Last 30 days/api/{site-slug}/uptime-year.json- Last 365 days
Response Time Data
Average Response Time
Returns the average response time for a site
Schema version number (always
1)Badge label text (e.g.,
"response time")Average response time with unit (e.g.,
"127 ms")Badge color based on response time:
brightgreen (<1s), yellow (1-3s), red (>3s)Time-based Response Time
Similar endpoints for specific time periods:/api/{site-slug}/response-time-day.json- Last 24 hours average/api/{site-slug}/response-time-week.json- Last 7 days average/api/{site-slug}/response-time-month.json- Last 30 days average/api/{site-slug}/response-time-year.json- Last 365 days average
Historical Data
Upptime stores historical status data in YAML files in thehistory/ directory.
History File Structure
YAML file containing the current status of a monitored site
The monitored URL
Current status:
up or downHTTP status code from the last check
Response time in milliseconds from the last check
ISO 8601 timestamp of the last check
ISO 8601 timestamp when monitoring started
Generator information (e.g.,
"Upptime <https://github.com/upptime/upptime>")Accessing the API
All API endpoints are accessible via GitHub’s raw content CDN:Using with Shields.io
The JSON endpoints follow the Shields.io endpoint schema, allowing you to create dynamic badges:Generated Graphs
Upptime also generates response time graphs as PNG images in thegraphs/ directory:
graphs/{site-slug}/response-time-day.pnggraphs/{site-slug}/response-time-week.pnggraphs/{site-slug}/response-time-month.pnggraphs/{site-slug}/response-time-year.pnggraphs/{site-slug}.png- All-time graph
Rate Limits
Since the data is hosted on GitHub, access is subject to GitHub’s CDN rate limits. For public repositories, these limits are generally very generous. Consider:- Caching responses on your end
- Using the GitHub API instead for authenticated access (higher rate limits)
- Hosting critical integrations on your own infrastructure
Next Steps
Configuration Reference
Learn about all available configuration options in
.upptimerc.ymlGitHub Actions API
Explore workflow commands and manual triggers