Call Logs API
Connect my tools3 min readUpdated 2026-03-12
Call Logs API
The Call Logs endpoint gives you programmatic access to your complete call history. Pull records into your BI tool, build custom dashboards, or sync call data with your CRM on a schedule.
Endpoint
GET https://api.justcall.io/v2/calls
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Filter from this date (YYYY-MM-DD) |
end_date | string | No | Filter up to this date (YYYY-MM-DD) |
direction | string | No | inbound, outbound, or all (default: all) |
agent_id | integer | No | Filter by a specific agent |
number | string | No | Filter by JustCall number (E.164 format) |
status | string | No | completed, missed, voicemail, busy |
page | integer | No | Page number (default: 1) |
per_page | integer | No | Results per page (default: 25, max: 100) |
Code Example
curl -X GET "https://api.justcall.io/v2/calls?start_date=2026-03-01&end_date=2026-03-12&direction=inbound&per_page=50" \
-H "Authorization: {api_key}:{api_secret}" \
-H "Content-Type: application/json"
Response
{
"status": "success",
"count": 142,
"data": [
{
"call_id": "call_8f3a2b1c",
"direction": "inbound",
"from": "+14155559876",
"to": "+14155551234",
"agent_id": 42,
"agent_name": "Jordan Lee",
"status": "completed",
"duration": 185,
"recording_url": "https://recordings.justcall.io/rec_abc123.mp3",
"voicemail": false,
"notes": "Customer asked about upgrading to Business plan.",
"disposition": "Interested",
"tags": ["upgrade", "pricing"],
"started_at": "2026-03-10T14:22:00Z",
"ended_at": "2026-03-10T14:25:05Z"
}
],
"page": 1,
"per_page": 50,
"total_pages": 3
}
Response Fields Reference
| Field | Type | Description |
|---|---|---|
call_id | string | Unique identifier for the call |
direction | string | inbound or outbound |
from | string | Caller phone number |
to | string | Recipient phone number |
agent_id | integer | ID of the agent who handled the call |
agent_name | string | Display name of the agent |
status | string | completed, missed, voicemail, or busy |
duration | integer | Call duration in seconds |
recording_url | string | URL to the call recording (null if not recorded) |
voicemail | boolean | Whether the call went to voicemail |
notes | string | Agent-entered call notes |
disposition | string | Disposition code set by the agent |
tags | array | Tags applied to the call |
started_at | string | ISO 8601 timestamp when the call started |
ended_at | string | ISO 8601 timestamp when the call ended |
Pagination
The response includes page, per_page, and total_pages. Loop through pages to retrieve all records:
# Page 1
curl -X GET "https://api.justcall.io/v2/calls?page=1&per_page=100" \
-H "Authorization: {api_key}:{api_secret}"
# Page 2
curl -X GET "https://api.justcall.io/v2/calls?page=2&per_page=100" \
-H "Authorization: {api_key}:{api_secret}"
Continue incrementing page until you reach total_pages.
Related Articles
Was this helpful?