Skip to main content
GET
/
signals
/
acquisitions
Get Acquisition Signals
curl --request GET \
  --url https://www.trysignalbase.com/api/v2/signals/acquisitions \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://www.trysignalbase.com/api/v2/signals/acquisitions"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://www.trysignalbase.com/api/v2/signals/acquisitions', 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://www.trysignalbase.com/api/v2/signals/acquisitions",
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: Bearer <token>"
],
]);

$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://www.trysignalbase.com/api/v2/signals/acquisitions"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://www.trysignalbase.com/api/v2/signals/acquisitions")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://www.trysignalbase.com/api/v2/signals/acquisitions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "data": [
    {
      "signalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "signalType": "acquisition",
      "match_confidence": "exact",
      "occurredAt": "2026-02-10T12:00:00.000Z",
      "discoveredAt": "2026-02-10T14:30:00.000Z",
      "companyId": "d4e5f6a7-b8c9-0123-defg-h45678901234",
      "companyName": "DataVault",
      "companySlug": "datavault",
      "companyLogo": "https://images.trysignalbase.com/datavault.png",
      "companyWebsite": "datavault.io",
      "companyLinkedin": "linkedin.com/company/datavault",
      "companyIndustry": "Data Analytics",
      "companyCountry": "US",
      "companySubcategory": "saas",
      "companyFoundedYear": 2019,
      "companyCategories": "[\"Data Analytics\",\"SaaS\"]",
      "companyDescription": "Enterprise data analytics platform.",
      "companyEmployeeCount": 85,
      "acquiringCompanyId": "e5f6a7b8-c9d0-1234-efgh-i56789012345",
      "amount": 250000000,
      "currency": "USD",
      "percentage": "100%",
      "announcedDate": "2026-02-10",
      "isFreeAccess": true,
      "acquiringCompany": {
        "id": "e5f6a7b8-c9d0-1234-efgh-i56789012345",
        "name": "Snowflake",
        "slug": "snowflake",
        "logo": "https://images.trysignalbase.com/snowflake.png",
        "website": "snowflake.com",
        "linkedin": "linkedin.com/company/snowflake",
        "industry": "Cloud Computing",
        "companyCountry": "US",
        "companySubcategory": "cloud",
        "foundedYear": 2012,
        "employeeCount": 5000
      },
      "sources": [
        {
          "url": "https://techcrunch.com/2026/02/10/snowflake-acquires-datavault",
          "sourceType": "news_article",
          "title": "Snowflake acquires DataVault for $250M",
          "publishedAt": "2026-02-10T12:00:00.000Z",
          "isPrimary": true
        }
      ]
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 25,
    "totalCount": 500,
    "hasNextPage": true,
    "hasPreviousPage": false
  },
  "meta": {
    "endpoint": "signals.acquisitions",
    "creditsUsed": 1,
    "creditsRemaining": 999
  }
}
{
"success": false,
"error": "Invalid API key"
}
{
"success": false,
"error": "out of credits, please contact support to increase your usage"
}
{
"success": false,
"error": "Rate limit exceeded. Please try again later."
}
{
"success": false,
"error": "An unknown error occurred"
}

Authorizations

Authorization
string
header
required

API key authentication. Include as Bearer token in Authorization header.

Query Parameters

page
integer
default:1

Page number for pagination

Required range: x >= 1
limit
integer
default:20

Number of results per page (maximum 100)

Required range: 1 <= x <= 100
dateFrom
string<date>

Filter signals from this date (ISO 8601 format: YYYY-MM-DD)

dateTo
string<date>

Filter signals up to this date (ISO 8601 format: YYYY-MM-DD)

date_preset
enum<string>

Relative date shorthand. Takes precedence over dateFrom/dateTo.

Available options:
today,
yesterday,
last_7d,
last_14d,
last_30d,
last_60d,
last_90d,
last_6m,
last_1y,
last_2y,
this_week,
this_month,
this_quarter,
this_year,
last_week,
last_month,
last_quarter,
last_year
countries
string

Comma-separated list of country codes to filter by (acquired company)

categories
string

Pipe-separated list of company categories / industries to filter by

subcategories
string

Comma-separated list of subcategory IDs to filter by

Search by company name or industry keywords

industry
string

Comma-separated list of exact industry names to filter by

company_name
string

Search by acquired company name (partial match)

company_domain
string

Recommended. Company website domain, e.g. novartis.com. Strict match — if no company has this domain the result is empty; never falls back to fuzzy name matching. Variants are equivalent: novartis.com, www.novartis.com and https://novartis.com/ all match the same company. Malformed values return 400. Takes priority over company_name; combined identifiers must agree or the result is empty.

company_linkedin_url
string

Recommended. LinkedIn company URL, e.g. linkedin.com/company/novartis. Strict match — if no company has this LinkedIn page the result is empty; never falls back to fuzzy name matching. http/https, optional www. and trailing slash are equivalent. Non-company LinkedIn URLs (e.g. personal /in/ profiles) return 400. Takes priority over company_name; combined identifiers must agree or the result is empty.

acquiring_company
string

Search by acquiring company name (partial match)

amount_min
integer

Minimum acquisition amount in whole USD (not cents)

amount_max
integer

Maximum acquisition amount in whole USD (not cents)

currency
enum<string>

Filter by currency, as an ISO 4217 code. Acquisition amounts are stored as USD by convention (the vast majority); a few records are EUR. Exact match.

Available options:
USD,
EUR
verification_status
enum<string>

Comma-separated list of verification statuses to filter by

Available options:
verified,
unverified,
pending
employee_count_min
integer

Minimum company employee count

employee_count_max
integer

Maximum company employee count

founded_year_min
integer

Minimum company founded year

founded_year_max
integer

Maximum company founded year

sort_by
enum<string>
default:occurred_at

Field to sort results by

Available options:
occurred_at,
discovered_at,
amount,
employee_count
sort_order
enum<string>
default:desc

Sort direction

Available options:
asc,
desc
count
enum<string>

When set to "true", returns only pagination metadata with an empty data array. No credits are charged.

Available options:
true

Response

Successful response with acquisition signals

success
boolean
required
Example:

true

data
object[]
required
pagination
object
required
meta
object
required