global-speed-checker
Global Speed Checker
Check HTTP endpoint performance from 28 regions worldwide.
When to Use
- "check the speed of https://openstatus.dev"
- "test https://openstatus.dev globally"
- "how fast is my API from different regions"
Workflow
1. Parse Request
Extract from user's message:
- URL (required)
- Method (optional, default: GET)
- Headers (optional)
- Body (optional)
2. Make API Call
curl -s -L -X POST "https://openstatus.dev/play/checker/api?compact=true" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","method":"GET"}'
The response contains newline-delimited JSON. Each line is a region result. Final line is the check ID.
Note: The compact=true parameter reduces response size by removing headers/body and returning calculated timing phases.
3. Process and Display Results
Parse the response (newline-delimited JSON) and create a markdown table sorted by latency (fastest first):
- Columns: Region | Latency | Status | DNS | Connection | TLS | TTFB | Transfer
- Region: Map code to name using the Read tool to load references/regions-detailed.md (e.g.,
fraβ "Frankfurt (Fly) π©πͺ") - Timing phases: In compact mode, timing phases are pre-calculated in the response (dns, connection, tls, ttfb, transfer). Otherwise, calculate from raw
timingobject (e.g., DNS =dnsDone - dnsStart) - Sorting: Sort the parsed results array by latency value before rendering the table
4. Add Summary
**Fastest**: [region] ([latency]) β’ **Slowest**: [region] ([latency]) β’ **Average**: [avg]ms β’ **Success rate**: [x/y] ([%])
[View and share results](https://openstatus.dev/play/checker/[check-id])
Then ask: Would you like to see detailed insights or structured JSON data?
5. Optional: Insights (if requested)
Analyze results (3-5 observations):
- Status codes, regional gaps, TLS/TTFB/DNS performance
- See references/insights-generation-guide.md
6. Optional: JSON Export (if requested)
Provide complete results as structured JSON.
Region Mapping
Common codes:
fraβ Frankfurt (Fly) π©πͺiadβ Virginia (Fly) πΊπΈsinβ Singapore (Fly) πΈπ¬lhrβ London (Fly) π¬π§koyeb_fraβ Frankfurt (Koyeb) π©πͺrailway_us-west2β California (Railway) πΊπΈ
Full list: references/regions-detailed.md
Error Handling
Rate Limit (429): Show limit, remaining, reset time
Invalid Request (400): Show error message and details from response
No Client IP (400): Explain VPN/proxy may cause this
Reference Files
- regions-detailed.md - Complete region mapping
- timing-phases.md - Timing explanations and optimization
- insights-generation-guide.md - Insight patterns
- performance-benchmarks.md - Expected performance ranges
- common-issues.md - Troubleshooting guide
Notes
- Tests from 28 regions (Fly.io, Koyeb, Railway)
- Takes ~2-5 seconds
- Rate limit: 3 requests per 60 seconds
- Results cached for 7 days