Send a GET request to retrieve Speed To Lead call data in webhook payload format.
Use an account API key from General settings. A bc_live_... key needs Read for Speed To Lead calls and leads (s2l.calls:read). Replace the placeholders below; dates use YYYY-MM-DD.
curl --get 'https://api.leads.convolo.ai/api/v2/calls/payload-data-list' \
--header 'api-key: %ACCOUNT_API_KEY%' \
--data-urlencode 'date_from=%DATE_FROM%' \
--data-urlencode 'date_to=%DATE_TO%' \
--data-urlencode 'max_calls=500' \
--data-urlencode 'page=1'
List of Parameters
date_from | Start date in |
date_to | End date in |
widget_ids | Comma-separated IDs of the widgets for which data will be retrieved |
max_calls | Calls per page: a positive integer. Default: |
page | Page number, starting at |
search_string | Search by call/lead ID, agent, visited page URL, widget name, comments, custom fields or phone number. |
status | Common values: |
filter_url | Filter by the URL of the page visited by the lead (substring match). |
filter_referer | Filter by the visit’s HTTP referrer (substring match). |
filter_lead_number | Filter by lead phone number |
filter_agent | Filter by agent name or phone number |
filter_answer_time_from | Retrieve data only for calls where the agent answer time is greater than the specified value (in seconds) |
filter_answer_time_to | Retrieve data only for calls where the agent answer time is less than the specified value (in seconds) |
filter_talk_time_from | Retrieve data only for calls where the agent and lead talk time is greater than the specified value (in seconds) |
filter_talk_time_to | Retrieve data only for calls where the agent and lead talk time is less than the specified value (in seconds) |
Each request covers at most 90 days. Longer ranges are truncated; check the actual data.date_from and data.date_to. Older historical ranges are supported. For longer history, export consecutive monthly ranges, for example 2026-01-01–2026-01-31, then 2026-02-01–2026-02-28.
Increment page until you have collected data.calls_total calls or endCallPayloadList is empty. Keep dates, filters and max_calls unchanged. data.pagesCount may include an extra empty page.
Example of a successful response:
success: true indicates a successful request. endCallPayloadList contains this page’s payloads: end_call for ended calls, otherwise lead_created. data contains call counters for the full filtered result, query dates, timing statistics and pagination.
Shortened response example; call payloads may contain additional fields:
{
"success": true,
"endCallPayloadList": [
{
"type": "end_call",
"call_id": "%CALL_ID%",
"widget_key": "%WIDGET_KEY%",
"widget_name": "Example widget",
"call_status": "answered",
"time_started_iso_string": "2026-01-20T07:49:38.000Z",
"time_ended_iso_string": "2026-01-20T07:49:55.000Z",
"answer_duration_sec": 11,
"talk_duration_sec": 6,
"total_duration_sec": 17,
"called_lead_phone": "%LEAD_PHONE%"
}
],
"data": {
"calls_total": 1,
"calls_answered": 1,
"calls_no_answer": 0,
"calls_missed": 0,
"calls_processed": 0,
"calls_failed": 0,
"calls_pending": 0,
"calls_initiated": 0,
"calls_on_demand": 0,
"calls_future": 0,
"calls_done": 0,
"calls_real": 1,
"date_from": "2026-01-01T00:00:00.000Z",
"date_to": "2026-01-31T23:59:59.999Z",
"min_agent_answer_time": 11,
"max_agent_answer_time": 11,
"min_talk_time": 6,
"max_talk_time": 6,
"page": 1,
"pagesCount": 1
}
}
Main data parameters
calls_total | Total calls matching the date range and filters, across all pages. |
calls_answered | Number of answered calls |
calls_no_answer | Number of calls not answered by the lead |
calls_missed | Number of calls missed by agents |
date_from | Actual start of the query range in UTC; may be later than requested because of the 90-day limit. |
date_to | End of the query range in UTC. If no end date was supplied, this reports the current time. |
min_agent_answer_time | Minimum time for an agent to answer a call (in seconds) |
max_agent_answer_time | Maximum time for an agent to answer a call (in seconds) |
min_talk_time | Minimum duration of a conversation (in seconds) |
max_talk_time | Maximum duration of a conversation (in seconds) |
| Current page number. |
| Page-count hint. Use |
The min/max timing values are calculated before applying the answer-time and talk-time filters.
