CallerID API

Two endpoints. One purpose: look up caller details and track credits. Fast & predictable.

Quick start

Base URL https://api.accunums.com
Auth X-API-Key: <key> or ?api_key=<key>

Endpoints

GET
Lookup
/api/lookup?phone=<number>

Returns caller info for a phone. Charged only if data is returned: 0.009 credits.

Phone formats (EG normalization)
  • 201234567890 — 12 digits (country code 20)
  • 01234567890 — local 11-digit
  • 1234567890 — local 10-digit
  • Arabic numerals supported (e.g. ٠١٢٣…)
Response samples 200 OK
{
  "message": "Success",
  "count": 2,
  "credits": 551.46,
  "phone_number": "+20177077777",
  "data": [
    {"full_name": "Mohamed Ahmed Ali", "email": "[email protected]"},
    {"full_name": "Hasan Kamel", "email": null}
  ]
}
                    
404 Not Found
{ "message": "No records found", "data": [] }
                    
GET
Credits
/credits

Returns remaining credits and key status.

GET https://api.accunums.com/credits
X-API-Key: <your_key>

200 OK
{ "api_key": "xxxx", "credits": 10.5, "is_active": true }
                  

Errors

400 — phone missing 401 — invalid/missing key 402 — insufficient credits 403 — phone forbidden 404 — no records 500 — server error
402
{ "message": "Insufficient credits", "credits": 0.00, "required": 0.009 }
          

Examples

curl -s -G "https://api.accunums.com/api/lookup" \
  -H "X-API-Key: YOUR_KEY" \
  --data-urlencode "phone=201234567890"
          
curl -s "https://api.accunums.com/api/lookup?phone=201234567890&api_key=YOUR_KEY"
          
import requests
r = requests.get(
  "https://api.accunums.com/api/lookup",
  headers={"X-API-Key": "YOUR_KEY"},
  params={"phone": "201234567890"},
  timeout=10
)
print(r.status_code, r.json())
          

Fields returned

phone_numberfull_nameemail