platfone-com Prices API

The section includes endpoints for obtaining prices for activation. Various services have different activation costs, which also depend on the country of the mobile number being ordered. **All prices are listed in USD cents**. In addition to the price, you can also retrieve the number of available phone numbers for sale.

Operations 3

GET /activation/prices/services/{service_id}/countries/{country_id} Price for a Service in a Country #
GET /activation/prices/countries Price list organized by country #
GET /activation/prices/services Price list organized by service #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/platfone-com:platfone-com-prices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

platfone-com-prices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Platfone Activation Prices API
  termsOfService: https://platfone.com/compliance#terms
  contact:
    email: support@platfone.com
    url: https://platfone.com/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://wl-temp-number.nyc3.cdn.digitaloceanspaces.com/platfone_logo.svg
    href: https://platfone.com/
    altText: Platfone Activation API
  description: '# About Activation API


    Platfone Activation API will allow you to get temporary mobile number and receive SMS messages to that number. You can use this API to automate SMS activations and OTP verification for your users. Billing applies only to successfully received SMS messages. ## How to use


    1. Register an account

    2. Add balance to your account

    3. Get your API key


    **Sandbox environment**


    🏖️ Try sandbox environment:

    - No balance required. - Use the API and see results in web dashboard. - Send fake SMS via Web or API to test your code before going live. Note: API keys and URLs for sandbox and production are different. ## API key


    All requests must include an API key in the `X-Api-Key` header. You can get your API key from https://platfone.com/app/api


    ## API base URL


    All requests must be made to the following URL:


    ```

    Production -> https://temp-number-api.com/api/v1

    Sandbox -> https://temp-number-api.com/test/api/v1

    ```


    ## Main API requests


    **Prices**


    - Get prices by service - Get a price list organized by service. - Get prices by country - Get a price list organized by country. - Get price for service in country - Get a price for specific service and country. **Numbers**


    You will get a phone number that can receive unlimited SMS messages for limited time from one specific service. If you want SMS from a different service, you must order a new number for that service. Alternatively, use the "other" service option to receive SMS from any service not listed in the Get services. - Get number - Get a number for a specific service and country. - Cancel number - Cancel a number. This number will no longer receive SMS messages. - Get numbers history - Get a list of numbers you have ordered. **SMS**


    - Get SMS - Get one-time code and full SMS message received by a number. - Request one more SMS - Request one more SMS message from the same number. **Catalog**


    - Get countries - Get a list of countries where mobile phone numbers are provided. - Get services - Get a list of services eligible for activation. **Balance**


    - Get balance - Get your balance. ## Usage flow


    1. Request number for specific service and country. In response you will get activation `id` and `phone`. 2. Ask service to send SMS to `phone`. 3. Poll the Platfone API using the activation `id` at 10-second intervals to receive SMS. Continue this process until the either `expire_at` timestamp is exceeded or `sms_status = smsReceived`. If the `sms_status` is `smsReceived`, you can use the code and message from the response and stop polling. If supported you can request one more SMS message from the same number, using retry activation endpoint. !image


    ## Rate limits


    There are three different types of rate limits you should be aware of:

    - minimum success rate

    - maximum active activations

    - API endpoints maximum requests per time period


    In the event of a block, you will receive a 429 error code, along with information on when your account will be unblocked. ### Minimum success rate

    To prevent the scanning of phone numbers, a minimum success rate for receiving SMS messages is required to be maintained. If your success rate falls below 7%, your account will be subjected to a 24-hour block. The success rate is calculated within a 24-hour window as follows:


    !image


    Note: The calculation of the success rate starts after the 10th number has been ordered. You have the option to unblock your account from within your dashboard 3 times in 24 hours. ### Maximum active activations


    To prevent abuse, the maximum number of active activations is limited to **20**. If you reach this limit, you will receive a 429 error code. You can cancel an active activation to free up space for a new one. If you need more than 20 active activations, please contact us.'
servers:
- url: https://temp-number-api.com/api/v1
security:
- apikey_auth: []
tags:
- name: Prices
  description: 'The section includes endpoints for obtaining prices for activation.

    Various services have different activation costs, which also depend on the country of the mobile number being ordered.

    **All prices are listed in USD cents**.

    In addition to the price, you can also retrieve the number of available phone numbers for sale.'
paths:
  /activation/prices/services/{service_id}/countries/{country_id}:
    servers:
    - url: https://temp-number-api.com/api/v1
    get:
      tags:
      - Prices
      summary: Price for a Service in a Country
      description: 'Retrieve the price and availability for a specific service in a specific country.

        Use `service_id` and `country_id` to specify the service and country, respectively.

        These identifiers can be found via the `getServices` and `getCountries` operations.'
      operationId: getPrice
      parameters:
      - name: service_id
        in: path
        required: true
        description: Service ID, as returned by `getServices` operation.
        schema:
          type: string
          example: 7eleven
          format: ^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-_]*[A-Za-z0-9])$
          minLength: 1
          maxLength: 30
      - name: country_id
        in: path
        required: true
        description: Country ID, as returned by the `getCountries` operation.
        schema:
          type: string
          example: uk
          pattern: ^[a-zA-Z0-9]+([-_]*[a-zA-Z0-9]+)*$
          minLength: 2
          maxLength: 9
      responses:
        '200':
          $ref: '#/components/responses/Price'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      x-codeSamples:
      - lang: cURL
        label: CLI
        source: 'curl -X GET "${server_base_path}/api/v1/activation/prices/services/${service_id}/countries/${country_id}" \

          -H "Content-Type: application/json" \

          -H "x-api-key: YOUR_API_KEY_HERE"

          '
  /activation/prices/countries:
    servers:
    - url: https://temp-number-api.com/api/v1
    get:
      tags:
      - Prices
      summary: Price list organized by country
      description: 'Retrieve a comprehensive price list, organized by country.

        This endpoint returns a list of countries, each accompanied by an array of services available within that country, their respective prices, and the amount of available numbers for sale.


        Use optional `country_id` query parameter to get prices in a specific country.'
      operationId: getPriceByCountry
      parameters:
      - name: country_id
        in: query
        description: Country ID, as returned by the `getCountries` operation.
        schema:
          type: string
          example: uk
          pattern: ^[a-zA-Z0-9]+([-_]*[a-zA-Z0-9]+)*$
          minLength: 2
          maxLength: 9
      responses:
        '200':
          $ref: '#/components/responses/PricesByCountry'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      x-codeSamples:
      - lang: cURL
        label: CLI
        source: 'curl -X GET "${server_base_path}/api/v1/activation/prices/countries" \

          -H "Content-Type: application/json" \

          -H "x-api-key: YOUR_API_KEY_HERE"

          '
  /activation/prices/services:
    servers:
    - url: https://temp-number-api.com/api/v1
    get:
      tags:
      - Prices
      summary: Price list organized by service
      description: 'Retrieve a comprehensive price list, organized by service. This endpoint returns a list of services, each accompanied by an array of countries available for that service, their respective prices, and the amount of available numbers for sale.


        Use optional `service_id` query parameter to get prices for a specific service.'
      operationId: getPriceByService
      parameters:
      - name: service_id
        in: query
        description: Service ID, as returned by `getServices` operation.
        schema:
          type: string
          example: 7eleven
          format: ^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$
          minLength: 1
          maxLength: 30
      responses:
        '200':
          $ref: '#/components/responses/PricesByService'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      x-codeSamples:
      - lang: cURL
        label: CLI
        source: 'curl -X GET "${server_base_path}/api/v1/activation/prices/services" \

          -H "Content-Type: application/json" \

          -H "x-api-key: YOUR_API_KEY_HERE"

          '
components:
  schemas:
    Price:
      type: object
      properties:
        price:
          type: object
          properties:
            min:
              type: integer
              multipleOf: 1
              minimum: 1
              example: 210
              description: Minimum price in USD cents
            max:
              type: integer
              multipleOf: 1
              minimum: 1
              example: 510
              description: Maximum price in USD cents
            suggested:
              type: integer
              multipleOf: 1
              minimum: 1
              example: 310
              description: Suggested price in USD cents
        quality:
          type: object
          properties:
            avg:
              type: number
              minimum: 0
              maximum: 1
              example: 0.3
              description: Average quality of the service, from 0 to 1
        count:
          type: integer
          minimum: 0
          example: 143
          description: The number of available numbers for sale.
    error400:
      type: object
      title: error400
      x-model: ApiError400
      required:
      - errorMessage
      - errorName
      properties:
        errorMessage:
          type: string
          example: Invalid request params
          description: Error message
        errorName:
          type: string
          enum:
          - InvalidRequestParamsException
          example: InvalidRequestParamsException
    error429TooManyRequests:
      type: object
      title: error429TooManyRequests
      required:
      - errorMessage
      - errorName
      properties:
        errorMessage:
          type: string
          example: Too Many Requests
          description: Too Many Requests
        errorName:
          type: string
          enum:
          - TooManyRequestsException
          example: TooManyRequestsException
    PricesByService:
      title: Prices organized by service
      type: array
      items:
        title: Array of services with prices
        type: object
        properties:
          service_id:
            type: string
            example: 7eleven
            description: Service ID as returned by `getServices` operation
            format: ^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-_]*[A-Za-z0-9])$
            minLength: 1
            maxLength: 30
          countries:
            type: array
            items:
              title: Array of countries with prices
              type: object
              properties:
                country_id:
                  type: string
                  example: uk
                  description: Country ID, as returned by the `getCountries` operation.
                  pattern: ^[a-zA-Z0-9]+([-_]*[a-zA-Z0-9]+)*$
                  minLength: 2
                  maxLength: 9
                price:
                  type: object
                  properties:
                    min:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 210
                      description: Minimum price in USD cents
                    max:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 510
                      description: Maximum price in USD cents
                    suggested:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 310
                      description: Suggested price in USD cents
                quality:
                  type: object
                  properties:
                    avg:
                      type: number
                      minimum: 0
                      maximum: 1
                      example: 0.3
                      description: Average quality of the service, from 0 to 1
                count:
                  type: integer
                  minimum: 0
                  example: 143
                  description: The number of available numbers for sale
    error404:
      type: object
      title: error404
      x-model: ApiError404
      required:
      - errorMessage
      - errorName
      properties:
        errorName:
          description: Error name
          type: string
          enum:
          - ResourceNotFoundException
          example: ResourceNotFoundException
        errorMessage:
          description: Error message
          type: string
          example: Resource not found
    PricesByCountry:
      title: Prices organized by country
      type: array
      items:
        title: Array of countries with prices
        type: object
        properties:
          country_id:
            type: string
            example: uk
            description: Country ID, as returned by the `getCountries` operation.
            pattern: ^[a-zA-Z0-9]+([-_]*[a-zA-Z0-9]+)*$
            minLength: 2
            maxLength: 9
          services:
            type: array
            items:
              title: Array of services with prices
              type: object
              properties:
                service_id:
                  type: string
                  example: 7eleven
                  description: Service ID as returned by `getServices` operation
                  format: ^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-_]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-_]*[A-Za-z0-9])$
                  minLength: 1
                  maxLength: 30
                price:
                  type: object
                  properties:
                    min:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 210
                      description: Minimum price in USD cents
                    max:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 510
                      description: Maximum price in USD cents
                    suggested:
                      type: integer
                      multipleOf: 1
                      minimum: 1
                      example: 310
                      description: Suggested price in USD cents
                quality:
                  type: object
                  properties:
                    avg:
                      type: number
                      minimum: 0
                      maximum: 1
                      example: 0.3
                      description: Average quality of the service, from 0 to 1
                count:
                  type: integer
                  minimum: 0
                  example: 143
                  description: The number of available numbers for sale
  responses:
    '503':
      description: Service unavailable
      content:
        application/json:
          schema:
            type: object
            title: error503
            required:
            - errorMessage
            - errorName
            properties:
              errorMessage:
                type: string
                example: Service Unavailable
                description: Service Unavailable
              errorName:
                type: string
                enum:
                - ServiceUnavailableException
                example: ServiceUnavailableException
    429TooManyRequests:
      description: Too Many Requests
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error429TooManyRequests'
    PricesByService:
      description: Price list organized by service
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricesByService'
    '500':
      description: Unexpected Error
      content:
        application/json:
          schema:
            type: object
            title: Unexpected Error
            x-model: ApiUnexpectedError
            required:
            - errorMessage
            - errorName
            properties:
              errorMessage:
                type: string
                example: Unexpected Error Occurred
                description: A generic error message indicating an unexpected problem was encountered.
              errorName:
                type: string
                enum:
                - UnexpectedErrorException
                example: UnexpectedErrorException
    PricesByCountry:
      description: Price list organized by country
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricesByCountry'
    '401':
      description: Unauthorized to access this resource
      content:
        application/json:
          schema:
            type: object
            title: error401
            required:
            - errorMessage
            - errorName
            properties:
              errorName:
                description: Error name
                type: string
                enum:
                - UnauthorizedException
                example: UnauthorizedException
              errorMessage:
                description: Error message
                type: string
                example: Unauthorized to access this resource
    Price:
      description: Price and Availability for a Service in a Country
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Price'
    '404':
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error404'
    '400':
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error400'
  headers:
    X-RateLimit-Reset:
      schema:
        type: integer
        example: 1706864028
        description: Unix timestamp in seconds when the rate limit will reset.
    X-RateLimit-Remaining:
      schema:
        type: integer
        example: 0
        description: The number of requests remaining in the current rate limit window.
    Retry-After:
      schema:
        type: integer
        example: 3600
        description: Number of seconds to wait before retrying the request.
    X-RateLimit-Limit:
      schema:
        type: integer
        example: 50
        description: Maximum allowed number of requests.
  securitySchemes:
    apikey_auth:
      description: 'Authenticate all requests by passing API key in `X-API-Key` header.

        '
      type: apiKey
      in: header
      name: X-API-Key