Skip to content
Start here

List origin cloud region mappings

cache.origin_cloud_regions.list(OriginCloudRegionListParams**kwargs) -> SyncV4PagePaginationArray[OriginCloudRegion]
GET/zones/{zone_id}/origin/cloud_regions

Returns all IP-to-cloud-region mappings configured for the zone with pagination support. Each mapping tells Cloudflare which cloud vendor and region hosts the origin at that IP, enabling the edge to route via the nearest Tiered Cache upper-tier co-located with that cloud provider. Returns an empty array when no mappings exist.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
ParametersExpand Collapse
zone_id: str

Identifier.

maxLength32
page: Optional[int]

Page number of paginated results.

minimum1
per_page: Optional[int]

Number of items per page.

maximum100
minimum1
ReturnsExpand Collapse
class OriginCloudRegion:

A single origin IP-to-cloud-region mapping.

origin_ip: str

The origin IP address (IPv4 or IPv6). Normalized to canonical form (RFC 5952 for IPv6).

region: str

Cloud vendor region identifier.

vendor: Literal["aws", "azure", "gcp", "oci"]

Cloud vendor hosting the origin.

One of the following:
"aws"
"azure"
"gcp"
"oci"
modified_on: Optional[datetime]

Time this mapping was last modified.

formatdate-time

List origin cloud region mappings

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
page = client.cache.origin_cloud_regions.list(
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
)
page = page.result[0]
print(page.origin_ip)
{
  "errors": [],
  "messages": [],
  "result": [],
  "result_info": {
    "count": 0,
    "page": 1,
    "per_page": 20,
    "total_count": 0,
    "total_pages": 0
  },
  "success": true
}
{
  "errors": [],
  "messages": [],
  "result": [
    {
      "modified_on": "2026-03-01T12:00:00Z",
      "origin_ip": "192.0.2.1",
      "region": "us-east-1",
      "vendor": "aws"
    },
    {
      "modified_on": "2026-03-01T12:30:00Z",
      "origin_ip": "2001:db8::1",
      "region": "us-central1",
      "vendor": "gcp"
    }
  ],
  "result_info": {
    "count": 2,
    "page": 1,
    "per_page": 20,
    "total_count": 2,
    "total_pages": 1
  },
  "success": true
}
{
  "errors": [
    {
      "code": 1146,
      "message": "invalid per_page parameter, must be between 1 and 100"
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}
Returns Examples
{
  "errors": [],
  "messages": [],
  "result": [],
  "result_info": {
    "count": 0,
    "page": 1,
    "per_page": 20,
    "total_count": 0,
    "total_pages": 0
  },
  "success": true
}
{
  "errors": [],
  "messages": [],
  "result": [
    {
      "modified_on": "2026-03-01T12:00:00Z",
      "origin_ip": "192.0.2.1",
      "region": "us-east-1",
      "vendor": "aws"
    },
    {
      "modified_on": "2026-03-01T12:30:00Z",
      "origin_ip": "2001:db8::1",
      "region": "us-central1",
      "vendor": "gcp"
    }
  ],
  "result_info": {
    "count": 2,
    "page": 1,
    "per_page": 20,
    "total_count": 2,
    "total_pages": 1
  },
  "success": true
}
{
  "errors": [
    {
      "code": 1146,
      "message": "invalid per_page parameter, must be between 1 and 100"
    }
  ],
  "messages": [],
  "result": null,
  "success": false
}