API Reference

OpenAPI Schema ReDoc Schema

Authentication

To use the CallerAPI, include your API key in the header of each request:

X-Auth: YOUR_API_KEY

Replace YOUR_API_KEY with the actual API key provided in your CallerAPI dashboard.

API Key

••••••••••••••••••••••••••••••

Get User Information

Retrieve information about the authenticated user.

GET https://callerapi.com/api/me

Response

{
    "status": "success",
    "email": "[email protected]",
    "credits_spent": 23498,
    "credits_monthly": 250000,
    "credits_left": 226502
}

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' 'https://callerapi.com/api/me'

Get Phone Number Information

Retrieve detailed information about a specific phone number.

GET https://callerapi.com/api/phone/info/{phone}

Replace {phone} with the phone number you want to look up. The phone number should be in E.164 format (e.g., +18006927753).

Response

The response is a JSON object containing information from various sources. Here's a breakdown of the main sections:

{
    "status": "success",
    "callerapi": {
        "name": null,
        "spam_count": 0,
        "block_count": 0,
        "is_spam": false,
        "spam_score": 0
    },
    "truecaller": {
        "number": "+1 800-692-7753",
        "is_valid": true,
        "country_code": 1,
        "national_number": 8006927753,
        "country": "United States",
        "number_type": 3,
        "number_type_label": "Toll free",
        "provider": "",
        "time_zones": ["America/New_York", "America/Chicago", "America/Denver", "America/Los_Angeles"]
    },
    "eyecon": "Apple Inc.",
    "callapp": {
        "name": "apple inc.",
        "websites": [
            {"websiteUrl": "http://www.apple.com/"},
            {"websiteUrl": "https://www.apple.com/"},
            {"websiteUrl": "http://m.yelp.com/biz/apple-computer-headquarters-cupertino"}
        ],
        "addresses": [
            {"type": 1, "street": "Summit Boulevard, 35243, Vestavia Hills"},
            {"type": 1, "street": "320 S Capital of Texas Hwy, West Lake Hills, TX 78746, USA"}
        ],
        "photoUrl": "https://lh3.googleusercontent.com/p/AF1QipPmIDDqiF56xI9-dF3etwxfTYmlZrpKJKn_2T9r=k",
        "categories": [
            {"name": "Shopping & Retail"},
            {"name": "Computer & Equipment Dealers"}
        ],
        "avgRating": 4.6,
        "priceRange": 3,
        "description": "Apple retail store showcasing the brand's phones, tablets & more in sleekly designed spaces.",
        "openingHours": {
            "sunday": ["07:00 - 16:00"],
            "monday": ["05:00 - 20:00"],
            "tuesday": ["05:00 - 20:00"],
            "wednesday": ["05:00 - 20:00"],
            "thursday": ["05:00 - 20:00"],
            "friday": ["05:00 - 20:00"],
            "saturday": ["07:00 - 16:00"]
        },
        "facebookID": {"id": "114092991968595", "sure": true, "version": 1},
        "linkedinPubProfileUrl": {"id": "http://www.linkedin.com/pub/claudia-smith/30/565/a31", "sure": true, "version": 1},
        "twitterScreenName": {"id": "djsetroc", "sure": true, "version": 1},
        "googlePlusID": {"id": "115474023033355232032", "sure": true, "version": 1},
        "foursquareID": {"id": "12550046", "sure": true, "version": 1},
        "instagramID": {"id": "230216465", "sure": true, "version": 1},
        "pinterestID": {"id": "caseybrunetti", "sure": true, "version": 1},
        "lat": 30.30219640000001,
        "lng": -97.8296238,
        "url": "https://maps.google.com/?cid=2099657283551182410",
        "googlePlacesId": "ChIJfTemqIdKW4YRopyJNzlsVwE",
        "huaweiPlacesId": "798EC49D94E53FA0CC39A9A66E3FCA90",
        "spamScore": 343,
        "priority": 37744
    },
    "viewcaller": [
        {
            "name": "apple inc.",
            "prefix": "1",
            "number": "8006927753",
            "spamCounter": 0,
            "spam": false,
            "names": [
                {
                    "name": "apple inc.",
                    "occurrences": 9273,
                    "isSpam": false
                },
                {
                    "name": "apple",
                    "occurrences": 609,
                    "isSpam": false
                }
            ],
            "namesCount": 2
        }
    ],
    "hiya": {
        "name": "Apple Inc.",
        "type": "Business",
        "is_spam": false,
        "reputation": "UNCERTAIN",
        "spam_score": 0,
        "reputation_score": 100,
        "category": "Technology",
        "comments": {
            "reports": [
                {
                    "id": "unique-id",
                    "phone": "1/8006927753",
                    "timestamp": "2024-02-14T12:53:21.190Z",
                    "comment": {
                        "languageTag": "en-US",
                        "str": "Apple Support"
                    },
                    "category": 1
                }
            ]
        }
    }
}

Field Descriptions

CallerAPI Fields
  • spam_count: Number of spam reports
  • block_count: Number of times the number was blocked
  • is_spam: Whether the number is marked as spam
  • spam_score: Spam likelihood score (0-100)
Truecaller Fields
  • is_valid: Whether the number is valid
  • country: Country of the phone number
  • number_type_label: Type of number (mobile, landline, etc.)
  • provider: Carrier/provider name
CallApp Fields
  • websites: Associated websites
  • addresses: Physical addresses
  • categories: Business categories
  • openingHours: Business hours
  • spamScore: Spam likelihood score
ViewCaller Fields
  • spamCounter: Number of spam reports
  • names: List of reported names with occurrence counts
  • namesCount: Total number of reported names
Hiya Fields
  • reputation: Overall reputation (GOOD, SPAM, UNCERTAIN)
  • spam_score: Spam likelihood score (0-100)
  • comments: User-submitted reports and comments
Comment Categories
Not Spam Type
  • 1: Not Spam - Legitimate calls
Nuisance Type
  • 2: General Spam - Non-specific spam calls
  • 3: Debt Collector - Collection agency calls
  • 4: Political - Campaign or political calls
  • 5: Nonprofit - Charity or nonprofit organization calls
  • 6: Telemarketer - Sales and marketing calls
  • 7: Survey - Market research or survey calls
Risk Type
  • 8: Fraud - Scam or fraudulent calls
  • 10: Robocaller - Automated calling systems

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' 'https://callerapi.com/api/phone/info/18006927753'

KYC API

These endpoints provide advanced phone number intelligence. Each endpoint requires authentication with your API key.

Pricing

Network Intelligence

  • Ported Date €0.008
  • Porting History €0.02
  • Port Fraud Risk €0.02

Advanced Verification

  • Online Presence €0.15
  • KYC Match €0.30

Note: 1 credit = $0.0039. Credits will be deducted based on the equivalent cost of each request.

Get Porting Information

Check if a number has been ported and get the most recent porting date.

GET https://callerapi.com/api/ported/{phone}

Response

{
    "ported": true,
    "ported_date": "2016-12-30 15:15:19",
    "ported_date_type": "exact",
    "status": 0,
    "status_message": "Success"
}

Field Descriptions

Porting Information Fields
  • ported: Boolean indicating if the number has been ported from its original network
  • ported_date: Timestamp of the most recent porting event in "YYYY-MM-DD HH:MM:SS" format
  • ported_date_type: Indicates the reliability of the porting date:
    • "exact": Precise porting date and time from network records
    • "estimate": Approximate date based on available data
    • "unknown": Porting occurred but exact date cannot be determined
  • current_network: Information about the current network operator:
    • mcc: Mobile Country Code
    • mnc: Mobile Network Code
    • name: Operator name
    • spid: Service Provider ID
    • lrn: Location Routing Number (if applicable)
  • origin_network: Information about the original network operator that issued the number (same fields as current_network)
  • present: Indicates if the number is currently active in the network ("yes", "no", or "n/a")
  • status: Response status code (0 = Success)
  • status_message: Human-readable status message

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' \
'https://callerapi.com/api/ported/40721987086'

Get Porting History

Retrieve the complete history of porting events for a number.

GET https://callerapi.com/api/porting-history/{phone}

Response

{
    "porting_history": [
        {
            "action": "D",
            "tmtnetwork": 4018720,
            "i_type": "m",
            "ts": "2022-01-31T00:00:00"
        },
        {
            "action": "A",
            "tmtnetwork": 4018740,
            "i_type": "m",
            "ts": "2021-03-18T00:00:00"
        }
    ],
    "status": 0,
    "status_message": "Success"
}

Field Descriptions

Porting History Fields
  • porting_history: Array of porting events since logging began for the country, ordered from most recent to oldest
  • Each porting event contains:
    • action: Type of porting action:
      • "A": Addition - number added to network
      • "D": Deletion - number removed from network
      • "C": Change - network details changed
      • "P": Port - number ported between networks
      • "R": Return - number returned to original network
    • tmtnetwork: Unique identifier for the network operator involved in the event
    • i_type: Network type identifier:
      • "m": Mobile network operator
      • "f": Fixed/landline network
      • "v": VoIP provider
      • "o": Other network type
    • ts: Timestamp of the event in ISO 8601 format
  • current_network: Information about the current network operator:
    • mcc: Mobile Country Code
    • mnc: Mobile Network Code
    • name: Operator name
    • spid: Service Provider ID
    • lrn: Location Routing Number (if applicable)
  • ported: Boolean indicating if the number is currently ported
  • status: Response status code (0 = Success)
  • status_message: Human-readable status message

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' \
'https://callerapi.com/api/porting-history/40739521819'

Get Port Fraud Risk

Assess the risk of port-out fraud for a number based on recent porting activity.

GET https://callerapi.com/api/port-fraud/{phone}

Response

{
    "port_fraud_risk": "low",
    "status": 0,
    "status_message": "Success"
}

Field Descriptions

Port Fraud Risk Fields
  • port_fraud_risk: Assessment of the risk level for potential port-out fraud:
    • "none": No risk detected - no recent porting activity or suspicious patterns
    • "low": Minimal risk - normal porting activity within expected patterns
    • "medium": Moderate risk - some unusual porting patterns detected
    • "high": Significant risk - multiple suspicious porting events or patterns
    • "critical": Very high risk - clear indicators of potential port-out fraud
  • risk_factors: Array of detected risk factors (if any):
    • "recent_port": Recent porting activity within last 30 days
    • "multiple_ports": Multiple porting events in short timeframe
    • "suspicious_pattern": Unusual porting pattern detected
    • "known_fraud": Previous fraud activity associated with number
    • "cross_border": International porting activity
  • last_port: Information about the most recent porting event (if any):
    • date: Date of the last porting event
    • from: Source network operator
    • to: Destination network operator
  • status: Response status code (0 = Success)
  • status_message: Human-readable status message

Note: Port fraud risk assessment combines historical porting data with real-time network signaling checks to evaluate the likelihood of fraudulent porting activity.

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' \
'https://callerapi.com/api/port-fraud/40721987086'

Get Online Presence

Check if a number is linked to various online platforms and services.

GET https://callerapi.com/api/online-presence/{phone}

Response

{
    "online_presence": {
        "whatsapp": 1,
        "telegram": 0,
        "amazon": 1,
        "google": 1,
        "office365": 1,
        "instagram": 1,
        "linkedin": -1,
        "twitter": 1,
        "skype": 0,
        "viber": 0
    },
    "status": 0,
    "status_message": "Success"
}

Field Descriptions

Online Presence Fields
  • online_presence: Object containing presence status for various platforms
  • Status values for each platform:
    • 1: Active - phone number is linked to an active account
    • 0: Inactive - phone number is not linked to an account
    • -1: Unknown - platform status could not be determined
    • -2: Error - error occurred while checking platform
  • Supported platforms:
    • whatsapp: WhatsApp messaging service
    • telegram: Telegram messaging service
    • amazon: Amazon shopping platform
    • google: Google account services
    • office365: Microsoft Office 365
    • instagram: Instagram social media
    • linkedin: LinkedIn professional network
    • twitter: Twitter/X social media
    • skype: Skype calling service
    • viber: Viber messaging app
    • facebook: Facebook social network
    • flipkart: Flipkart shopping platform (India)
    • bukalapak: Bukalapak shopping platform (Indonesia)
  • Error response fields (when status = 4):
    • error: Error code
    • error_description: Human-readable error message
  • status: Response status code:
    • 0: Success - all platforms checked successfully
    • 4: Partial Reply - some platform checks failed
  • status_message: Human-readable status message

Note: Platform availability may vary by country. Some platforms are only available in specific regions.

Values: 1 = active, 0 = not active, -1 = unknown

Code Examples

curl -H 'X-Auth: YOUR_API_KEY' \
'https://callerapi.com/api/online-presence/40721987086'

KYC Match

Verify identity information against mobile network operator records.

POST https://callerapi.com/api/kyc/{phone}

Request Body

{
    "name": {
        "first_name": "John",
        "middle_name": "Robert",
        "last_name": "Smith"
    },
    "dob": {
        "day": "2",
        "month": "11",
        "year": "1985"
    },
    "address": {
        "street": "Omnia",
        "street_no": "23",
        "unit_no": "11A",
        "city": "Toronto",
        "state": "Ontario",
        "postcode": "M4B1B3",
        "country": "CA"
    },
    "email": "[email protected]"
}

Response

{
    "kyc_results": {
        "first_name_score": 100,
        "last_name_score": 100,
        "middle_name_score": -1,
        "address_score": 78,
        "dob": 50,
        "email_score": 100
    },
    "status": 0,
    "status_message": "Success"
}

Field Descriptions

Request Fields
  • name: Object containing name components to verify
    • first_name: First/given name
    • middle_name: Middle name (optional)
    • last_name: Last/family name
  • dob: Object containing date of birth components
    • day: Day of birth (1-31)
    • month: Month of birth (1-12)
    • year: Year of birth (4-digit format)
  • address: Object containing address components
    • street: Street name
    • street_no: Street number
    • unit_no: Apartment/unit number (optional)
    • city: City/town name
    • state: State/province/region
    • postcode: Postal/ZIP code
    • country: Country code (ISO 2-letter)
  • email: Email address to verify
Response Fields
  • kyc_results: Object containing match scores for each verified field
    • Name component scores:
      • first_name_score: Match score for first name
      • middle_name_score: Match score for middle name
      • last_name_score: Match score for last name
    • Address component scores:
      • address_score: Overall match score for the entire address
      • street_name_score: Match score for street name
      • street_no_score: Match score for street number
      • unit_no_score: Match score for unit number
      • city_score: Match score for city
      • province_score: Match score for state/province
      • postcode_score: Match score for postal code
      • country_score: Match score for country
    • dob: Match score for date of birth
    • email_score: Match score for email address
  • status: Response status code (0 = Success)
  • status_message: Human-readable status message
Score Values
  • 100: Perfect match - exact match with carrier records
  • 75-99: Strong match - high confidence in data accuracy
  • 50-74: Partial match - some matching elements found
  • 1-49: Weak match - low confidence in data accuracy
  • 0: No match - data exists but does not match
  • -1: Unknown - carrier has no data for comparison

Note: Different carriers may use different matching algorithms. Some use percentage-based scoring while others use simple match/no-match (converted to 100/0). All responses are normalized to the -1 to 100 scale.

Code Examples

curl -X POST -H 'X-Auth: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
    "name": {
        "first_name": "John",
        "middle_name": "Robert",
        "last_name": "Smith"
    },
    "dob": {
        "day": "2",
        "month": "11",
        "year": "1985"
    },
    "address": {
        "street": "Omnia",
        "street_no": "23",
        "unit_no": "11A",
        "city": "Toronto",
        "state": "Ontario",
        "postcode": "M4B1B3",
        "country": "CA"
    },
    "email": "[email protected]"
}' \
'https://callerapi.com/api/kyc/40721987086'