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
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
query LookupMessagingProvider($number: String!) {
lookupMessagingProvider(phoneNumber: $number) {
number
provider
enabled
country
country_code
reference_id
}
}
{
"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 numberprovider
- The messaging service provider nameenabled
- Whether messaging is enabled for this numbercountry
- Country code (ISO 3166-1 alpha-2)country_code
- International dialing codereference_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
- Success400
- 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.