---
title: "Get available ISPs for a country in a package"
method: GET
path: "/v1/proxy/packages/{package_id}/locations/countries/{cc}/isps"
tags: ["Packages", "Locations"]
---

# Get available ISPs for a country in a package

`GET /v1/proxy/packages/{package_id}/locations/countries/{cc}/isps`

## Request

- Base URL: `https://api.platform.soax.com`
- URL: `https://api.platform.soax.com/v1/proxy/packages/{package_id}/locations/countries/{cc}/isps`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/soax/apis/soax-api/docs/v1/proxy/packages/:package_id/locations/countries/:cc/isps/get.ts> (a function with typed inputs; its response is checked against the schema)

List ISPs available in a country (optionally narrowed by region and city) for this package. Use `code` values as the `isp` parameter of the connection-string endpoint.

Requires the `proxy:packages:read` scope.

## Path parameters

- `package_id` string, required: The package ID
- `cc` string, required: The country code

## Query parameters

- `network` 'wifi' | 'mobile' | 'mix', nullable: Filter by network type. Valid values are the package's own types (`wifi`, `mobile`, or `mix`); anything else returns 400 listing the networks available on the package.
- `region` string, nullable: Narrow results to one region.
- `city` string, nullable: Narrow results to one city.

## Response `200`

Successful Response

- IspsListResponse: Response schema for list of ISPs available in a country for a package.
  - `data` LocationResponse[], required
    - `code` string, required
    - `name` string, required
    - `rank` integer, required: Position when locations are ordered by available pool size (1 = largest).
    - `volume_level` integer, required: Coarse 1–3 indicator of relative IP volume: 3 = highest, 1 = lowest.

## Other responses

- `400`: A parameter value is invalid. Depending on which validation layer rejects the request, the message is under `detail` (endpoint-level checks) or `error` (service-level checks); read `detail ?? error`. The message names the parameter and lists valid values where applicable.
- `401`: Missing, invalid, or revoked API key.
- `403`: The API key does not carry the scope this endpoint requires.
- `404`: The resource does not exist, belongs to another organization, or is outside the API key's package restriction.
- `422`: Validation Error
- `429`: Rate limit exceeded (5 requests/second per API key, 500 requests/minute per IP). The response includes `Retry-After` (seconds), `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` (Unix time) headers — wait `Retry-After` seconds and retry.

---

[API](https://skmtc.dev/soax/apis/soax-api.md) - [All operations](https://skmtc.dev/soax/apis/soax-api/llms.txt) - [OpenAPI document](https://skmtc.dev/soax/apis/soax-api/revisions/2abdaa934277?raw)
