Trogis Phone API Documentation

Everything you need to integrate phone number validation and parsing into your applications.

Getting Started

The Trogis Phone API allows you to validate and parse international phone numbers from 240+ countries. Whether you need to extract the country code, validate if a number is reachable, or format it into an international E.164 string, this API has you covered.

Features

  • Country detection
  • Country code extraction
  • National number extraction
  • International formatting
  • API key authentication
  • Lightning fast JSON responses

Base URL

text
https://phone.trogis.com/api

Authentication

All requests to the Trogis Phone API require a valid API key. You must include your API key in the headers of your HTTP request.

Header required:

x-api-key: trg_xxxxx82a
bash
curl -X POST https://phone.trogis.com/api/parse-phone \
  -H "x-api-key: trg_xxxxx82a" \
  -H "Content-Type: application/json"

Phone Lookup API

POST/api/parse-phone

Validate and parse an international phone number. Pass the phone number as a string in the JSON body. It accepts numbers with or without the '+' prefix, and will automatically clean spaces or dashes.

Request Body

json
{
  "phone": "919876543210"
}

Request Example

bash
curl -X POST https://phone.trogis.com/api/parse-phone \
  -H "x-api-key: trg_xxxxx82a" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "919876543210"
  }'

Success Responses

Valid Response Example

json
{
  "request_remaining": 49999,
  "plan_status": "Active",
  "phone_data": {
    "success": true,
    "country_code": "IN",
    "country_calling_code": "+91",
    "national_number": "9876543210",
    "full_number": "+919876543210",
    "format_international": "+91 98765 43210",
    "format_national": "098765 43210",
    "uri": "tel:+91-98765-43210",
    "is_valid": true,
    "type": "mobile"
  }
}

Field Descriptions

FieldDescription
request_remainingNumber of requests left in your plan for the current month.
plan_statusCurrent status of your plan (e.g., active, expired, limit_reached).
phone_data.successBoolean indicating request success.
country_codeISO 3166-1 alpha-2 country code (e.g. "US" or "IN").
country_calling_codeDetected country dialing prefix (e.g. "+1" or "+91").
national_numberLocal phone number without the country code.
full_numberNormalized E.164 number format, always starting with +.
format_internationalHuman-readable international format with proper spacing.
format_nationalHuman-readable national format.
uriRFC 3966 URI format (e.g., tel:+1-123-xxx-x890).
is_validBoolean indicating if the number is valid and reachable.
typeType of phone number (e.g., mobile, fixed_line).

Error Responses

When an error occurs, the API will return a non-200 HTTP status code alongside a standard JSON error object.

Missing API Key

json
{
  "request_remaining": 0,
  "plan_status": "invalid_key",
  "phone_data": {
    "success": false,
    "error": "API key is required"
  }
}

Invalid API Key

json
{
  "request_remaining": 0,
  "plan_status": "invalid_key",
  "phone_data": {
    "success": false,
    "error": "Invalid API key"
  }
}

Invalid Phone Number

json
{
  "request_remaining": 99,
  "plan_status": "active",
  "phone_data": {
    "success": false,
    "error": "Invalid phone number"
  }
}

Limit Reached

json
{
  "request_remaining": 0,
  "plan_status": "limit_reached",
  "phone_data": {
    "success": false,
    "error": "Monthly API limit reached"
  }
}

Rate Limits

Free Plan
100
Requests / Month
Basic Plan
5,000
Requests / Month
Professional
50,000
Requests / Month

How Plans Work

  • Each plan has a monthly request limit.
  • Remaining requests reset every month on the same date as the Request Refresh Date.
  • Unused requests do not carry forward to the next month.
  • Requests are accepted only until the plan expiry date.
  • After expiry, API returns plan_status: expired.
  • After monthly limit is reached, API returns plan_status: limit_reached.
  • If plan is disabled in backend, API returns plan_status: plan_inactive.

If the limit is exceeded:

json
{
  "request_remaining": 0,
  "plan_status": "limit_reached",
  "phone_data": {
    "success": false,
    "error": "Monthly API limit reached"
  }
}

Code Examples

Node.js (Fetch API)

javascript
const response = await fetch(
  "https://phone.trogis.com/api/parse-phone",
  {
    method: "POST",
    headers: {
      "x-api-key": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      phone: "9876543210"
    })
  }
);

const data = await response.json();
console.log(data);

Make.com Example

Easily integrate with Make.com workflows using the standard HTTP Module.

Module Type:
HTTP - Make a request
URL:
https://phone.trogis.com/api/parse-phone
Method:
POST

Headers:

x-api-keyYOUR_API_KEY
Content-Typeapplication/json

Request Body (Raw):

json
{
  "phone": "{{phone_number}}"
}

Expected Parsed Output Variables:

countryCodecountrynationalNumberfullNumber

Postman

You can easily import this raw cURL command directly into Postman (File > Import > Raw text).

bash
curl --location --request POST 'https://phone.trogis.com/api/parse-phone' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "phone": "919876543210"
}'

API Status

Operational
Uptime: 99.9%

Need More Requests?

Upgrade your API key to a developer or enterprise plan to increase your daily limits and support higher volumes.