Every cloud region, mapped

257 cloud regions · 43 countries

For AI agents

Every region of AWS, Azure, Google Cloud, Oracle, IBM and Alibaba, the data platforms that run inside them (Snowflake, Databricks, MongoDB Atlas and more), Cloudflare data centers, and Bedrock and Azure OpenAI model availability by region, from the providers’ own published lists; new regions and new providers are added as they appear.

Refreshed weekly on Tuesdays at 10:00 UTC

Point your agent here

Call the API

  • GET /api/regionsprovider?, country?, status?, limit?, offset?regions with provider, code, name, location, country, metro, coordinates, launch year, availability zones, status and source URL
  • GET /api/regions/{provider}/{code}provider, codethe region, its host region for a data platform, and the models served there with their mode
  • GET /api/modelsvendor?, limit?, offset?models with vendor and, per platform, the region count and modes (regional, geo, global)
  • GET /api/models/{id}idthe model and one row per region with platform, region id, mode and status
  • GET /api/changessince?, limit?, offset?events (regions added, announced, launched, retired; models added) and structured field changes with old and new values: region added, name, location, country, metro, coordinates, host region, zones, zone support, services, status, sovereignty, verified; a model added to, leaving or returning to a region (per platform and mode); a Cloudflare data center added, removed, or moved to another area or country; each row has url, the page of its region (else its provider, or the companies.fru.dev page of a candidate), and title, the name of that record
  • GET /api/candidatesstatus?, since?, limit?, offset?candidates with status (candidate: not checked yet, found: a regions page on its own site, none: no page found), the page URL and the cloud region codes it names; all Unverified
  • GET /api/searchq, limit?up to 20 ranked results with title, link and one line

GET/api/regions

Cloud and data platform regions, filtered by provider, country or status

  • providerProvider id, e.g. aws, azure, gcp, oracle, snowflake
  • countryISO country code, e.g. DE
  • statusga, preview or announced
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://regions.fru.dev/api/regions?provider=aws&country=DE&limit=5"
Sample response
JSON
{
  "regions": [
    {
      "id": "aws:eu-central-1",
      "provider": "aws",
      "code": "eu-central-1",
      "name": "Europe (Frankfurt)",
      "place": "Frankfurt",
      "metro": "frankfurt",
      "cc": "DE",
      "lat": 50.1109,
      "lon": 8.6821,
      "precision": "provider",
      "launched": "2014",
      "azs": 3,
      "status": "ga",
      "sovereign": ""
    },
    {
      "id": "aws:eusc-de-east-1",
      "provider": "aws",
      "code": "eusc-de-east-1",
      "name": "AWS European Sovereign Cloud (Germany)",
      "place": "Germany",
      "metro": "berlin",
      "cc": "DE",
      "lat": 52.3667,
      "lon": 13.4167,
      "precision": "provider",
      "launched": "2026",
      "azs": 3,
      "status": "ga",
      "sovereign": "sovereign"
    }
  ],
  "count": 2,
  "total": 2,
  "limit": 5,
  "offset": 0,
  "next": null,
  "disclaimer": "From providers' published region lists. Check the provider before deploying."
}

GET/api/regions/{provider}/{code}

One region with the AI models it serves

  • providerProvider id
  • codeRegion code
Shell
curl -s "https://regions.fru.dev/api/regions/aws/eu-central-1"
Sample response
JSON
{
  "region": {
    "id": "aws:eu-central-1",
    "provider": "aws",
    "code": "eu-central-1",
    "name": "Europe (Frankfurt)",
    "place": "Frankfurt",
    "metro": "frankfurt",
    "cc": "DE",
    "lat": 50.1109,
    "lon": 8.6821,
    "precision": "provider",
    "launched": "2014",
    "azs": 3,
    "status": "ga",
    "sovereign": ""
  },
  "host": null,
  "models": [
    {
      "platform": "bedrock",
      "id": "amazon-nova-2-lite",
      "name": "Nova 2 Lite",
      "vendor": "Amazon",
      "modes": [
        "geo",
        "global"
      ]
    },
    {
      "platform": "bedrock",
      "id": "amazon-nova-lite",
      "name": "Nova Lite",
      "vendor": "Amazon",
      "modes": [
        "geo"
      ]
    }
  ],
  "disclaimer": "From providers' published region lists. Check the provider before deploying."
}

GET/api/models

AI models on Amazon Bedrock and Azure OpenAI with how many regions serve each

  • vendorModel vendor, e.g. Anthropic, OpenAI, Meta
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://regions.fru.dev/api/models?vendor=Anthropic&limit=3"
Sample response
JSON
{
  "models": [
    {
      "id": "anthropic-claude-3-haiku",
      "name": "Claude 3 Haiku",
      "vendor": "Anthropic",
      "platforms": [
        {
          "platform": "bedrock",
          "regions": 11,
          "modes": [
            "geo",
            "regional"
          ]
        }
      ],
      "regions": 11
    },
    {
      "id": "anthropic-claude-3-sonnet",
      "name": "Claude 3 Sonnet",
      "vendor": "Anthropic",
      "platforms": [
        {
          "platform": "bedrock",
          "regions": 11,
          "modes": [
            "regional",
            "geo"
          ]
        }
      ],
      "regions": 11
    }
  ],
  "count": 3,
  "total": 22,
  "limit": 3,
  "offset": 0,
  "next": "/api/models?vendor=Anthropic&limit=3&offset=3"
}

GET/api/models/{id}

The regions that serve one AI model

  • idModel id from /api/models
Shell
curl -s "https://regions.fru.dev/api/models/anthropic-claude-sonnet-4-5"
Sample response
JSON
{
  "model": {
    "id": "anthropic-claude-sonnet-4-5",
    "name": "Claude Sonnet 4.5",
    "vendor": "Anthropic",
    "platforms": [
      {
        "platform": "bedrock",
        "regions": 35,
        "modes": [
          "geo",
          "global"
        ]
      }
    ],
    "regions": 35
  },
  "regions": [
    {
      "platform": "bedrock",
      "region": "aws:us-east-1",
      "mode": "geo",
      "status": "ga"
    },
    {
      "platform": "bedrock",
      "region": "aws:us-east-1",
      "mode": "global",
      "status": "ga"
    }
  ],
  "count": 52
}

GET/api/changes

Every change seen, newest first (append-only history)

  • sinceOnly changes on or after this date (YYYY-MM-DD) or datetime
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://regions.fru.dev/api/changes?since=2026-09-01&limit=5"

GET/api/candidates

Providers found in the companies.fru.dev registry that are not mapped yet (growth queue)

  • statuscandidate, found or none
  • sinceOnly candidates first seen on or after this date (YYYY-MM-DD)
  • limitItems per page, 1 to 200
  • offsetItems to skip, for the next page
Shell
curl -s "https://regions.fru.dev/api/candidates?status=found"

Add to your agent

System prompt
For cloud regions, data platform regions and AI model availability by region, fetch https://regions.fru.dev/llms.txt and use https://regions.fru.dev/api/regions (spec: https://regions.fru.dev/openapi.json). Cite "Regions (regions.fru.dev)" with a link.

Usage terms

  • Free to read, no key needed
  • Cite "Regions (regions.fru.dev)" with a link
  • Responses are cached; refreshed weekly on Tuesdays at 10:00 UTC
  • Keep to 60 requests a minute or fewer
  • Regions marked unverified were found by the weekly news search and are not yet on the provider’s own list. Check the provider before deploying.