Parameters & Limits
Time windows
Many endpoints accept time window parameters to control the lookback period.
since parameter
| Format | Example | Description |
|---|---|---|
| Hours | since=24h | Last 24 hours |
| Days | since=7d | Last 7 days |
| ISO date | since=2026-03-01 | Since specific date |
| ISO datetime | since=2026-03-01T00:00:00Z | Since specific timestamp |
hours parameter
Shorthand for since. Pass an integer number of hours.
GET /v1/follows/new?hours=48
# equivalent to: GET /v1/follows/new?since=48hIf both since and hours are provided, since takes priority.
Defaults by endpoint
| Endpoint | Default |
|---|---|
GET /v1/follows/new | 24h |
GET /v1/follows/enriched | 24h |
GET /v1/convergence | 7d |
GET /v1/trending | 7d |
GET /v1/vc/:handle/activity | 30d |
GET /v1/feed | 24h |
Invalid values
If the time parameter can't be parsed, the API returns:
{ "error": "Invalid \"since\" parameter. Use \"24h\", \"7d\", or \"YYYY-MM-DD\"." }Result limits
| Endpoint | Default | Max |
|---|---|---|
GET /v1/search | 50 | 200 |
GET /v1/trending | 25 | 100 |
GET /v1/feed | 50 | 200 |
GET /v1/discover | 20 | 50 |
GET /v1/vc/:handle/similar | 20 | 50 |
Other endpoints return all matching results within the time window.
Filtering
Enriched follows filters
GET /v1/follows/enriched supports filtering results by classification:
| Parameter | Example | Description |
|---|---|---|
sector | ?sector=DeFi | Filter by sector (substring match) |
keyword | ?keyword=stablecoin | Search username, name, description, sector |
entity_type | ?entity_type=company | Filter by entity type |
tag | ?tag=my-custom-tag | Filter by custom tag or rule name |
Feed filters
| Parameter | Values | Description |
|---|---|---|
event_type | new_follow, convergence | Filter by event type |
sector | Any sector string | Filter targets by sector |
Discover filters
| Parameter | Default | Description |
|---|---|---|
sector | - | Narrow by sector |
min_signal | 0.3 | Minimum signal score (0.0 - 1.0) |
Classification
AI classification
Several endpoints return classification data:
| Field | Type | Description |
|---|---|---|
sector | string | Primary sector. Free-form, not a fixed enum. Common values include AI, Trading, Infrastructure, DeFi, payments_banking, Gaming, Social & Creator, Payments. |
entity_type | string | Entity classification. Free-form, not a fixed enum. Common values include person, company, project, media, vc_firm, community, institution, newsletter. |
is_company | boolean | Whether entity is an organization |
confidence | string | Classification confidence: high, medium, or low |
Classification is probabilistic. For workflows requiring stable labels, query once and cache.
Sector and entity_type are filters, not an enum
sector and entity_type are not closed lists. The vocabulary comes from the classifier and it grows over time, so treat the values above as examples rather than as the full set. Two naming conventions currently coexist in the data (RWA and rwa, Social & Creator and social_creator), and they are stored as distinct values.
Call GET /v1/sectors to discover the exact strings present in your own coverage before you hardcode a filter. It is 4 credits and it returns both vocabularies with counts.
How the filters match:
| Parameter | Endpoint | Matching |
|---|---|---|
sector | /v1/search, /v1/follows/enriched, /v1/feed, /v1/discover, /v1/tags | Case-insensitive substring |
sector | /v1/reports | Case-insensitive substring, matched against sector, name, and description |
entity_type | /v1/search (default scope=tracked), /v1/follows/enriched | Case-insensitive substring |
entity_type | /v1/search?scope=catalog | Exact match, case-insensitive |
Because sector matching is a substring, ?sector=pay returns both Payments and payments_banking, and ?sector=rwa returns both RWA and rwa. Use a short stem to catch every spelling of an idea, and the full string when you want one specific bucket.
Custom classification rules
Create custom rules via POST /v1/classify/rules to tag entities matching your criteria. These rules are applied automatically in /v1/follows/enriched and /v1/discover responses.
Data freshness
Follow data is updated periodically through the processing pipeline. The API serves the latest processed data, not live fetches.
- New follows: Detected within hours of the actual follow event
- Tracked accounts: Baseline established on first track, then monitored daily
- Classification: Cached server-side, refreshed periodically
- Company intelligence: Fetched on-demand, with upstream caching (60 min Twitter, 2 hr scrape, 24 hr LinkedIn)
Cost tracking
Every charged response includes cost and balance fields:
{
"data": [...],
"cost_credits": 16,
"balance_credits": 9884
}Use GET /v1/status to check your current balance, daily spend, and usage breakdown at any time (free).