Quickstart
Make your first request to the Pulse public API
This guide walks through your first request to the Pulse public API: screening companies by market cap.
Prerequisites
You'll need an organization API key. If you don't have one, ask an admin on
your Pulse organization to create one from Settings → API Keys — see
Authentication for the full flow. Every
request below assumes you have a valid key in the pulse_... placeholder.
Search companies
POST /v1/companies/search/ screens companies against a set of filters and
returns matching rows. A search request takes filters, logic, and
columns — see Filters for the full shape of each.
For a first request, let's screen for companies with a market cap of at
least $100M, using a single gte (greater-than-or-equal) filter on
market_cap_in_usd:
{
"filters": [
{ "field": "market_cap_in_usd", "operator": "gte", "value": 100000000 }
]
}The trailing slash on /v1/companies/search/ is required — a request to
/v1/companies/search (no slash) doesn't redirect, it 404s. Every example
below uses the slash form; keep it when you adapt these.
curl
curl https://api.pulseintelligence.com/v1/companies/search/ \
-H "Authorization: Bearer pulse_a1b2c3d4_<secret>" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{ "field": "market_cap_in_usd", "operator": "gte", "value": 100000000 }
]
}'Python
import requests
response = requests.post(
"https://api.pulseintelligence.com/v1/companies/search/",
headers={"Authorization": "Bearer pulse_a1b2c3d4_<secret>"},
json={
"filters": [
{"field": "market_cap_in_usd", "operator": "gte", "value": 100000000},
],
},
)
response.raise_for_status()
data = response.json()Read the response
The response is a flat object — not the paginated shape you may be used to from other APIs:
{
"results": [
{
"id": 1,
"name": "Example Mining Corp",
"symbol": "EXM",
"market_cap_in_usd": 245000000
}
],
"count": 1,
"truncated": false
}results— the matching rows, shaped by whatevercolumnsyou requested (or the default set if you didn't request any).name,symbol, andmarket_cap_in_usdabove are typical company fields.count— how many rows matched.truncated—trueif there were more matches than the page returned inresults. Search endpoints cap how many rows come back in one call, so atruehere means you'd need to narrow your filters to see the rest rather than paginate through them.
Go deeper
- Filters covers the full filter vocabulary,
available operators, combining filters with
logicandexpression, and discovering filterable fields viaGET /v1/filters/{resource}/. - Rate limits and errors covers quota
headers,
429responses, and the error envelope shape. - The API Reference has the full request/response schema for this endpoint, plus every other endpoint on the API.