Messaging Provider API

Fast and accurate messaging provider lookup API. Get SMS/MMS provider information for phone numbers with carrier details and messaging capabilities.

Overview

The Messaging Provider API provides comprehensive messaging provider information for phone numbers. Perfect for SMS/MMS applications, marketing platforms, and communication services that need to understand messaging capabilities and routing.

Key Features

  • Provider Identification: Get accurate messaging provider information
  • Messaging Capabilities: Determine SMS/MMS support
  • Carrier Details: Access carrier and network information
  • Country Support: International number support
  • Real-time Data: Up-to-date provider information
  • High Availability: 99.9% uptime guarantee

Authentication

All API requests require authentication using your API key. Include your API key in the request headers:

Authorization: Bearer YOUR_API_KEY

Don't have an API key? Get your API key here.

API Methods

REST Endpoint

POST https://api-service.verirouteintel.io/v1/messaging

Request Body

{
  "phone_number": "19494600638"
}

Response

{
  "data": {
    "number": "19494600638",
    "provider": "Verizon Wireless",
    "enabled": true,
    "country": "US",
    "country_code": "1",
    "reference_id": "MSG-abc123"
  },
  "errors": []
}

GraphQL Endpoint

POST
https://api-service.verirouteintel.io/graphql
Query
query LookupMessagingProvider($number: String!) {
  lookupMessagingProvider(phoneNumber: $number) {
    number
    provider
    enabled
    country
    country_code
    reference_id
  }
}
Variables
{
  "number": "19494600638"
}

Response

{
  "data": {
    "lookupMessagingProvider": {
      "number": "19494600638",
      "provider": "Verizon Wireless",
      "enabled": true,
      "country": "US",
      "country_code": "1",
      "reference_id": "MSG-abc123"
    }
  }
}

Parameters

Parameter Type Required Description
phone_number / phoneNumber string Yes The phone number to lookup (10-digit US number or international format)

Response Format

Success Response

{
  "data": {
    "number": "19494600638",
    "provider": "Verizon Wireless",
    "enabled": true,
    "country": "US",
    "country_code": "1",
    "reference_id": "MSG-abc123"
  },
  "errors": []
}

Response Fields

  • number - The queried phone number
  • provider - The messaging service provider name
  • enabled - Whether messaging is enabled for this number
  • country - Country code (ISO 3166-1 alpha-2)
  • country_code - International dialing code
  • reference_id - Unique reference for this lookup

Code Examples

cURL - REST API

curl -X POST https://api-service.verirouteintel.io/v1/messaging \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone_number": "19494600638"}'

cURL - GraphQL

curl -X POST https://api-service.verirouteintel.io/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query LookupMessagingProvider($number: String!) { lookupMessagingProvider(phoneNumber: $number) { number provider enabled country country_code reference_id } }",
    "variables": {"number": "19494600638"}
  }'

Python - REST API

import requests

url = "https://api-service.verirouteintel.io/v1/messaging"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "phone_number": "19494600638"
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)

Python - GraphQL

import requests

url = "https://api-service.verirouteintel.io/graphql"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
query = """
query LookupMessagingProvider($number: String!) {
  lookupMessagingProvider(phoneNumber: $number) {
    number
    provider
    enabled
    country
    country_code
    reference_id
  }
}
"""
variables = {"number": "19494600638"}

response = requests.post(url, headers=headers, json={
    "query": query,
    "variables": variables
})
result = response.json()
print(result)

JavaScript/Node.js - REST API

const axios = require('axios');

const url = 'https://api-service.verirouteintel.io/v1/messaging';
const headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
};
const data = {
    phone_number: '19494600638'
};

axios.post(url, data, { headers })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error('Error:', error.response.data);
    });

JavaScript/Node.js - GraphQL

const axios = require('axios');

const url = 'https://api-service.verirouteintel.io/graphql';
const headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
};
const query = `
    query LookupMessagingProvider($number: String!) {
        lookupMessagingProvider(phoneNumber: $number) {
            number
            provider
            enabled
            country
            country_code
            reference_id
        }
    }
`;
const variables = { number: '19494600638' };

axios.post(url, { query, variables }, { headers })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error('Error:', error.response.data);
    });

Error Handling

The API returns standard HTTP status codes and detailed error messages:

Common Error Responses

{
  "data": {
    "number": "",
    "provider": null,
    "enabled": false,
    "country": null,
    "country_code": null,
    "reference_id": null
  },
  "errors": ["Invalid phone number format"]
}

HTTP Status Codes

  • 200 - Success
  • 400 - Bad Request (invalid parameters)
  • 401 - Unauthorized (invalid API key)
  • 429 - Too Many Requests (rate limit exceeded)
  • 500 - Internal Server Error

Rate Limits

API requests are limited to:

  • Free tier: 10 requests per month
  • Paid plans: Based on your subscription level

Rate limit headers are included in all responses:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200

Use Cases

SMS Marketing Platforms

Verify messaging capabilities before sending SMS campaigns to ensure deliverability and optimize routing.

Customer Communication

Determine the best messaging provider for customer support and notification systems.

Fraud Prevention

Validate messaging provider information as part of identity verification processes.

Telecom Applications

Route messages efficiently by understanding carrier networks and messaging capabilities.