Skip to main content
The API classifies each sponsorship placement with these fields: 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.
Prefer monetization_type and disclosure_tier for new integrations. sponsor_type is maintained for existing ones.
/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_type or disclosure_tier matches only placements where the field is populated. Older placements that predate these fields do not match.
  • Requesting disclosure_tier=inferred returns inferred placements without also setting include_inferred=true.
  • is_first_party=true returns 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:
Platform data verifies the relationship, but the deal could be cash, gifted product, or commission. The single sponsor_type value cannot make that distinction. Compare a creator who wrote “gifted by” in the caption of a haul post:
Both placements are 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’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.
Translated values are limited to what the legacy label recorded: gifted does not occur on those placements, platform_verified appears only where a platform label was recorded, and paid_partnership also covers deals that would be classified as gifted today. Comparisons that span mid-2026 mix this classification change with any real change in sponsorship activity; account for the transition before reading trends in these fields.
  • An omitted field means it was not populated for that placement.
  • unknown means the field was populated, but the available evidence did not support a more specific value.
It is valid for a placement to have 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.