List a signal's leads
Read the leads a signal has delivered — the prospects and companies it found, with their enriched contact and company details — without running a webhook receiver. Use it to review what a signal produced yesterday, to back-fill a CRM after an outage, or to let an AI assistant answer "show me my new leads".
Input: signalId in the path; optional since (ISO-8601 timestamp: only leads produced at or after it), limit (1-100, default 25) and offset (default 0) to page through the results.
Output: signalId, total (matching leads across all pages), limit, offset, hasMore, and leads — newest first, each in exactly the shape the signal's webhook delivers (nested signal / contact / company, snake_case, see outputFields in GET /api/v1/signal-types). For an Account Watchlist, the leads of every enabled source are returned under the watchlist's own id. A company-level lead (a funding round, a deal, a job posting delivered without persona targeting) has contact set to the empty string "", not an object, so it carries no contact.lead_id.
Reading leads is free: a lead is charged once, when it is produced. Leads that did not pass your filters, and watchlist changes still waiting for your review, are not returned.
Request
- Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
- URL: https://api.rodz.io/api/v1/signals/{signal_id}/leads
- Auth: HTTP bearer
Path parameters
Query parameters
Only leads produced at or after this ISO-8601 timestamp.
Leads per page, 1 to 100; default 25.
Leads to skip (pagination).
Response
Successful Response
Example response
{
"hasMore": true,
"leads": [
{
"company": {
"hq_city": "Paris",
"hq_country_code": "FR",
"industry": "Software Development",
"linkedin_url": "https://www.linkedin.com/company/doctolib",
"location": "Paris, France",
"name": "Doctolib",
"phone": "",
"website": "https://doctolib.fr"
},
"contact": {
"city": "Paris",
"country_code": "FR",
"created_at": "2026-10-07T09:12:00+00:00",
"email": "marie.dupont@doctolib.fr",
"first_name": "Marie",
"last_name": "Dupont",
"lead_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"linkedin_profile_url": "https://www.linkedin.com/in/marie-dupont",
"location": "Paris, France",
"matched_persona": "Sales Director",
"phone": "",
"sales_navigator_profile_url": "",
"title": "VP Sales"
},
"signal": {
"heat_score": 50,
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"last_signal": "Job Changes",
"last_signal_date": "2026-10-07",
"name": "New sales leaders in French SaaS",
"tracked_company": "",
"type": "job_changes"
}
},
{
"company": {
"hq_city": "Montpellier",
"hq_country_code": "FR",
"industry": "Software Development",
"linkedin_url": "https://www.linkedin.com/company/acme",
"location": "Montpellier, France",
"name": "Acme",
"phone": "+33199001234",
"website": "https://acme.com"
},
"contact": "",
"signal": {
"announcement_date": "2026-09-20",
"funding_amount": 3000000,
"funding_amount_usd": 3443700,
"funding_currency": "EUR",
"funding_type": "seed",
"heat_score": 50,
"id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"investors": [
"Example Ventures"
],
"last_signal": "Watched Company Raised",
"last_signal_date": "2026-10-15",
"name": "Funding at my target accounts",
"type": "fundraising_watchlist"
}
}
],
"limit": 25,
"offset": 0,
"signalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"total": 42
}Changes
No recorded changes to this operation across all 1 revision of this API.