---
title: "Rank countries by measured internet quality (Cloudflare Radar)"
method: GET
path: "/api/connectivity.json"
---

# Rank countries by measured internet quality (Cloudflare Radar)

`GET /api/connectivity.json`

## Request

- Base URL: `https://geo-parity.com`
- URL: `https://geo-parity.com/api/connectivity.json`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in query parameter `key`

Median download/upload (Mbps) and median idle latency/jitter (ms) per country, aggregated from real connections over a 28-day window, plus a call-quality verdict derived from latency and jitter rather than bandwidth. Coverage is wider than the site's country pages (~200 locations). A country with too little data is absent from the results, never returned as zero. Returns 422 with code NO_DATA when no refresh has run yet.

## Query parameters

- `sort` 'download' | 'upload' | 'latency' | 'jitter'
- `minDownload` number
- `maxLatency` number
- `limit` number

## Response `200`

Ranked countries with an attribution block

## Other responses

- `422`: No measurements available yet (code NO_DATA)

---

[API](https://skmtc.dev/geo-parity/apis/geo-parity-api.md) · [All operations](https://skmtc.dev/geo-parity/apis/geo-parity-api/llms.txt) · [OpenAPI document](https://skmtc.dev/geo-parity/apis/geo-parity-api/revisions/8ddff47a0806?raw)
