A placement connects a sponsor, one piece of content, and one publication
(such as a creator account or newsletter). For coauthored content, the API can
return one placement for each participating publication, so several results can
point to the same post or video.
Upriver classifies each placement using the content, links, account
relationships, and platform signals available to it.
monetization_type is a
best-effort inference about the likely arrangement, while disclosure_tier
describes the strongest relationship evidence observed. These fields may be
incomplete or incorrect and do not verify the terms of a private agreement,
whether or how compensation was exchanged, or whether a disclosure satisfied
applicable law.
/v1/sponsorships returns these fields on each
placement. Fields without a value are omitted (see
Older and missing data), and evidence is
returned only with include_evidence=true.
/v1/sponsors returns monetization_type,
disclosure_tier, and sponsor_type for only the sponsor’s most recent
placement, under most_recent_ad.
Filter by these fields
/v1/sponsorships accepts sponsor_type, monetization_type, and
disclosure_tier as filter parameters, each passed as one value or repeated
for several, plus the single-value is_first_party:
- Filtering by
monetization_typeordisclosure_tiermatches only placements where the field is populated. Older placements that predate these fields do not match. - Requesting
disclosure_tier=inferredreturns inferred placements without also settinginclude_inferred=true. is_first_party=truereturns placements promoting the creator’s own product, service, or store, which are excluded by default.- Filters combine with AND; a repeated parameter’s values combine with OR.
Where the fields diverge
A single label cannot cleanly describe both the likely deal and how the relationship was identified; a creator may disclose an affiliate relationship while a platform also marks the post as commercial content. The separate fields matter most where they diverge. This placement has an Instagram paid-partnership label that names the sponsor, but nothing identifies the deal itself:sponsor_type value cannot make that
distinction.
Compare a creator who wrote “gifted by” in the caption of a haul post:
explicit_ad, so sponsor_type alone cannot separate a
platform-verified partnership of unknown terms from a self-disclosed gift.
Relationship confidence: partner_confidence
partner_confidence estimates the likelihood, from 0 to 1, that the creator
and sponsor have a commercial relationship. It does not estimate the
likelihood of any particular payment arrangement. The confidence_threshold
parameter (default 0.5) sets the minimum for returned placements; it is not
applicable to affiliate placements.
Compensation structure: monetization_type
This field describes what the creator appears to receive from the arrangement.
Some older placements may return
promotion, self_promotion, or
merch_store. These values come from the legacy sponsor_type categories;
they are not new deal types.
Relationship evidence: disclosure_tier
This field describes the strongest evidence that linked the creator to the
named sponsor.
Placements with
disclosure_tier: inferred are excluded by default. Set
include_inferred=true to include them alongside other tiers, or filter for
them directly with disclosure_tier=inferred. Use each result’s
partner_confidence to apply your own threshold.
First-party content: is_first_party
is_first_party is true when the placement promotes the creator’s own
product, service, or store, false when a third-party sponsor was identified,
and omitted when the counterparty could not be determined. First-party
placements are excluded from results by default; filter with
is_first_party=true to retrieve them.
monetization_type describes payment by a third party, so it never carries a
real deal type on first-party placements: today those placements repeat the
legacy self_promotion or merch_store value there, and newer data omits the
field.
Platform labels: Instagram and TikTok
Platform labels are useful evidence, but the same-looking label does not always carry the same information.- Instagram
- TikTok
Instagram’s Paid partnership with account label names a specific
partner. Upriver can therefore return
platform_verified for that
creator-sponsor relationship.Instagram can use this label for several kinds of exchange, including cash,
gifts, or affiliate commission. Unless other evidence identifies the deal,
monetization_type remains unknown.A brand coauthor is not the same as a named paid-partnership relationship.
Coauthorship can support the relationship, but does not make it
platform_verified on its own.platform_verified is an Upriver value, not the exact text shown in the app.
The API does not return the native label text in a separate field.
Legacy field: sponsor_type
sponsor_type remains supported, with no scheduled removal date. On new
placements it stays consistent with the newer fields. The explicit_ad and
implicit_ad values combine ideas that the newer fields keep separate, so do
not treat their names as literal statements about payment or disclosure.
Older and missing data
For some older placements,monetization_type and disclosure_tier were
translated from sponsor_type rather than determined separately. In those
records, the two newer fields repeat the same original signal; do not count them
as two independent pieces of evidence.
- An omitted field means it was not populated for that placement.
unknownmeans the field was populated, but the available evidence did not support a more specific value.
disclosure_tier: platform_verified and
monetization_type: unknown. In that case, platform data identifies the named
commercial relationship, but the API cannot tell whether it was paid,
affiliate, gifted, or another arrangement.