Skip to main content
GET
/
api
/
aggregate
/
{source}
Aggregate data by source with structured filter syntax
curl --request GET \
  --url https://api.example.com/api/aggregate/{source} \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {}
  ],
  "query_info": {
    "source": "<string>",
    "group_by": "<string>",
    "metric": "<string>",
    "total_groups": 123
  }
}

Authorizations

Authorization
string
header
required

Auth0 JWT access token

Path Parameters

source
enum<string>
required

The source to aggregate (founders, investors, companies, funding-rounds, valuations)

Available options:
founders,
investors,
companies,
funding-rounds,
valuations,
entities,
fundings
Example:

"founders"

Query Parameters

metric
string
required

Metric to compute: count, count_distinct:field, sum:field, avg:field, median:field, p25:field, p75:field

Minimum string length: 1
Example:

"count"

group_by
string
required

Dimension(s) to group by. Location dims: hq_country, hq_city, hq_state, hq_continent, macro_region, region. Relationship fields: university.name, employer.city. Multi-dim: year,hq_country

Minimum string length: 1
Pattern: ^[a-z][a-z0-9_.]*(?:,[a-z][a-z0-9_.]*)*$
Example:

"hq_country"

filter
string

Filter expression using structured syntax: and(key[op]:value,...), or(...). Example: and(tag_id[eq]:42,location[eq]:81)

Example:

"and(tag_id[eq]:42,launch_year[gte]:2020)"

sort
string

Sort by metric key or 'dimension'. Prefix with - for descending

Pattern: ^-?[a-z][a-z0-9_]*$
Example:

"-count"

limit
string

Number of results to return (1-500, default 25)

Example:

"25"

Response

Aggregated results

data
object[]
required
query_info
object
required