1. REST
CallerAPI Documentation
  • Quickstart
  • Use cases
    • For carriers (MNOs/MVNOs)
    • CPaaS platforms
    • Cloud communications providers
    • SIP trunking providers
    • PBX/Cloud PBX
    • UCaaS vendors
  • Account
    • Balance and email
  • Spam protection
    • Voice firewall
      • Get started
      • Quickstart
        • What you get
        • Before you start
        • Test with a recording
        • Connect your switch
        • Switch notes
        • Twilio and Telnyx
        • Send text instead of audio
      • Verdicts
        • Read a verdict
        • What to do with a verdict
        • Block a caller
        • Events and webhooks
      • Honeypot
        • Hand a call over
        • Audio, events, and limits
      • Reference
        • Endpoints
        • Errors
        • Limits and thresholds
        • Production checklist
      • REST
        • What this deployment can do
          GET
        • List the verdict categories
          GET
        • List the honeypot personas
          GET
        • Score a transcript or a recording
          POST
        • List your recent sessions
          GET
        • Get one session with verdict and intel
          GET
        • Twilio voice URL for a screened number
          POST
        • Preview the Twilio TwiML
          GET
        • Telnyx voice URL for a screened number
          POST
        • Twilio voice URL for a honeypot number
          POST
        • Telnyx voice URL for a honeypot number
          POST
      • WebSocket
        • Live scam filter stream
        • Honeypot stream
    • Daily spam reports
      • Webhook
        • Subscribe to daily reports
        • Unsubscribe from daily reports
        • List webhook subscriptions
        • Manual dispatch of reports
        • Test webhook
      • REST
        • Fetch daily spam reports
    • 15 days spam CSV snapshot
      GET
    • Spam score + HLR
      GET
  • Mobile SDK
    • Get started
    • Quickstart
      • What you get
      • Get your keys
      • Android
      • iOS
      • Flutter
      • React Native
      • Check it works
    • Call screening
      • What each platform can do
      • Android call screening
      • iOS prerequisites
      • iOS add the extension
      • iOS test on device
    • Reference
      • Methods
      • Errors
      • Limits and billing
      • Troubleshooting
  • Data partners
    • Partner tems & docs
    • Upload spam reports
    • Upload contacts
  • Fraud prevention
    • Ported date
    • Porting history
    • Online presence
    • KYC user identity
  • Schemas
    • Spam protection
      • Spam score request
      • Business info
      • Carrier info
      • Complaint (without number)
      • Daily spam reports request
      • Complaint (with phone)
  1. REST

Score a transcript or a recording

POST
/api/voice/scan
Classify one call after the fact. Send a transcript, or audio as base64 or as a multipart file named audio. Exactly one of transcript or audio is required. Costs 2 credits per request plus 1 credit per started minute of uploaded audio. A request rejected with 400 costs nothing. The body limit is 25 MB. The request times out after 90 seconds.
With report=true and from present, a score of 0.8 or more files the caller and every callback number as a complaint. none, Advertising, Surveys, Hang Up, and No Subject Provided are never filed. Other needs 0.85.
Multipart is also accepted: a file field named audio plus the same fields as form values.

Request

Authorization
API Key
Add parameter in header
x-auth
Example:
x-auth: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢200The verdict, the intel, and the transcript
application/json
The verdict, the intel, and the transcript.
Bodyapplication/json

🟠400Bad input
🟠401Missing or wrong API key
🟠402Insufficient credits
🔴502Transcription failed
🔴503Audio was sent but speech recognition is off on this deploym
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.callerapi.com/api/voice/scan' \
--header 'x-auth: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
  "transcript": "This is officer Smith from Social Security. Pay with gift cards today or you will be arrested.",
  "from": "+15559990000",
  "report": false
}'
Response Response Example
200 - The verdict, the intel, and the transcript
{
  "status": "success",
  "session_id": "3f0c1a2e-8b1d-4f7e-9c2a-1d2e3f4a5b6c",
  "verdict": {
    "score": 0.93,
    "level": "scam",
    "category": "Calls pretending to be government, businesses, or family and friends",
    "tactics": [
      "authority_impersonation",
      "threat",
      "untraceable_payment",
      "urgency"
    ],
    "signals": [
      "invokes Social Security",
      "asks for gift cards",
      "threatens arrest or legal action"
    ],
    "summary": "Caller impersonates Social Security and demands gift cards under threat of arrest.",
    "source": "combined"
  },
  "intel": {},
  "transcript": "This is officer Smith from Social Security. Pay with gift cards today or you will be arrested.",
  "reported": false,
  "reported_numbers": 0
}
Modified at 2026-09-18 16:51:46
Previous
List the honeypot personas
Next
List your recent sessions
Built with