Facebookpixel Doc Dev Call - SMSMobileAPI
SMSMobileAPI – Call Management API Documentation

Quickstart

Base URL

GET https://api.smsmobileapi.com
All endpoints below are documented as GET requests. Replace YOUR_API_KEY with your real key (do not share it publicly).

Examples

GET https://api.smsmobileapi.com/call/missed/list/?apikey=YOUR_API_KEY
GET https://api.smsmobileapi.com/call/incoming/list/?apikey=YOUR_API_KEY&limit=50&offset=0&sort_by=call_date_ms&sort_dir=desc
GET https://api.smsmobileapi.com/call/outgoing/list/?apikey=YOUR_API_KEY&q=%2B1555&date_from_ms=1700000000000&date_to_ms=1700864000000

Authentication

Call Management endpoints authenticate using the apikey query parameter.

Subscription validation: Incoming/Outgoing endpoints validate your API key and check your subscription validity (dateLimit >= CURDATE()). If expired, you’ll receive api_expired.

Common concepts

Pagination

Use limit and offset to paginate results.

Timestamps

  • call_date_ms is a UNIX timestamp in milliseconds.
  • call_datetime_utc is stored as a UTC datetime string (database field).
  • For Missed Calls, the API returns a formatted date string (derived from a milliseconds value).

Search

  • Missed calls: search matches number or name.
  • Incoming/Outgoing: q matches phone_number or cached_name.

Sorting (Incoming/Outgoing only)

Sorting is controlled by sort_by + sort_dir (whitelisted fields only). Missed calls are always ordered by newest first.

All response examples in this documentation are anonymized. API keys, phone numbers, and contact names shown below are sample values only.

Errors

HTTP Example error Meaning
400 {"success":false,"error":"missing_apikey"} Missing or empty apikey.
403 {"success":false,"error":"invalid_apikey"} API key not found / not recognized.
403 {"success":false,"error":"api_expired"} Your subscription is expired (dateLimit is before today).
500 {"success":false,"error":"server_error","detail":"..."} Server error (database, SQL, exception).

Note: the Missed Calls endpoint can also return messages like Missing apikey or SQL preparation errors depending on the situation.

Missed Calls – List

Retrieve missed calls synchronized from the mobile device.

Endpoint

GET https://api.smsmobileapi.com/call/missed/list/

Query parameters

ParameterTypeDescription
apikeystringRequired Your API key linked to the mobile phone.
offsetintOptional Pagination offset (default: 0).
limitintOptional Max rows (default: 100, max: 500).
searchstringOptional Search by number or name (SQL LIKE).
date_startYYYY-MM-DDOptional Filter from this day (00:00:00).
date_endYYYY-MM-DDOptional Filter up to this day (23:59:59).

Example request

GET https://api.smsmobileapi.com/call/missed/list/?apikey=YOUR_API_KEY&offset=0&limit=100

Example JSON response

{
  "success": true,
  "offset": 0,
  "limit": 100,
  "count": 3,
  "data": [
    {
      "number": "+15551230001",
      "name": "",
      "date": "2026-03-20 16:12:28"
    },
    {
      "number": "+15551230002",
      "name": "Alex Carter",
      "date": "2026-03-20 16:12:00"
    },
    {
      "number": "+447700900123",
      "name": "Taylor Reed",
      "date": "2026-03-20 15:48:41"
    }
  ]
}

Response explanation

FieldDescription
successtrue means the request was processed successfully.
offsetPagination offset returned by the API.
limitPagination limit applied to the request.
countNumber of rows returned in data.
dataArray containing missed call entries.
data[].numberCaller phone number.
data[].nameCached contact name. Can be empty if no contact name is available.
data[].dateFormatted call date and time.
Example values above are anonymized. Real responses may contain different phone numbers and contact labels.

Incoming Calls – List

Retrieve incoming answered calls synchronized from the mobile device.

Endpoint

GET https://api.smsmobileapi.com/call/incoming/list/

Query parameters

ParameterTypeDescription
apikeystringRequired Your API key (validated against subscription).
limitintOptional Rows per page (default: 50, max: 200).
offsetintOptional Pagination offset (default: 0).
sort_bystring Optional Allowed: call_date_ms call_datetime_utc duration_sec phone_number created_at cached_name geo_location
sort_dirasc|descOptional Default: desc.
date_from_msint (ms)Optional Filter where call_date_ms >= date_from_ms.
date_to_msint (ms)Optional Filter where call_date_ms <= date_to_ms.
qstringOptional Search on phone_number or cached_name (LIKE).

Example request

GET https://api.smsmobileapi.com/call/incoming/list/?apikey=YOUR_API_KEY&limit=50&offset=0&sort_by=call_date_ms&sort_dir=desc

Example JSON response

{
  "success": true,
  "apikey": "YOUR_API_KEY_HASH",
  "limit": 50,
  "offset": 0,
  "sort_by": "call_date_ms",
  "sort_dir": "desc",
  "filters": {
    "date_from_ms": null,
    "date_to_ms": null,
    "q": null
  },
  "count": 3,
  "rows": [
    {
      "phone_number": "+15551230010",
      "cached_name": "Jordan Blake",
      "call_date_ms": 1774027779390,
      "call_datetime_utc": "2026-03-20 17:29:39",
      "duration_sec": 23,
      "geo_location": "Canada",
      "created_at": "2026-03-20 17:46:45"
    },
    {
      "phone_number": "+15551230011",
      "cached_name": "Morgan Lee",
      "call_date_ms": 1774018268663,
      "call_datetime_utc": "2026-03-20 14:51:08",
      "duration_sec": 50,
      "geo_location": "Canada",
      "created_at": "2026-03-20 14:58:37"
    },
    {
      "phone_number": "+447700900124",
      "cached_name": "Sam Parker",
      "call_date_ms": 1774011205123,
      "call_datetime_utc": "2026-03-20 12:53:25",
      "duration_sec": 92,
      "geo_location": "Canada",
      "created_at": "2026-03-20 12:59:01"
    }
  ]
}

Response explanation

FieldDescription
successtrue means the request was processed successfully.
apikeyEchoed API key value. In documentation examples, this should always be masked.
limitNumber of rows requested per page.
offsetPagination offset returned by the API.
sort_bySorting field applied by the API.
sort_dirSorting direction applied by the API.
filtersObject containing the active filters used for the request.
countNumber of rows returned in rows.
rowsArray containing incoming answered call entries.
rows[].phone_numberPhone number linked to the call.
rows[].cached_nameCached contact name. Can be null or empty depending on available data.
rows[].call_date_msCall timestamp in milliseconds.
rows[].call_datetime_utcUTC date and time of the call.
rows[].duration_secCall duration in seconds.
rows[].geo_locationGeographic label associated with the number, if available.
rows[].created_atDate and time when the row was inserted on the server.
The API can echo your apikey in the response. In public documentation, screenshots, and examples, always mask it.

Outgoing Calls – List

Retrieve outgoing calls synchronized from the mobile device.

Endpoint

GET https://api.smsmobileapi.com/call/outgoing/list/

Query parameters

Same parameters and behavior as Incoming Calls.

ParameterTypeDescription
apikeystringRequired Your API key (validated against subscription).
limitintOptional Rows per page (default: 50, max: 200).
offsetintOptional Pagination offset (default: 0).
sort_bystring Optional Allowed: call_date_ms call_datetime_utc duration_sec phone_number created_at cached_name geo_location
sort_dirasc|descOptional Default: desc.
date_from_msint (ms)Optional Filter where call_date_ms >= date_from_ms.
date_to_msint (ms)Optional Filter where call_date_ms <= date_to_ms.
qstringOptional Search on phone_number or cached_name (LIKE).

Example request

GET https://api.smsmobileapi.com/call/outgoing/list/?apikey=YOUR_API_KEY&limit=50&offset=0&sort_by=call_date_ms&sort_dir=desc

Example JSON response

{
  "success": true,
  "apikey": "YOUR_API_KEY_HASH",
  "limit": 50,
  "offset": 0,
  "sort_by": "call_date_ms",
  "sort_dir": "desc",
  "filters": {
    "date_from_ms": null,
    "date_to_ms": null,
    "q": null
  },
  "count": 3,
  "rows": [
    {
      "phone_number": "+15551230020",
      "cached_name": "Casey Morgan",
      "call_date_ms": 1774025965645,
      "call_datetime_utc": "2026-03-20 16:59:25",
      "duration_sec": 15,
      "geo_location": "Canada",
      "created_at": "2026-03-20 17:17:58"
    },
    {
      "phone_number": "+15551230021",
      "cached_name": "Taylor Brooks",
      "call_date_ms": 1774023172638,
      "call_datetime_utc": "2026-03-20 16:12:52",
      "duration_sec": 556,
      "geo_location": "Canada",
      "created_at": "2026-03-20 16:28:38"
    },
    {
      "phone_number": "+33198765432",
      "cached_name": "Jamie Carter",
      "call_date_ms": 1774019040000,
      "call_datetime_utc": "2026-03-20 15:04:00",
      "duration_sec": 61,
      "geo_location": "Canada",
      "created_at": "2026-03-20 15:09:11"
    }
  ]
}

Response explanation

FieldDescription
successtrue means the request was processed successfully.
apikeyEchoed API key value. In documentation examples, this should always be masked.
limitNumber of rows requested per page.
offsetPagination offset returned by the API.
sort_bySorting field applied by the API.
sort_dirSorting direction applied by the API.
filtersObject containing the active filters used for the request.
countNumber of rows returned in rows.
rowsArray containing outgoing call entries.
rows[].phone_numberPhone number linked to the call.
rows[].cached_nameCached contact name. Can be null or empty depending on available data.
rows[].call_date_msCall timestamp in milliseconds.
rows[].call_datetime_utcUTC date and time of the call.
rows[].duration_secCall duration in seconds.
rows[].geo_locationGeographic label associated with the number, if available.
rows[].created_atDate and time when the row was inserted on the server.
Example values above are anonymized. Replace them with your own live data only in private/internal tools, never in public documentation.

Missed call fields

FieldTypeDescription
successboolRequest status.
offsetintPagination offset returned.
limitintPagination limit returned.
countintNumber of rows returned in data.
dataarrayList of missed calls.
data[].numberstringCaller phone number.
data[].namestringCached contact name (may be empty).
data[].datestringFormatted datetime string derived from a milliseconds timestamp.

Incoming/Outgoing fields

FieldTypeDescription
successboolRequest status.
apikeystringEchoed back by API (your key). In public docs, always mask it.
limitintRows per page returned.
offsetintPagination offset returned.
sort_bystringApplied sort field.
sort_dirstringApplied sort direction.
filtersobjectEchoed filters (date_from_ms, date_to_ms, q).
countintNumber of rows returned in rows.
rowsarrayList of calls.
rows[].phone_numberstringPhone number.
rows[].cached_namestring|nullCached contact name (can be null).
rows[].call_date_msintCall timestamp in milliseconds.
rows[].call_datetime_utcstringUTC datetime field (database).
rows[].duration_secintDuration in seconds.
rows[].geo_locationstring|nullGeo location label (can be null/empty).
rows[].created_atstringServer insertion timestamp.
💬 Live Chat
💬 Live Chat Available
Have any questions or need assistance ?
Our team is here to help you!

Enter your email address
to help us follow up on your request :
Dashboard