Skip to content
ProspectAPIs

Watchlists

Funding alerts by webhook
watchlists for new rounds

A ProspectAPIs watchlist is a funding alert you set up once: save filters such as round, amount, investor or country and an https webhook, and each new funding round that matches is posted to you as JSON, signed with HMAC-SHA256. You pay $0.009 per round delivered, only when your server answers with a 2xx, and nothing to create or test it.

The numbers

Per our API reference, you can send 5 signed test deliveries a minute while you build the receiver; the price is read from our live price list each time this page renders.

Per delivered round
$0.009
Charged only on a 2xx from your webhook.
To create, list, test or delete
Free
Managing watchlists is free.
Test deliveries
5 / min
Signed samples to build your receiver.
Free to start
$1
The same balance pays for searches and alerts.

Why push beats polling

A search answers what has already happened. A watchlist tells you the moment something new matches, so the first message reaches a founder while the announcement is still news. Teams use it to:

  • Feed a sales channel. Post each new round in your segment to Slack or Teams with the source link.
  • Create CRM records. Open an account or a task the moment a target company raises.
  • Wake an agent. Start a research brief and a draft opener from the delivery itself.
  • Watch named accounts. Filter by domain or company and hear when a company on your list raises.

Set up an alert in three steps

  1. 1

    Create the watchlist

    POST your filters and webhook. Store the secret in the response: it is shown once.

  2. 2

    Send a test

    POST to the test route and your webhook receives a signed sample marked test, so you can build and check the receiver.

  3. 3

    Receive new rounds

    Each new matching round arrives as one POST. Verify the signature, then act on it; our guide to funding signals for prospecting shows what to send next.

curl -X POST https://api.prospectapis.com/v1/watchlists \
  -H "Authorization: Bearer $PROSPECTAPIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "US seed and Series A",
       "filters": {"round": "seed,series_a", "country": "US", "min_amount_usd": 2000000},
       "webhook_url": "https://hooks.example.com/funding"}'

What your webhook receives

One POST per matching round. data is the funding record, with the same fields as the funding data API. This example shows a fictional company:

{
  "type": "funding_event.matched",
  "delivery_id": "5e1c9b70-...",
  "watchlist_id": "a41f0c2e-...",
  "delivered_at": "2026-11-03T09:15:01Z",
  "data": {
    "company_name": "Acme Robotics",
    "company_domain": "acme.com",
    "round_stage": "series_a",
    "amount_usd": 18000000,
    "announced_at": "2026-11-03",
    "lead_investors": ["Example Ventures"],
    "source_url": "https://acme.com/blog/series-a"
  }
}

Check the Prospect-Signature header against your secret before trusting the body, and use Prospect-Delivery-Id to drop a delivery you have already handled.

What your endpoint needs

The webhook URL is the one part of a watchlist you run yourself. It has to meet a few rules before we send to it, and a few habits keep it from missing rounds:

  • Public https only. The URL must use https on a public host, on port 443 or an explicit port from 1024 to 65535. A URL that is an IP address or an internal name is refused when you create the watchlist, and every send checks each address the host resolves to at connect time: a private, loopback, link-local or metadata address fails the send, so a changed DNS answer cannot point a delivery at an internal address.
  • Answer within 10 seconds. We wait up to 10 seconds for a response. A timeout counts as a failed send: it is refunded and tried again on a later pass.
  • No redirects. A 3xx response is recorded as the answer and is not followed, so it never counts as delivered. Give us the final URL, not one that forwards somewhere else.
  • Check the timestamp as well as the hash. The header reads t=<unix seconds>,v1=<hex>. Recompute HMAC-SHA256 over the timestamp, a dot and the raw body with your secret, compare in constant time, and reject a timestamp far from your own clock so an old captured body cannot be replayed.
  • Treat the secret like a password. It is returned once, when the watchlist is created, and the list route never shows it again. If it leaks, delete the watchlist and create a new one with the same filters.

How it works

A watchlist is a stored query that runs against new funding rounds instead of against the archive. You save the filters once; from then on, every round that reaches the funding data and matches them is queued for your webhook, posted as one signed JSON body, and recorded with a status you can read back.

  • Matching. New rounds are checked against each watchlist's filters, the same filters the funding search accepts, so a watchlist and a search with the same filters agree on what counts as a match.
  • Delivery. A matched round goes out in the same pass where it can, otherwise on the next one, as one POST to your https webhook with a Prospect-Signature header and a Prospect-Delivery-Id.
  • Billing. Only a 2xx answer from your server marks a round delivered and charges $0.009. A failed send is refunded and retried on a later pass; an account without credit holds the round for up to a day and sends it once topped up; after a day it is marked failed.
  • Record. Every delivery lands in the deliveries route with its status and attempt count, so you can see what was sent, what failed and what is still waiting without logging anything yourself.

Nothing about the watchlist runs on your side between deliveries. There is no poll loop to schedule, no cursor to store and no diff to compute against yesterday's search. A send that fails is tried up to three times across later passes; after the third failure the delivery is marked failed and stays readable in the deliveries route, so a check on failed statuses tells you when your endpoint missed something. Deleting a watchlist stops it and removes its delivery record with it, so export anything you want to keep first.

What's worth watching

The best watchlists are narrow enough that every delivery is worth acting on. A few filter sets teams start from:

  • Your segment's first institutional money. Round stage seed and series A, a minimum amount that matches your buyers, and the countries you sell into. These are the companies about to hire and buy tools.
  • Named accounts. A company domain or company name for each target account, so you hear the day one of them raises instead of finding out at the next quarterly review.
  • An investor's portfolio. An investor filter for a fund whose companies tend to buy what you sell, or whose portfolio you serve as a partner.
  • Late-stage expansion. Series B and later with a high minimum amount, for products sold to companies scaling teams across regions.

Several narrow watchlists are easier to route than one wide one: each can point at its own webhook, such as a separate Slack channel or CRM pipeline per segment.

Is it worth setting up if your buyers are bootstrapped?

Only partly. A watchlist fires when a company announces a round, so a buyer that never raises never shows up. Keep one watchlist on your named accounts (some of them will raise) and use other signals for the rest. You pay only per delivered round, so a quiet watchlist costs nothing.

More on real-time alerts

Real time here means pushed as new rounds are matched, not polled by you. Four details decide whether the alerts you build on it stay trustworthy:

  • Start from creation. A watchlist sees rounds that arrive after it is created. Run the funding search once with the same filters to backfill history, then let the watchlist keep it current.
  • Make the receiver idempotent. Retries mean the same round can reach you twice. Keep the Prospect-Delivery-Id you have handled and drop repeats, and verify the signature before trusting any body.
  • Answer fast, work later. Return a 2xx as soon as the delivery is stored and do the slow work, enrichment or a CRM write, afterwards. A slow or failing endpoint turns deliveries into retries and delays the next one.
  • Test before you rely on it. The test route sends a signed sample marked test to your webhook whenever you like, free, so you can check the receiver end to end before the first real round arrives.

How fast: our funding records are refreshed every two hours, and a delivery pass runs every 15 minutes, sending up to 50 matches per watchlist per pass. A new round usually reaches your webhook within 15 minutes of entering our records; a very broad watchlist with a backlog takes a few more passes. Compared with the other ways to hear about a raise:

Funding alert delivery compared
MethodHow fastYour work
Watchlist webhookUsually within 15 minutes of a round entering our recordsBuild one receiver; nothing to schedule
Polling the funding searchAs often as you schedule itA job, paging and your own de-duplication
A weekly digest emailUp to a week lateSomeone reads it and copies rows by hand

Every delivery has a status

Only a delivered round is charged. Read any watchlist's recent deliveries from the deliveries route.

Watchlist delivery statuses and billing
StatusMeaningBilling
deliveredYour webhook answered 2xx.The only charged state
pendingMatched and waiting for the next delivery pass.Not charged
retryThe send failed; it was refunded and goes out again on a later pass.Refunded
no_creditThe account could not pay for the record. It waits up to a day, then goes out once it can.Not charged
failedThe retries ran out, a day passed without credit, or the round no longer matches.Not charged

Routes and prices

Prices come from GET /pricing. Every product is on the pricing page, and other ways to connect are on the integrations page.

Watchlist routes and prices
RouteWhat it doesPrice
POST /v1/watchlistsCreate a watchlist: a name, funding filters and an https webhook. The signing secret is returned once.Loading the live price
GET /v1/watchlistsList your watchlists, without their secrets.Loading the live price
POST /v1/watchlists/:id/testSend a signed sample to your webhook now, to build the receiver.Loading the live price
GET /v1/watchlists/:id/deliveriesRecent deliveries and the outcome of each.Loading the live price
DELETE /v1/watchlists/:idDelete it and its delivery history.Loading the live price

Questions

What is a funding watchlist?

A saved set of funding filters plus an https webhook. Each new funding round that matches is posted to your webhook as JSON, signed, so you hear about a raise without polling.

How much do funding alerts cost?

Creating, listing, testing and deleting watchlists is free. Each round delivered costs $0.009, charged only when your webhook answers with a 2xx status. A failed send is refunded and retried.

Which filters can a watchlist use?

Round stage, minimum and maximum amount in US dollars, company name, company domain, investor and country, validated exactly as the funding search validates them. Date windows and paging do not apply, because a watchlist only sees rounds that arrive after it is created.

How do I verify a delivery came from you?

Each POST carries a Prospect-Signature header with a timestamp and an HMAC-SHA256 of the timestamp and body, keyed with your watchlist secret. Compare it before trusting the body, and drop duplicates by Prospect-Delivery-Id.

Can I send alerts to Slack, a CRM or a no-code tool?

Yes. Point the webhook at anything that accepts an https POST: your own endpoint, a Zapier or Make webhook trigger, or an n8n webhook node that forwards to Slack or your CRM.

Do I get old rounds when I create a watchlist?

No. A watchlist sees rounds that arrive after it is created. For history, search the funding API with the same filters.

More answers on the FAQ page, and how signing and keys are handled on the security page.

Hear about every round you care about
with $1 free.