List services
Returns the services you can rent numbers for, searchable by name. Each entry’s pools[] are the individual offers, and each offer carries the serviceId you send to POST /v1/otp/activations.
Authorization
KeyId ApiSecret Your API key id.
In: header
Your API key secret.
In: header
Query Parameters
11 <= value <= 10000501 <= value <= 200Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/otp/services?page=1&pageSize=50" \ -H "x-key-id: YOUR_KEY_ID" \ -H "x-api-secret: YOUR_API_SECRET"{
"data": [
{
"name": "adidas",
"slug": "adidas",
"availableCount": 42780784,
"price": {
"min": 0.336276,
"max": 52.29522,
"average": 5.820161,
"currency": "EUR"
},
"poolCount": 125,
"pools": [
{
"serviceId": "ALPHA-46-adidas",
"price": {
"amount": 0.336276,
"currency": "EUR"
},
"availableCount": 9999
},
{
"serviceId": "ALPHA-229-adidas",
"price": {
"amount": 1.345104,
"currency": "EUR"
},
"availableCount": 5851
},
{
"serviceId": "DELTA-AR-adidas",
"price": {
"amount": 2.190105,
"currency": "EUR"
},
"availableCount": 23034
},
{
"serviceId": "ALPHA-258-adidas",
"price": {
"amount": 2.353932,
"currency": "EUR"
},
"availableCount": 265
},
{
"serviceId": "ALPHA-27-adidas",
"price": {
"amount": 2.353932,
"currency": "EUR"
},
"availableCount": 3100
}
]
},
{
"name": "Instagram",
"slug": "instagram",
"availableCount": 178805402,
"price": {
"min": 0.845001,
"max": 126.103477,
"average": 6.760009,
"currency": "EUR"
},
"poolCount": 303,
"pools": [
{
"serviceId": "DELTA-CO-instagram_/_threads",
"price": {
"amount": 0.845001,
"currency": "EUR"
},
"availableCount": 18189030
},
{
"serviceId": "DELTA-ID-instagram_/_threads",
"price": {
"amount": 0.845001,
"currency": "EUR"
},
"availableCount": 2736514
},
{
"serviceId": "DELTA-VN-instagram_/_threads",
"price": {
"amount": 0.845001,
"currency": "EUR"
},
"availableCount": 2814619
},
{
"serviceId": "BRAVO-KG-instagram_/_threads",
"price": {
"amount": 0.845001,
"currency": "EUR"
},
"availableCount": 15769
},
{
"serviceId": "DELTA-BR-instagram_/_threads",
"price": {
"amount": 1.008828,
"currency": "EUR"
},
"availableCount": 15996468
}
]
}
],
"meta": {
"page": 1,
"pageSize": 3,
"total": 2838,
"totalPages": 946,
"hasNext": true
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request is not valid. See `fields` for what to correct.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "AUTHENTICATION_REQUIRED",
"message": "This endpoint requires an API key.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "CONFLICT",
"message": "The resource is not in a state that allows this operation.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Retry after the interval in `Retry-After`.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Something went wrong on our side.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "SERVICE_RESPONSE_INVALID",
"message": "The upstream service returned an unexpected response.",
"requestId": "9f1c7b2e-…"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The service is temporarily unavailable. Try again shortly.",
"requestId": "9f1c7b2e-…"
}
}List countries GET
Returns the countries with numbers available to you. A `null` starter price means the country has no priced services under your profile.
Find a service GET
Returns the offers for a service across countries and pools — one row per offer, each with the `serviceId` you send to [POST /v1/otp/activations](/openapi/otp/activations/createOtpActivation). The path segment addresses either **one offer**, by the `serviceId` a catalogue response published (`ALPHA-372-alibaba`) — matched exactly, and a 404 when no such offer is sellable to you — or **any service by name**, as free text (`viber`, `alibaba`) matched case-insensitively against a service name or slug. A name that matches nothing is an empty `data` array with `meta.total` 0, not a 404: no result is a result. Offers with no numbers in stock are omitted either way, so a sold-out offer id 404s.