Read how many people reached each step
Count the visitors who reached each step over the last few days or between two dates, with drop-off between steps and the overall conversion rate. Each visitor counts once per step, and a visitor who converts stays in the same journey for the funnel window instead of starting a new one. A days value that is not a whole number from 1 to 400 is refused with days_out_of_range.
https://app.softsolz.uk/api/v1/services/funnels/funnels/{funnel_id}/reportRecent Requests
Kept only in this browserPath Params
funnel_idstringrequiredHeaders
AuthorizationstringrequiredBearer token: Bearer sk_live_... (or sk_test_... for sandbox). A login token will not work here.
Query Params
daysintegerDays to look back, a whole number from 1 to 400 (default 30), ending today in the workspace time zone. Ignored when from and to are sent.
fromstringFirst day as YYYY-MM-DD. Send together with to. Up to 400 days.
tostringLast day as YYYY-MM-DD, not before from.
comparebooleanSend true to add the period just before, with its totals, as previous.
Response
Response Body
funnelobjectThe funnel.daysintegerDays the report covers.periodobjectThe days the report covers, in the workspace time zone.totalsobjectVisitor journeys that started in the window.previousobjectThe period just before, with its totals. Only present when compare=true.enteredintegerVisitors who reached the first step.convertedintegerVisitors who reached the goal step, or the last step when none is marked.conversion_ratenumber | nullConverted as a percentage of entered, to one decimal place. Null when nobody entered.biggest_drop_offobject | nullThe step that lost the most visitors, or null when no step lost any.stepsarray of objectsOne row per step, in order.Request
curl --request GET \ --url https://app.softsolz.uk/api/v1/services/funnels/funnels/{funnel_id}/report \ --header 'Authorization: Bearer sk_live_your_key'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 200
{ "data": { "funnel": { "id": "12", "name": "Free trial sign-up", "description": "From the pricing page to a started trial.", "project_id": null, "status": "active", "goal_value_cents": 0, "currency": "GBP", "window_hours": 720, "template_id": null, "archived_at": null, "created_at": "2026-10-01T09:00:00.000Z", "updated_at": "2026-10-01T09:00:00.000Z" }, "days": 30, "period": { "from": "2026-09-02", "to": "2026-10-01", "days": 30, "partial": true }, "totals": { "started": 400, "converted": 52, "conversion_rate": 13, "abandoned": 210, "in_progress": 138, "value_cents": 150800, "value_per_journey_cents": 377, "avg_seconds_to_convert": 860 }, "previous": { "period": { "from": "2026-09-02", "to": "2026-10-01", "days": 30, "partial": true }, "totals": { "started": 400, "converted": 52, "conversion_rate": 13, "abandoned": 210, "in_progress": 138, "value_cents": 150800, "value_per_journey_cents": 377, "avg_seconds_to_convert": 860 } }, "entered": 400, "converted": 52, "conversion_rate": 13, "biggest_drop_off": { "step_id": "302", "position": 2, "name": "Started sign-up", "previous_name": "Viewed pricing", "is_goal": false, "visitors": 140, "share_of_entered": 35, "continued_from_previous": 35, "dropped_from_previous": 260, "gained_from_previous": 0 }, "steps": [ { "step_id": "302", "position": 2, "name": "Started sign-up", "previous_name": "Viewed pricing", "is_goal": false, "visitors": 140, "share_of_entered": 35, "continued_from_previous": 35, "dropped_from_previous": 260, "gained_from_previous": 0 } ] }}