List signal feed
What changed on one list's companies, as JSON or CSV, from a revocable token URL: the parameters, the topics, the CSV columns and the refusals.
A list's signal feed returns the signals from the companies currently in the list, on the list's topics. Open Connect on the list to get both URLs. They sit beside the company feed and share its token:
https://prospex.ch/app/lists/feed/<token>/signals.json
https://prospex.ch/app/lists/feed/<token>/signals.csv
The URL is the credential. Reads need no browser session or authorization header. The feed answers while monitoring is on. With monitoring off, both URLs answer 404 and the company feed keeps working.
JSON
{
"version": 1,
"list": {
"id": 7,
"name": "Renewal accounts",
"origin": "imported",
"company_count": 42,
"topics": ["leadership", "growth_finance"],
"paused": false,
"monitored": true
},
"generated_at": "2026-08-21T08:15:00+00:00",
"count": 2,
"has_more": true,
"next_url": "https://prospex.ch/app/lists/feed/…/signals.json?limit=2&cursor=…",
"usage": {"rows_today": 214, "daily_limit": 500, "rows_this_month": 862, "monthly_limit": 1000},
"data": []
}
Rows are in the order we recorded them, newest first, and hold the events that happened in the last 90 days: event_days reaches further back. next_url is absolute and preserves the parameters from the first request. A keyset cursor prevents newer signals from shifting an older row past the next page.
JSON parameters
| Parameter | Meaning |
|---|---|
| cursor | JSON only. Opaque; follow next_url instead of building one. |
| event_days | Days. Only events that happened in the last event_days, 90 by default, up to 3650. An event with no date counts from the day it was recorded. |
| limit | JSON rows per page, up to 500. |
| since | ISO date or datetime. Only signals recorded after it. |
| type | Topic keys, repeated or comma-separated. Narrows within the list's topics. |
CSV parameters
| Parameter | Meaning |
|---|---|
| event_days | Days. Only events that happened in the last event_days, 90 by default, up to 3650. An event with no date counts from the day it was recorded. |
| since | ISO date or datetime. Only signals recorded after it. |
| type | Topic keys, repeated or comma-separated. Narrows within the list's topics. |
CSV streams up to 10000 rows and stops where the account's row budget does, at one row per company the signals are about. Its rows are the same signal objects returned by JSON.
Topics
Omit type to read every topic configured on the list. Passing one or more of these keys narrows within that configuration:
company_structure: Company structureleadership: Leadership and teamsproducts_positioning: Products and positioninggrowth_finance: Growth and financecompany_news: Company news
CSV columns
| Column | JSON key |
|---|---|
| Signal ID | signal_id |
| Company | company_name |
| Company UID | company_uid |
| Website | company_website |
| Domain | company_domain |
| City | company_city |
| Canton | company_canton |
| Audience | company_audience |
| Employee Size | company_employee_size |
| NOGA Division | company_sector_code |
| Sector | company_sector |
| Signal Type | signal_type |
| Signal Type Label | signal_type_label |
| Title | title |
| Summary | summary |
| Why It Matters | why_it_matters |
| Event Date | event_date |
| Detected | detected_at |
| Confidence | confidence |
| Opportunity | opportunity |
| Opportunity Band | opportunity_band |
| Source | source_name |
| Source URL | source_url |
| Signal URL | signal_url |
| Status | review_status |
| Legal Form | company_legal_form_label |
| Head Office ID | company_head_office_id |
| Head Office | company_head_office_name |
| Group ID | company_group_id |
| Group | company_group_name |
| Group Primary ID | company_group_primary_id |
| Is Group Primary | company_is_group_primary |
| Website Relationship | company_website_relationship |
| Trading Names | company_trading_names |
| NOGA Code | company_noga_code |
| NOGA Level | company_noga_level |
| NOGA Activity | company_noga_label |
| NOGA Source | company_noga_source |
| Street | company_street |
| Postcode | company_postcode |
Refusals
| Status | Error | When |
|---|---|---|
| 400 | invalid_parameter | A parameter, date, topic or cursor could not be read. |
| 402 | subscription_required | The account behind the feed has lost access. |
| 404 | unknown_token | No feed answers this token. |
| 429 | daily_row_limit | The account's companies for the day are taken. Read Retry-After. |
| 429 | monthly_row_limit | The account's companies for the month are taken. Read Retry-After. |
| 503 | feed_disabled | Token feeds are temporarily unavailable. |
Every response carries Cache-Control: no-store and X-Robots-Tag: noindex, nofollow. A rotated token, a switched-off feed, a deleted list and a list with monitoring off all answer 404.