GET /v1/sectors
Sector breakdown of all discovered entities across your tracked accounts.
Cost: 4 credits per call
curl "https://frontrun.vc/v1/sectors" \
-H "X-API-Key: your_api_key"Parameters
No parameters.
Response
Example, truncated to the top of each list:
{
"total_entities": 12480,
"classified_entities": 6310,
"sectors": [
{ "name": "AI", "count": 1042, "percentage": 17 },
{ "name": "DeFi", "count": 604, "percentage": 10 },
{ "name": "Infrastructure", "count": 528, "percentage": 8 },
{ "name": "Trading", "count": 461, "percentage": 7 },
{ "name": "payments_banking", "count": 388, "percentage": 6 },
{ "name": "Gaming", "count": 351, "percentage": 6 },
{ "name": "Social & Creator", "count": 297, "percentage": 5 },
{ "name": "Payments", "count": 214, "percentage": 3 },
{ "name": "Prediction Markets", "count": 142, "percentage": 2 },
{ "name": "RWA", "count": 118, "percentage": 2 },
{ "name": "Wallets & Identity", "count": 96, "percentage": 2 },
{ "name": "Security & Auditing", "count": 74, "percentage": 1 }
],
"entity_types": [
{ "name": "person", "count": 4102 },
{ "name": "company", "count": 1348 },
{ "name": "project", "count": 271 },
{ "name": "unknown", "count": 208 },
{ "name": "media", "count": 141 },
{ "name": "vc_firm", "count": 96 },
{ "name": "community", "count": 62 },
{ "name": "institution", "count": 44 },
{ "name": "newsletter", "count": 38 }
],
"cost_credits": 4,
"balance_credits": 9992
}Sector names are data, not a fixed enum
There is no closed list of sectors. Sector names come from the classifier, so the vocabulary is data-driven and it grows. That means two things:
- Call
/v1/sectorsto discover the exact strings for your own coverage. The sectors in the example above are real values from the classification data, but yours depend on who you track. Do not hardcode a taxonomy from this page. - The same idea can appear under more than one spelling.
RWAandrwa, orSocial & Creatorandsocial_creator, are separate rows. Two naming conventions coexist in the data.
Sector values are matched case-insensitively as substrings by /v1/search, /v1/follows/enriched, and /v1/feed. So ?sector=pay matches both Payments and payments_banking, and ?sector=rwa matches RWA and rwa. Use a short stem when you want to catch every variant, and the full string when you want one specific bucket.
Noise labels (unknown, general_crypto, other, n/a, none, and empty) are filtered out of sectors before the response is built. They are not filtered out of entity_types, which is why unknown can appear there.
| Field | Type | Description |
|---|---|---|
total_entities | integer | Total unique entities discovered across all tracked accounts. |
classified_entities | integer | Entities that have a classification record. Typically well under total_entities: anything not yet classified is not counted here. |
sectors[].count | integer | Entities carrying this exact sector string. |
sectors[].percentage | integer | Percentage of classified entities in this sector, rounded to a whole number. Percentages do not sum to 100 because noise sectors are filtered out. |
entity_types[].name | string | Classified entity type, for example person, company, project, media, vc_firm. Also data-driven. Pass one as entity_type to /v1/search or /v1/follows/enriched. |