Unified types
Generated from the schemas the API validates its own responses against. Every object also carries the base fields (platform, id, url, fetched_at, source).
Profile
A person, page, channel, community, company or artist.
| Field | Type | Notes |
|---|---|---|
| handle | string | |
| display_name | string | nullable |
| bio | string | nullable |
| avatar_url | url | nullable |
| verified | boolean | |
| followers | integer | nullable |
| following | integer | nullable |
| posts_count | integer | nullable |
| lang | string | nullable |
| country | string | nullable |
| links | url[] |
Post
Anything published: a video, tweet, reel, pin, thread, snap or subreddit post.
| Field | Type | Notes |
|---|---|---|
| author | object | |
| author.platform | Platform | |
| author.id | string | |
| author.handle | string | |
| author.display_name | string | nullable |
| author.avatar_url | url | nullable |
| text | string | |
| lang | string | nullable |
| created_at | datetime | nullable |
| media | Media[] | |
| media[].type | "image" | "video" | "audio" | |
| media[].url | url | |
| media[].thumbnail_url | url | nullable |
| media[].duration_s | number | optional |
| engagement | Engagement | |
| engagement.likes | integer | nullable |
| engagement.comments | integer | nullable |
| engagement.shares | integer | nullable |
| engagement.views | integer | nullable |
| engagement.saves | integer | nullable |
| hashtags | string[] | |
| mentions | string[] | |
| is_ad | boolean |
Comment
A comment or reply. Replies carry `reply_to_id`.
| Field | Type | Notes |
|---|---|---|
| post_id | string | |
| author | object | |
| author.platform | Platform | |
| author.id | string | |
| author.handle | string | |
| author.display_name | string | nullable |
| author.avatar_url | url | nullable |
| text | string | |
| lang | string | nullable |
| created_at | datetime | nullable |
| likes | integer | nullable |
| reply_to_id | string | nullable |
Transcript
The spoken text of a video or audio post, with timed segments when available.
| Field | Type | Notes |
|---|---|---|
| post_id | string | |
| lang | string | nullable |
| text | string | |
| segments | TranscriptSegment[] | |
| segments[].start_s | number | nullable |
| segments[].end_s | number | nullable |
| segments[].text | string |
Summary
An AI summary of a video, written from its transcript: a few sentences, key points and topics.
| Field | Type | Notes |
|---|---|---|
| post_id | string | |
| lang | string | nullable |
| summary | string | |
| key_points | string[] | |
| topics | string[] | |
| model | string |
Audience
Where a creator's audience is, by country.
| Field | Type | Notes |
|---|---|---|
| handle | string | |
| countries | AudienceCountry[] | |
| countries[].country | string | nullable |
| countries[].name | string | |
| countries[].share | number | |
| countries[].count | integer | nullable |
Track
A piece of music or audio: a Spotify track, a TikTok sound.
| Field | Type | Notes |
|---|---|---|
| title | string | |
| artists | string[] | |
| album | string | nullable |
| duration_s | number | nullable |
| cover_url | url | nullable |
| audio_url | url | nullable |
| released_at | datetime | nullable |
| plays | integer | nullable |
| posts_count | integer | nullable |
| explicit | boolean | nullable |
Collection
A named group of items: playlist, board, highlight, album or podcast.
| Field | Type | Notes |
|---|---|---|
| kind | "playlist" | "board" | "highlight" | "album" | "podcast" | |
| title | string | |
| description | string | nullable |
| owner | object | nullable |
| owner.platform | Platform | |
| owner.id | string | |
| owner.handle | string | |
| owner.display_name | string | nullable |
| owner.avatar_url | url | nullable |
| items_count | integer | nullable |
| cover_url | url | nullable |
| created_at | datetime | nullable |
Ad
One ad from a public ad library.
| Field | Type | Notes |
|---|---|---|
| advertiser | AdvertiserSummary | |
| advertiser.id | string | nullable |
| advertiser.name | string | |
| advertiser.url | url | nullable |
| text | string | |
| headline | string | nullable |
| media | Media[] | |
| media[].type | "image" | "video" | "audio" | |
| media[].url | url | |
| media[].thumbnail_url | url | nullable |
| media[].duration_s | number | optional |
| call_to_action | string | nullable |
| landing_url | url | nullable |
| started_at | datetime | nullable |
| ended_at | datetime | nullable |
| is_active | boolean | nullable |
| countries | string[] | |
| formats | string[] |
Advertiser
An advertiser found in an ad library.
| Field | Type | Notes |
|---|---|---|
| name | string | |
| avatar_url | url | nullable |
| country | string | nullable |
| ads_count | integer | nullable |
| domains | string[] |
LiveStream
Whether and how a creator is live right now.
| Field | Type | Notes |
|---|---|---|
| host | object | |
| host.platform | Platform | |
| host.id | string | |
| host.handle | string | |
| host.display_name | string | nullable |
| host.avatar_url | url | nullable |
| is_live | boolean | |
| title | string | nullable |
| viewers | integer | nullable |
| likes | integer | nullable |
| started_at | datetime | nullable |
| thumbnail_url | url | nullable |
Event
A public event or a scheduled stream.
| Field | Type | Notes |
|---|---|---|
| name | string | |
| description | string | nullable |
| starts_at | datetime | nullable |
| ends_at | datetime | nullable |
| location | string | nullable |
| host | object | nullable |
| host.platform | Platform | |
| host.id | string | |
| host.handle | string | |
| host.display_name | string | nullable |
| host.avatar_url | url | nullable |
| cover_url | url | nullable |
| going | integer | nullable |
| interested | integer | nullable |
| is_online | boolean | nullable |
Suggestion
What a search box suggests as someone types: a term, or an account.
| Field | Type | Notes |
|---|---|---|
| text | string | |
| kind | "query" | "profile" | |
| profile | object | nullable |
| profile.platform | Platform | |
| profile.id | string | |
| profile.handle | string | |
| profile.display_name | string | nullable |
| profile.avatar_url | url | nullable |
| position | integer | nullable |
LinkedProfile
One of a creator's accounts on another platform, with how sure the match is.
| Field | Type | Notes |
|---|---|---|
| handle | string | |
| confidence | number | |
| evidence | string[] |
Product
A product listing from a shop or marketplace.
| Field | Type | Notes |
|---|---|---|
| store | StoreSummary | |
| store.platform | Platform | |
| store.id | string | |
| store.name | string | |
| store.url | url | |
| title | string | |
| description | string | nullable |
| price | Price | |
| price.amount | number | |
| price.currency | string | |
| images | url[] | |
| in_stock | boolean | |
| rating | number | nullable |
| reviews_count | integer | nullable |
| categories | string[] |
Review
A review of a product.
| Field | Type | Notes |
|---|---|---|
| product_id | string | |
| author | object | |
| author.platform | Platform | |
| author.id | string | |
| author.handle | string | |
| author.display_name | string | nullable |
| author.avatar_url | url | nullable |
| rating | number | |
| text | string | |
| lang | string | nullable |
| created_at | datetime | nullable |
WebResult
An organic web search result.
| Field | Type | Notes |
|---|---|---|
| title | string | |
| snippet | string | nullable |
| domain | string | |
| position | integer | nullable |
| published_at | datetime | nullable |
SearchResult
One search hit, tagged by `kind`.
| Field | Type | Notes |
|---|---|---|
| kind: "profile" | object | |
| kind: "post" | object | |
| kind: "comment" | object | |
| kind: "product" | object | |
| kind: "review" | object | |
| kind: "track" | object | |
| kind: "collection" | object | |
| kind: "web" | object |