curl --request GET \
--url https://sacra.com/api/v1/events/ \
--header 'Authorization: <api-key>'import requests
url = "https://sacra.com/api/v1/events/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://sacra.com/api/v1/events/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sacra.com/api/v1/events/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sacra.com/api/v1/events/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sacra.com/api/v1/events/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sacra.com/api/v1/events/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"events": [
{
"event_id": "acq_204dcef9-e482-49db-9ab8-8a5c7e8c3b09",
"event_type": "acquisition",
"event_subtype": null,
"event_name": "Acquired by SpaceX",
"event_date": "2026-08-14",
"event_status": "closed",
"event_last_updated_at": "2026-09-03T13:57:09.240247+00:00",
"company": {
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
},
"data": {
"id": "204dcef9-e482-49db-9ab8-8a5c7e8c3b09",
"updated_at": "2026-09-03T13:57:09.240247+00:00",
"acquired_company": {
"name": "Cursor (Anysphere, Inc.)",
"company": {
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
}
},
"acquirer_company": {
"name": "SpaceX",
"company": {
"id": "325",
"slug": "spacex",
"domain": "spacex.com"
}
},
"announced_date": "2026-06-16",
"closing_date": "2026-08-14",
"cancelled_date": null,
"enterprise_value": null,
"equity_value": {
"amount": "60000000000.00",
"currency": "USD"
},
"status": "closed",
"created_at": "2026-09-03T13:57:09.204500+00:00"
}
}
],
"pagination": {
"page_size": 30,
"current_page_items": 1,
"total_items": 1,
"after_cursor": "Start",
"before_cursor": null,
"next_link": null,
"prev_link": null
},
"meta": {
"query_type": "single-company",
"companies_count": 1,
"companies": [
{
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
}
]
}
}Get aggregated events - Events API
Returns aggregated events from funding rounds, secondary transactions, company milestones, corporate actions, and beta-gated acquisitions in chronological order.
Pagination modes:
page(default): Offset-based pagination viapageandpage_size.cursor: Cursor-based pagination viapage_after/page_before. Recommended.
Global queries (no company filter) require at least one date range (start_date, created_at_gte, or updated_at_gte) spanning 14 days or less.
Acquisitions beta: Use betas=acquisitions (v1 only), optionally with types=acquisition. Company filters match the acquired company, not the buyer. Closed deals with unknown closing dates have event_date=null and are excluded by occurrence-date filters; use update-time filters to sync them.
API versioning: Defaults to v1 (snake_case, detailed status). Pass api_version=v0 for the deprecated legacy schema (kebab-case, binary status).
curl --request GET \
--url https://sacra.com/api/v1/events/ \
--header 'Authorization: <api-key>'import requests
url = "https://sacra.com/api/v1/events/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://sacra.com/api/v1/events/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sacra.com/api/v1/events/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sacra.com/api/v1/events/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sacra.com/api/v1/events/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sacra.com/api/v1/events/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"events": [
{
"event_id": "acq_204dcef9-e482-49db-9ab8-8a5c7e8c3b09",
"event_type": "acquisition",
"event_subtype": null,
"event_name": "Acquired by SpaceX",
"event_date": "2026-08-14",
"event_status": "closed",
"event_last_updated_at": "2026-09-03T13:57:09.240247+00:00",
"company": {
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
},
"data": {
"id": "204dcef9-e482-49db-9ab8-8a5c7e8c3b09",
"updated_at": "2026-09-03T13:57:09.240247+00:00",
"acquired_company": {
"name": "Cursor (Anysphere, Inc.)",
"company": {
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
}
},
"acquirer_company": {
"name": "SpaceX",
"company": {
"id": "325",
"slug": "spacex",
"domain": "spacex.com"
}
},
"announced_date": "2026-06-16",
"closing_date": "2026-08-14",
"cancelled_date": null,
"enterprise_value": null,
"equity_value": {
"amount": "60000000000.00",
"currency": "USD"
},
"status": "closed",
"created_at": "2026-09-03T13:57:09.204500+00:00"
}
}
],
"pagination": {
"page_size": 30,
"current_page_items": 1,
"total_items": 1,
"after_cursor": "Start",
"before_cursor": null,
"next_link": null,
"prev_link": null
},
"meta": {
"query_type": "single-company",
"companies_count": 1,
"companies": [
{
"id": "1446",
"slug": "cursor",
"domain": "cursor.com"
}
]
}
}betas=acquisitions; optionally add types=acquisition to return only acquisitions. The beta requires API v1. Company filters match the acquired company. See Events for an overview and the response schema below for the payload.Authorizations
Authenticate using one of two formats:
- Organization/user token:
Token <your-token> - Stytch JWT:
Bearer <your-jwt>
Query Parameters
API response schema version. Default: v1. Use v0/legacy for deprecated backward-compatible format.
legacy, v0, v1 Comma-separated beta flags. Use acquisitions to include acquisition events. Only supported with api_version=v1. Without types, adds acquisitions to the default event types.
Filter by a single company domain (e.g. spacex.com). Cannot combine with multi-company filters.
Comma-separated list of company domains. Max 200 for GET requests. Cannot combine with single-company filters.
Filter by a single company ID. Cannot combine with multi-company filters.
Comma-separated list of company IDs. Max 200 for GET requests. Cannot combine with single-company filters.
Filter by a single company slug/prismic UID (e.g. spacex). Cannot combine with multi-company filters.
Filter events created at or after this datetime (ISO 8601).
Filter events created at or before this datetime (ISO 8601).
Filter events occurring on or before this date (ISO 8601).
When truthy (1, true, yes), attach citation payloads to events. Default: false.
Page number (offset pagination only). Default: 1.
Cursor for the next page (cursor pagination only). Cannot combine with page_before.
Cursor for the previous page (cursor pagination only). Cannot combine with page_after.
Results per page. Default: 30, max: 100.
Pagination mode. Default: page. cursor is recommended.
cursor, page Filter events occurring on or after this date (ISO 8601, e.g. 2025-01-01).
Comma-separated event subtypes (e.g. stock_split, ipo).
Comma-separated event types to include: funding-round, secondary-transaction, company-milestone, corporate-action, or beta-gated acquisition.
Filter events updated at or after this datetime (ISO 8601). Recommended for daily polling.
Filter events updated at or before this datetime (ISO 8601).
Deprecated alias for api_version. Prefer api_version.