Speedtest by Ookla API

HealthyRead-only

Internet speed statistics from the Speedtest Global Index: country and city rankings for fixed broadband and mobile (download, upload, latency), monthly history per country, worldwide averages, and Speedtest test-server search. Generated from www.speedtest.net.

Base URL
https://api.maviapi.com/v1/sites/speedtest
Version
7
Endpoints
1083ms
p50 latency
39
Calls / 30d
GET/servers

Initial release

Search Speedtest test servers by city, country or sponsor (network) name. Returns up to 100 servers with id, sponsor, location, host and coordinates.

Bearer auth. Pass your key as Authorization: Bearer <key> on every request.
stringRequiredin query

City, country or sponsor name

integerOptionalin query

Page size

integerOptionalin query

Items to skip

booleanOptionalin query

Bypass and repopulate the cache

dataobject
cachedboolean
sourcestring
paginationobject
Try itLive
GET
https://api.maviapi.com/v1/sites/speedtest/servers?search=berlin&limit=10&offset=0&refresh=false
Request
curl "https://api.maviapi.com/v1/sites/speedtest/servers?search=berlin&limit=10&offset=0&refresh=false" \
-H "Authorization: Bearer $MAVI_KEY"
Example648 B
{
  "data": {
    "search": "berlin",
    "count": 25,
    "servers": [
      {
        "id": "49516",
        "name": "Berlin",
        "sponsor": "Internetnord GmbH",
        "country": "Germany",
        "country_code": "DE",
        "host": "speedtest.internetbolaget.nu.prod.hosts.ooklaserver.net:8080",
        "https": true,
        "lat": 52.5167,
        "lon": 13.3833,
        "isp_id": "322522"
      }
    ]
  },
  "cached": false,
  "source": "https://www.speedtest.net/api/js/servers?engine=js&search=berlin&limit=100",
  "pagination": {
    "total": 25,
    "limit": 50,
    "offset": 0,
    "count": 25,
    "has_more": false
  }
}

Get all the data, no code

Collect every page of GET /servers into a dataset, then download it as CSV or JSON. One credit per page; the download is free.

Use Speedtest by Ookla API from Claude, Cursor and other AI agents

The maviapi MCP server exposes every endpoint of this API as a typed tool. Works with no key on the shared demo limits.

Other clients
claude mcp add maviapi -e MAVIAPI_TOOLS=speedtest -- npx -y '@maviapi/mcp'

Build with the Speedtest by Ookla API

Start with the operation and schema your application needs. This reference is generated from the currently published build, so its parameters and fields describe the API you can call. Use the console to inspect a response before adding it to a production workflow. The examples illustrate the response shape; they are not a promise that a particular record or value will still exist when you make a request.

For a dashboard or internal tool, fetch the specific data your screen needs and handle empty results explicitly. For a recurring collection, check whether the selected endpoint returns a paginated collection and supports saving to a dataset. A dataset can be exported as CSV or JSON and refreshed on a schedule. Review current plans and credit limits before running a large collection; a single export can require more than one API request.

Choose a starting endpoint

  • GET /servers

    Search Speedtest test servers by city, country or sponsor (network) name. Returns up to 100 servers with id, sponsor, location, host and coordinates.

    Parameters and response fields for GET /servers
    Request parameters
    NameType / locationRequiredDescription
    searchstring / queryYesCity, country or sponsor name
    limitinteger / queryNoPage size
    offsetinteger / queryNoItems to skip
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
    paginationobject
  • GET /rankings

    Speedtest Global Index country ranking for fixed broadband or mobile internet, by median or mean speed (download, upload, latency, jitter, rank and month-over-month rank change). Filter by country with q.

    Parameters and response fields for GET /rankings
    Request parameters
    NameType / locationRequiredDescription
    typestring / queryNoConnection type: fixed broadband or mobile Allowed values: fixed, mobile.
    metricstring / queryNoWhich speed statistic the ranking is based on Allowed values: median, mean.
    qstring / queryNoFilter by country name, ISO code or slug
    limitinteger / queryNoPage size
    offsetinteger / queryNoItems to skip
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
    paginationobject
  • GET /countries

    Every country in the Speedtest Global Index with its fixed and mobile median and mean speeds and ranks. Use slug with /countries/{slug}.

    Parameters and response fields for GET /countries
    Request parameters
    NameType / locationRequiredDescription
    qstring / queryNoFilter by country name, ISO code or slug
    limitinteger / queryNoPage size
    offsetinteger / queryNoItems to skip
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
    paginationobject
  • GET /cities

    Speedtest Global Index city ranking (median speeds) for fixed broadband or mobile. Filter with q by city or country.

    Parameters and response fields for GET /cities
    Request parameters
    NameType / locationRequiredDescription
    typestring / queryNoConnection type: fixed broadband or mobile Allowed values: fixed, mobile.
    qstring / queryNoFilter by city name, or country name / ISO code
    limitinteger / queryNoPage size
    offsetinteger / queryNoItems to skip
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
    paginationobject
  • GET /global

    Worldwide median and mean fixed-broadband and mobile speeds for the latest month, with 13 months of history.

    Parameters and response fields for GET /global
    Request parameters
    NameType / locationRequiredDescription
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
  • GET /countries/{slug}

    One country's Speedtest Global Index report: current fixed and mobile median/mean speeds, rank and rank change, plus 13 months of monthly history.

    Parameters and response fields for GET /countries/{slug}
    Request parameters
    NameType / locationRequiredDescription
    slugstring / pathYesCountry slug from /countries or /rankings
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
  • GET /explore

    Country overview in one call: resolve a country by name or ISO code, then return its fixed and mobile ranks and speeds, its ranked cities, 13-month history and its test servers (paginated).

    Parameters and response fields for GET /explore
    Request parameters
    NameType / locationRequiredDescription
    qstring / queryYesCountry name, ISO code or slug
    includestring / queryNoWhich extra legs to chain: monthly history, test servers, both, or neither Allowed values: all, history, servers, none.
    limitinteger / queryNoPage size
    offsetinteger / queryNoItems to skip
    refreshboolean / queryNoBypass and repopulate the cache
    Top-level response fields
    FieldTypeDescription
    dataobject
    cachedboolean
    sourcestring
    paginationobject

Integration questions

Is this the official Speedtest by Ookla API?

This is an independent API hosted by maviapi for data from https://www.speedtest.net. Its available operations are the endpoints in this reference. It does not imply a partnership with the source website or access to that website's private data. Check the source's own developer documentation separately if you need its official API or a feature outside this schema.

What can I do with this Speedtest by Ookla integration?

Internet speed statistics from the Speedtest Global Index: country and city rankings for fixed broadband and mobile (download, upload, latency), monthly history per country, worldwide averages, and Speedtest test-server search. The current reference contains 7 endpoints. All published endpoints use GET, so this build is for reading data, not changing the source website. Choose the operation that matches your workflow, then inspect its required parameters and response fields. Do not assume an unlisted operation is supported.

How do I authenticate and try a request?

Create a maviapi API key in the dashboard and send it in the Authorization header as Bearer followed by your key. The interactive console above provides parameter forms and cURL, Node.js and Python examples for the selected endpoint. Replace example values with inputs for your task. Keep your key in server-side environment variables; do not put it in a public repository or a browser bundle.

What happens when the source website changes?

maviapi checks endpoint health and attempts repairs when it detects failures. A repair must pass verification before becoming active. This reduces manual scraper maintenance, but does not guarantee that every source is reachable at every moment. Check the status page for current health and this API’s changelog for build history. Handle failed requests in your application and retry with a bounded backoff rather than an unbounded loop.

How do I keep my integration compatible?

Use the published input and output schema as the contract for the build you call. Required parameters, field types and available operations can differ between builds, so review the changelog before adopting a new version. Where you need stable behavior, configure a build pin for your API key. Include validation and error handling at your application boundary instead of assuming example response values will always be present.

  • Fazilet Takvimi

    Daily prayer times and the Fazilet Takvimi Islamic calendar (Hicri/Rumi dates, daily chronology, moon phases) for thousands of regions worldwide.

  • Quotes to Scrape

    Quotes to Scrape (quotes.toscrape.com) as an API — paginated quotes with their authors and tags, plus full author profiles (birth date, birth place, biography).

Browse the full API catalog