Home / Docs
API referenceREST over HTTPS, JSON in and out. Every response carries a request_id. Base URL: https://beforepress.com
MACHINE-READABLE: openapi.json · llms.txt · llms-full.txt
Building with an AI agent? Point it at beforepress.com/llms-full.txt — everything it needs to write your integration is in that one file.
Pass your key on every request. Keys start with sk_live_ and are shown exactly once at issue; lost keys are reset from your account or by support.
Newest first, keyset pagination. Poll with published_after for a cheap firehose, or walk pages with cursor.
| Param | Type | Notes |
|---|---|---|
| type | string | funding | exec_change |
| category | string | company_round | fund_close | crowdfunding (funding only) |
| occurred_after | ISO 8601 | event date floor |
| published_after | ISO 8601 | everything published since your last poll |
| has_domain | boolean | true = only companies with a resolved website |
| limit | int | 1–100, default 25 |
| cursor | string | from next_cursor of the previous page |
The filters compose. The ones people actually use:
300 requests/minute per IP, 120 per API key — a once-a-minute poll uses 1. History is included in unlimited; pulling more than 50,000 unique signals in a day reads as a database export and returns 429 fair_use_exceeded (resets midnight UTC). Genuinely need a bulk export? Email us — we arrange those properly instead of pretending they're API traffic.
One signal by id. Same shape, single object in data.
Your plan, unique signals delivered this billing period, and request count for the last 30 days. Founding and standard plans are unlimited; usage is reported, never capped.
Machine-readable codes on a stable envelope: {"error":{"code","message"},"request_id"}. Codes: unauthorized, payment_required, account_blocked, invalid_cursor, not_found, rate_limited (429; global limit 300 requests/min).
Every signal's receipt_url is a public BeforePress verification page you can paste straight into outreach. It shows the verified facts and our attestation; sourcing method stays proprietary.
Push delivery for new signals, signed so you can verify every payload. Register an HTTPS endpoint and you'll receive signal.created events within about 30 seconds of publication.
The response includes your signing secret exactly once. Each delivery carries BeforePress-Signature: t=<ts>,v1=<sig> where sig = HMAC_SHA256(secret, ts + "." + body), plus an Idempotency-Key stable across retries. Failed deliveries retry with backoff (1m, 5m, 30m, 2h, 12h); endpoints failing 20 times in a row are disabled. GET /v1/webhooks lists yours, DELETE /v1/webhooks/:id removes one. HTTPS only, public hosts only.
First 50 customers, then $349. Month to month, cancel anytime.