Developers

API & MCP reference

Base URL https://research.dropwatchhq.com. Auth via x-api-key header or ?key=. No key = free tier (last-week sample, limited results).

1 · new_funding the GTM magnet

Newest grants + trials in a territory — the highest-intent signal. Filter by institution, PI, sponsor, topic, state, IC, phase, $ range.

GET /v1/new_funding
  ?topic=oncology        # canonical topic slug (see /browse)
  &state=CA              # org/site state (2-letter)
  &institution=Stanford  # institution substring
  &sponsorClass=INDUSTRY # INDUSTRY | NIH | OTHER_GOV | OTHER
  &minAmount=500000
  &limit=50

# response
{ "grants":[ {"kind":"grant","pi":"...","org":"...","ic":"NCI",
    "amount":1234567,"noticeDate":"2026-06-19",
    "url":"https://reporter.nih.gov/project-details/..."} ],
  "trials":[ {"kind":"trial","sponsor":"...","phase":"PHASE2","status":"RECRUITING",
    "url":"https://clinicaltrials.gov/study/NCT..."} ],
  "counts":{"grants":42,"trials":17} }

2 · whats_changed_since the lock-in

Returns NEW/MODIFIED records since your cursor. Store the returned cursor and pass it back next time — that's your bookmark and your CRM-sync primitive.

GET /v1/whats_changed_since?cursor=<omit for first call>&topic=neuroscience&limit=200

3 · delta_digest

New grants + new trials in a filter over the last N days (the weekly-digest payload).

GET /v1/delta_digest?institution=Stanford&days=7

4 · entity_watch

Recent funding/trial events for one institution, PI, sponsor, or topic.

GET /v1/entity_watch?type=institution&value=Stanford%20University
GET /v1/entity_watch?type=sponsor&value=Moderna

5 · search_records (enrichment)

GET /v1/search_records?keyword=CAR-T&sponsorClass=INDUSTRY&limit=50

6 · MCP (agent-callable)

Point any MCP client at https://research.dropwatchhq.com/mcp (Streamable HTTP, JSON-RPC 2.0). Tools: new_funding, whats_changed_since, delta_digest, entity_watch, search_records.

curl -s https://research.dropwatchhq.com/mcp -H "content-type: application/json" \
  -H "x-api-key: rik_live_xxx" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"new_funding","arguments":{"topic":"oncology","state":"CA"}}}'

7 · Saved filters, watchlists & webhooks paid tiers

POST /v1/filters    {"name":"ca-oncology","filter":{"topic":"oncology","state":"CA"}}
POST /v1/watchlist  {"entity":{"type":"institution","value":"Stanford University"},
                     "webhook":"https://your.app/hook"}
# We POST {event:"new_funding",watch,changes[]} to your webhook when the daily
# snapshot finds new funding/trials for a watched entity.

Honest scope

Grant + trial data are real and current (NIH RePORTER, ClinicalTrials.gov). The change-history (our moat) accrues from daily snapshots — thin the first days, sharpens over weeks. Endpoints flag this with a note while history is shallow. The new-funding feed and search work fully from day one.