Instasent Lookup API

Lookup related operations

Operations 4

GET /lookup List Lookup #
POST /lookup Create a Lookup #
GET /lookup/{id} Get a Lookup #
GET /lookup/price-profile/me/countries Get Lookup price #

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/instasent:instasent-lookup-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

instasent-lookup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Instasent Lookup API
  version: 1.0.0
  description: 'Operations tagged lookup across 3 of this provider''s published API definitions: enhanced-transactional.openapi.yaml, legacy.openapi.yaml, transactional.openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.instasent.com
  description: Instasent Transactional API (A2P Messaging API)
- url: https://api.instasent.com/
  description: Instasent legacy API
security:
- BearerAuth: []
tags:
- name: Lookup
  description: Lookup related operations
paths:
  /lookup:
    get:
      operationId: lookup-list
      summary: List Lookup
      description: 'Request Lookup collection, paginated via `page` and `per_page`.


        - Results are sorted by creation date, descending.

        - Lookups in `enqueued`, `unpaid` and `error` status are always excluded.'
      tags:
      - Lookup
      parameters:
      - name: page
        in: query
        description: Page number, zero-based.
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
      - name: per_page
        in: query
        description: 'Number of results per page. Maximum: 50.'
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  entities:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResponseLookupItem'
                  metadata:
                    $ref: '#/components/schemas/ListMetadata'
                required:
                - entities
                - metadata
        '400':
          $ref: '#/components/responses/WrongRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalError'
      path: /lookup
      method: GET
    post:
      operationId: lookup-create
      summary: Create a Lookup
      tags:
      - Lookup
      requestBody:
        $ref: '#/components/requestBodies/LookupItemBody'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  entity:
                    $ref: '#/components/schemas/ResponseLookupItem'
                required:
                - entity
        '400':
          $ref: '#/components/responses/WrongRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/NoFundsError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '413':
          $ref: '#/components/responses/RequestTooLarge'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalError'
      path: /lookup
      method: POST
    servers:
    - url: https://api.instasent.com
      description: Instasent Transactional API (A2P Messaging API)
  /lookup/{id}:
    get:
      operationId: lookup-view
      summary: Get a Lookup
      description: Request single Lookup
      tags:
      - Lookup
      parameters:
      - name: id
        in: path
        description: Lookup identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  entity:
                    $ref: '#/components/schemas/ResponseLookupItem'
                required:
                - entity
        '400':
          $ref: '#/components/responses/WrongRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalError'
      path: /lookup/{id}
      method: GET
    servers:
    - url: https://api.instasent.com
      description: Instasent Transactional API (A2P Messaging API)
  /lookup/price-profile/me/countries:
    get:
      operationId: lookup-price-country
      summary: Get Lookup price
      description: Request Lookup country prices
      tags:
      - Lookup
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        currency:
                          type: string
                        price:
                          type: number
                      required:
                      - currency
                      - price
                required:
                - entities
        '400':
          $ref: '#/components/responses/WrongRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalError'
      path: /lookup/price-profile/me/countries
      method: GET
    servers:
    - url: https://api.instasent.com
      description: Instasent Transactional API (A2P Messaging API)
components:
  responses:
    NoFundsError:
      description: You're out of money
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    ValidationError:
      description: Some field of your request body is not valid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorValidation'
    NotFound:
      description: Resource can't be found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    RequestTooLarge:
      description: You are sending a large body in your request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    UnauthorizedError:
      description: 'The token is missing or does not exist (mistyped, rotated or deleted),

        or the request comes from an IP address outside the token''s accepted IPs.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    ForbiddenError:
      description: 'The token exists but cannot be used for this request: it is disabled,

        expired, the user or account is deleted, not enabled or pending

        verification, or it is not a Transactional API token with HTTP access.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    RateLimitError:
      description: 'You reached your endpoint rate limit. The body is the plain text below,

        not a JSON document, although the `Content-Type` header says

        `application/json`; the `X-RateLimit-Reset` header says when to retry.

        '
      content:
        application/json:
          schema:
            type: string
            example: You exceeded the rate limit
    WrongRequestError:
      description: Request body is malformed or something went wrong with your request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
    UnauthorizedError_2:
      description: You are missing or using bad credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorMessage'
    RateLimitError_2:
      description: You reached your endpoint rate limit
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorMessage'
    WrongRequestError_2:
      description: You request body is malformed or something went wrong with your request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorDetail'
  requestBodies:
    LookupItemBody:
      description: A single Lookup item
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestLookupItem'
  schemas:
    ResponseErrorDetail:
      type: object
      properties:
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
      required:
      - title
      - status
      - detail
    ResponseErrorValidation:
      type: object
      properties:
        errors:
          type: object
          properties:
            fields:
              type: object
              properties:
                to:
                  type: array
                  items:
                    type: string
          required:
          - fields
      required:
      - errors
    ListMetadata:
      type: object
      description: Pagination metadata for list responses
      properties:
        count:
          type: integer
          description: Number of entities in the current page
        total_count:
          type: integer
          description: Total number of entities matching the listing
        items_per_page:
          type: integer
          description: Page size applied to the request
        page_number:
          type: integer
          description: Zero-based page number of the current page
      required:
      - count
      - total_count
      - items_per_page
      - page_number
    RequestLookupItem:
      type: object
      properties:
        to:
          type: string
          maxLength: 15
          description: E164 format
      required:
      - to
    ResponseLookupItem:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        subscriberStatus:
          type:
          - string
          - 'null'
          default: null
        statusCode:
          type:
          - integer
          - 'null'
          default: null
        country:
          type: string
        imsi:
          type:
          - string
          - 'null'
          default: null
        servingMsc:
          type:
          - string
          - 'null'
          default: null
        to:
          type: string
        normalizedTo:
          type: string
        ported:
          type: boolean
        roaming:
          type: boolean
        network:
          type: string
        charged:
          type: boolean
        pricePerSms:
          type: number
        createdAt:
          type: string
        deliveredAt:
          type:
          - string
          - 'null'
          default: null
      required:
      - id
      - status
      - country
      - to
      - normalizedTo
    ResponseErrorMessage:
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
      required:
      - message
    ResponseLookupItem_2:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        subscriberStatus:
          type: string
          default: null
        statusCode:
          type: integer
          default: null
        country:
          type: string
        imsi:
          type: string
          default: null
        servingMsc:
          type: string
          default: null
        to:
          type: string
        normalizedTo:
          type: string
        ported:
          type: boolean
        roaming:
          type: boolean
        network:
          type: string
        charged:
          type: boolean
        pricePerSms:
          type: number
        createdAt:
          type: string
        deliveredAt:
          type: string
          default: null
      required:
      - id
      - status
      - country
      - to
      - normalizedTo
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
x-refined-from:
- enhanced-transactional.openapi.yaml
- legacy.openapi.yaml
- transactional.openapi.yaml