Home / Blog / Amazon Sponsored Share of Voice via API: Sponsored vs Organic Slots

Amazon Sponsored Share of Voice via API: Sponsored vs Organic Slots

Measure how much of page 1 for a keyword is sponsored versus organic, with the one caveat that matters most: sponsored-label detection falls back to English/German text only when markup is missing.

October 21, 2026
3 min read
SellerMagnet Team
Share & Bookmark
Terminal window showing a Python function that splits Amazon search results into sponsored and organic

Amazon's sponsored share of voice for a keyword is how much of the result page is labeled sponsored: true versus organic - /amazon-search returns both in one consecutively numbered list, so a simple filter gives the split and the first sponsored position in one call. The one caveat worth knowing before you trust the number: the API detects the sponsored label mainly from Amazon's own markup, and only falls back to matching the label text when that markup is missing - that fallback only recognizes English and German.

Key Takeaways

  • position is 1-based and consecutive across ALL returned results - sponsored and organic share one numbering.
  • sponsored is a per-result boolean; filter and count it directly, no separate call needed.
  • Sponsored detection uses Amazon's own markup first; only the text-match fallback is English/German-only, so marketplaces relying on it can undercount.
  • count above 50 is a billed 400 ('Count Max: 50') - validate client-side first.
  • There is no brand field, search volume, autocomplete or reverse-ASIN lookup on this endpoint.

What does a sponsored share of voice number actually measure?

The fields that make up the measurement (October 2026).
FieldBehaviorCaveat
position1-based, consecutive across returned resultssponsored and organic share one numbering
sponsoredtrue/false per resultmarkup-based; text fallback is English/German only
reviewAmount0 when no count shown or foundnot necessarily zero reviews

How do I compute the sponsored/organic split for a keyword?

sponsored_share() filters searchResults on the sponsored flag, then reports the count, the percentage, and the first sponsored position - None when nothing on the page is sponsored, never a crash. get() and new_session() come from the Python quickstart; the full result shape is documented in the Search Results API guide.

share_of_voice.py - sponsored vs organic split for a keyword

from sellermagnet import get, new_session


def sponsored_share(session, q: str, marketplace_id: str, count: int = 50) -> dict:
    """Sponsored vs organic split on page 1 for a keyword. position is 1-based and
    consecutive across the results actually returned (sponsored and organic share
    the same numbering), so first_sponsored_position is directly comparable to an
    organic rank. Sponsored-label detection uses Amazon's own markup first; only the
    text-match fallback (used when markup is missing) is English/German
    only, so a marketplace relying on that fallback can undercount."""
    if not 1 <= count <= 50:
        raise ValueError("count must be 1-50 (50+ is a billed 400 on the API)")
    data = get(session, "amazon-search", q=q, marketplaceId=marketplace_id, count=count)
    results = data["searchResults"]
    sponsored = [r for r in results if r["sponsored"]]
    return {
        "query": q,
        "total": len(results),
        "sponsored_count": len(sponsored),
        "sponsored_share_pct": round(100 * len(sponsored) / len(results), 1) if results else 0.0,
        "first_sponsored_position": sponsored[0]["position"] if sponsored else None,
    }


if __name__ == "__main__":
    session = new_session()
    print(sponsored_share(session, "wireless earbuds", "ATVPDKIKX0DER", count=10))
    print(sponsored_share(session, "very niche obscure query", "ATVPDKIKX0DER", count=10))

Example output (illustrative keyword and results)

{'query': 'wireless earbuds', 'total': 10, 'sponsored_count': 3, 'sponsored_share_pct': 30.0, 'first_sponsored_position': 1}
{'query': 'very niche obscure query', 'total': 3, 'sponsored_count': 0, 'sponsored_share_pct': 0.0, 'first_sponsored_position': None}

Trimmed searchResults entry (example values)

{
  "position": 1,
  "asin": "B000000001",
  "sponsored": true,
  "reviewRating": 4.5,
  "reviewAmount": 120
}
Blueprint anatomy of a search call highlighting the sponsored and position fields
Sponsored and organic results share one position count.
Blueprint table of the fields behind a sponsored share of voice measurement
Know the label-detection limit before you trust the percentage.

Does this overlap with keyword rank tracking?

Only partly: share of voice measures the sponsored/organic mix for a keyword as a whole, while tracking your own ASIN's organic and sponsored position over time is a different question answered by the Keyword Rank Tracking guide - use both together rather than one in place of the other.

Frequently Asked Questions

Does a sponsored result consume its own position number, or a separate one?

The same numbering: position is 1-based and consecutive across every result actually returned, sponsored or organic, so the first sponsored position is directly comparable to an organic rank.

Will sponsored_share_pct be accurate on every marketplace?

Reliably wherever Amazon's own markup is present; only the text-match fallback (used when markup is missing) is limited to English and German, so marketplaces depending on that fallback can undercount, never overcount.

What happens with a count above 50?

A billed 400 'Count Max: 50' - validate client-side first so a typo does not cost a credit.

Can I track a specific brand's share of voice this way?

Only by matching productTitle text yourself; the API has no brand field, so title matching can miss variant spellings or match a different seller's listing.

Does this endpoint tell me search volume for a keyword?

No. /amazon-search has no search volume, autocomplete or reverse-ASIN lookup; it only returns the current result page for a query you already have.

Bottom line: filter searchResults on sponsored for an instant share-of-voice split, trust it everywhere Amazon's own markup is detected, know that only the English/German text fallback can undercount, and validate count before it turns into a billed mistake.

Ready to Extract Amazon Data at Scale?

Start building with SellerMagnet API today. Real-time product data, competitive pricing, and review analytics at your fingertips.

150 free API credits • No credit card required • Cancel anytime