---
title: "List checks and prices"
method: GET
path: "/services"
tags: ["catalog"]
---

# List checks and prices

`GET /services`

## Request

- Base URL: `https://api.mobilevalidate.com/v1`
- URL: `https://api.mobilevalidate.com/v1/services`
- Auth: one of:
  - none
  - HTTP bearer

Without a key: the public catalog. With a key: every check the key's account may use, at the account's prices. Lists active phone and e-mail checks; switched-off checks are not listed.

## Response `200`

Service catalog with prices by mode.

- object
  - `object` 'list', required
  - `data` Service[], required
    - `object` 'service', required
    - `code` string, required
    - `name` string, required
    - `platform` string, required: Descriptive platform name (no affiliation implied).
    - `family` 'messaging' | 'social' | 'apps' | 'network' | 'email' | 'finance', required
    - `namespace` string
    - `description` string
    - `input_type` 'phone' | 'email', required
    - `result_kind` 'boolean' | 'attributes', required
    - `fields` string[]
    - `attributes` object[]
      - `key` string, required
      - `type` 'string' | 'boolean' | 'enum' | 'integer', required
      - `values` string[]: Allowed values (type enum).
      - `min` integer, nullable: Inclusive lower bound (type integer).
      - `max` integer, nullable: Inclusive upper bound (type integer).
      - `description` string, required
    - `realtime` boolean, required: Usable on POST /v1/lookup; otherwise bulk jobs only.
    - `batch` boolean, required
    - `modes` string[]
    - `status` 'active' | 'unavailable', required
    - `beta` boolean
    - `countries` string[]: ISO alpha-2; empty = all countries.
    - `unsupported_countries` object: Countries this check does not cover, per mode (ISO alpha-2, in addition to sanctioned countries). Numbers from them answer `unsupported_country` and are free; bulk jobs mark them before the job runs (estimate `unsupported_checks`). Example: iMessage does not cover mainland China (CN) numbers.
      - `realtime` string[]
      - `batch` string[]
    - `prices` object, required
      - `realtime` Money
        - `amount` string, required: Decimal USD amount.
        - `currency` 'USD', required
      - `batch` Money
        - `amount` string, required: Decimal USD amount.
        - `currency` 'USD', required
    - `unit` string
  - `has_more` boolean, required

## Other responses

- `default`: Error. Branch on `error.code`; `suggestion` (optional) says how to fix the request. A known path called with the wrong method answers `404 not_found` with an `Allow` header listing the methods it accepts.

---

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