prospex
Prospex docs

Watch API

Read what changed on the companies you are watching, with the same rows the signal feed returns.

A watch answers one question: what changed on these companies. Three routes read it, on a bearer key holding watches:read.

curl -s -H 'Authorization: Bearer pxk_…' 'https://prospex.ch/api/v1/watches'
curl -s -H 'Authorization: Bearer pxk_…' 'https://prospex.ch/api/v1/watches/7'
curl -s -H 'Authorization: Bearer pxk_…' \
  'https://prospex.ch/api/v1/watches/7/signals?since=2026-08-01'

The index and the detail spend nothing. Signals cost a row each, from the same daily budget every other download surface spends.

Creating a watch, changing what it listens for and adding companies to it stay in the browser. Another account's watch answers 404.

Routes

NamePath
watch_index /api/v1/watches
watch_detail /api/v1/watches/<str:watch_id>
watch_signals /api/v1/watches/<str:watch_id>/signals

Company roster

The watched companies come from the watch's source: a linked market, or the companies you follow. Read /api/v1/markets/<id>/companies for the roster, and use source_market_id on the watch to find which market that is.

The detail route reports company_count for a quick check that a watch is still populated.

A watch

FieldTypeMeaning
watch_id integer The Prospex watch id.
watch_name string What you called it.
watch_url string The watch's page in Prospex.
source string follows, market or fixed.
source_market_id integer|null The market a linked watch reads its members from.
topics array The topic keys this watch listens for.
company_count integer How many companies it is watching now.
paused boolean A paused watch still appears in listings but stops alerting.
digest_enabled boolean Whether it appears in the Monday email.
instant_enabled boolean Whether it sends same-day alerts.
last_refreshed_at string|null ISO 8601 UTC.

Signal parameters

ParameterMeaning
since ISO date or datetime. Only signals recorded after it.
type Topic keys, repeated or comma-separated. Defaults to the watch's own topics.
limit Rows per page, up to 100.
cursor Opaque. Follow next_url instead of building one.

A parameter this route does not accept answers 400 unknown_parameter.

Rows are newest first. The cursor is keyset-based, so new signals added between two requests are never skipped. Maximum page size 100.

Topics

KeyWhat it covers
company_structure Company structure
leadership Leadership and teams
products_positioning Products and positioning
growth_finance Growth and finance
company_news Company news

Omit type to get every topic the watch listens for. Pass one or more to narrow within that set.

A signal row is a signal-feed row, field for field, so the signal feed page has the field table.

Cookie preferences

Necessary cookies always run. The other two are on unless you turn them off.