Skip to content

Ad automation · 10 min read

Amazon SP-API vs Amazon Ads API: Which Data Is Where

The Selling Partner API covers orders, inventory and sales reports; the Amazon Ads API covers campaigns and ad performance. Who can use each, how authorization differs, how SP-API reports work, and how to join them for TACoS.

By Published Updated

Two huge overlapping circles, one blue and one amber, with a dark shared area holding a small joined table.

Amazon SP-API vs Amazon Ads API: which API has which data?

Amazon SP-API, the Selling Partner API, holds the selling side of the business: orders, inventory, listings, finances and sales reports. The Amazon Ads API holds the advertising side: campaigns, budgets and ad performance. They are separate APIs with separate approvals and credentials.

You want Data API
Ad spend, clicks, impressions, ad-attributed sales Ad performance reports Amazon Ads API (reporting, Marketing Stream)
Campaign names, budgets, targets, status Campaign structure Amazon Ads API (exports, campaign management)
Total sales and page views by ASIN Sales and traffic SP-API (Sales and Traffic report, Data Kiosk)
Orders, shipment status Order records SP-API (Orders API)
Stock levels in the fulfilment network Inventory SP-API (FBA Inventory API)
Fees, refunds, financial events Finances SP-API (Finances API)
TACoS Ad spend and total sales Both

The rest of this article covers who can use each API, how authorization differs, how the SP-API reporting flow works, and how to join the two for TACoS. Everything was checked against Amazon’s developer documentation on 2026-10-14; the pages are listed under Sources.

Who can use the Selling Partner API, and who can use the Ads API?

Amazon’s SP-API documentation is written for developers building applications for selling partners, meaning sellers, vendors or both (documentation home). Some APIs are sellers only, some vendors only. The Orders API, the Sales API and the FBA Inventory API are listed as sellers only, while the Reports API is listed for sellers and vendors (API models).

Developers register first. Amazon describes three routes: private seller applications (which need a professional selling account), private vendor applications, and public applications that sellers or vendors authorize through OAuth and that must be listed in the Selling Partner Appstore (registration overview).

The Ads API has its own gate. Amazon says direct advertisers, partners and integrators can apply for access and must be approved; the Login with Amazon application itself is free to create (Ads API onboarding). A business that sells and advertises on Amazon therefore needs both approvals. Neither grants access to the other API’s data.

How does Amazon SP-API authorization differ from the Ads API?

Both use Login with Amazon (LwA) and OAuth 2.0, which makes them look alike. The differences are in what you send and what limits access.

Item SP-API Ads API
Token request POST to https://api.amazon.com/auth/o2/token POST to the token URL for your region; tokens are valid in all regions
Grant types refresh_token for seller-authorized calls, client_credentials with a scope for grantless operations Authorization code exchanged for access and refresh tokens
Access token life One hour 60 minutes
Token header x-amz-access-token, plus a required user-agent Authorization: Bearer ..., plus the client ID header
Account identity Seller or vendor who authorized the app Profile ID or account ID
Hosts sellingpartnerapi-na, -eu, -fe .amazon.com advertising-api, -eu, -fe .amazon.com
Access control Roles, and Restricted Data Tokens for personal data Advertiser consent and the profile scope

Sources for the table: connecting to the SP-API, SP-API endpoints, Ads authorization overview, Ads authorization grants.

Two SP-API concepts have no Ads equivalent. Roles decide which operations an application may call, and Amazon says calling an operation without the required role returns a 403 (roles). Restricted Data Tokens (RDTs) cover operations that return personally identifiable information: you request one from the Tokens API with createRestrictedDataToken and pass it in x-amz-access-token in place of the normal token (RDT guide). Pure analytics pipelines that read sales and traffic totals usually stay clear of PII, but the Orders API and some report types do not.

On the Ads side, refresh tokens issued on or after 30 July 2026 expire 365 days after consent, per Amazon’s refresh token page. Details of that flow are in Amazon Ads API reporting explained.

How does the SP-API Reports API work?

Bulk SP-API data follows the same asynchronous idea as Ads reporting, with different names (request a report, verify processing, retrieve a report):

  1. createReport with a reportType and marketplaceIds. dataStartTime and dataEndTime are optional, and not every report type uses them. The response returns a reportId.
  2. getReport with that ID until processingStatus reaches DONE, CANCELLED or FATAL. IN_QUEUE and IN_PROGRESS mean keep waiting. A report is cancelled automatically when there is no data to return.
  3. getReportDocument with the reportDocumentId. The response has a pre-signed URL that expires after five minutes and, when present, a compression algorithm.

Amazon states that reports without an explicit retention period are kept for 90 days (report type values), and that getReport serves only requests created within the last 90 days. Amazon also says it adds fields to reports periodically, so parsers must tolerate new columns (Reports API).

The Sales and Traffic report

For TACoS the report that matters is GET_SALES_AND_TRAFFIC_REPORT, which Amazon lists as available to sellers only, with JSON output and sales and traffic metrics aggregated by date and ASIN (analytics report types). Its page documents these details:

  • reportOptions accept dateGranularity (DAY, WEEK, MONTH) and asinGranularity (PARENT, CHILD, SKU).
  • The role required is Brand Analytics.
  • dataStartTime must not be more than two years before the request.
  • You can request it up to three times every five minutes. Amazon suggests caching results, using date ranges of 7 to 30 days and scheduling outside peak hours.

Amazon’s Data Kiosk API is the other route to the same data: GraphQL queries over a Seller Sales and Traffic dataset, with results in JSONL (Data Kiosk). Its page says reports will be deprecated after they are onboarded to Data Kiosk, so check the deprecation schedule before building on a specific report.

Orders and order metrics

The Orders API lists version v2026-01-01 as current and v0 as deprecated, for sellers only, and notes that orders more than two years old do not appear in responses (Orders API). For aggregate figures without order-level rows, the Sales API offers getOrderMetrics (Sales API).

How do SP-API and Ads API rate limits differ?

SP-API limits use a token bucket per operation. Limits are tied to the pair of selling partner and application, and some operations have dynamic plans that adjust to the seller’s business. Amazon says a 429 is retryable with backoff and that the x-amzn-RateLimit-Limit header, when present, shows the rate, but warns not to depend on it (usage plans).

Ads API limits are dynamic and, for reports, depend on the size of the regional report queue. A 429 carries a Retry-After header (Ads rate limiting). Build one retry wrapper per API with exponential backoff and jitter, because the numbers differ and so do the signals.

How do you join SP-API sales with Ads API spend for TACoS?

TACoS is ad spend divided by total sales, ad and organic together. It is a seller-side metric rather than an Amazon-defined report column; ACOS vs TACoS gives the definitions and the worked arithmetic. The numerator comes from the Ads API and the denominator from SP-API, so the join needs design:

Join concern Decision
Grain Pick one, for example marketplace by day or marketplace by ASIN by day. ASIN-level spend needs the advertised-product breakdown from ad reports
Keys Marketplace, date and ASIN (or SKU, mapped to ASIN). Store marketplace ID and profile ID on every row
Currency Profiles carry a currency code. Sales reports have their own. Convert both to a reporting currency and record the rate
Time zone Profiles carry a time zone. Read the time zone rules of the sales report you use and align dates before joining by day
Accounts One seller can have several marketplaces and profiles. Keep a mapping table
Restatement Amazon says Ads conversion data can change for up to 60 days back (reporting overview), so re-pull recent days
Order status Decide whether total sales means ordered, shipped or net of returns, and choose the report that supports it

Land each source in its own raw table with its own natural key, load with repeatable merges, and build the TACoS view in SQL on top, so the definition stays visible. The load pattern is in idempotent ad reporting pipelines, and marketing ETL explained covers the wider pipeline. Amazon Ads is one of several retail media networks; what retail media advertising is explains the category, and the Amazon platform page covers the wider Amazon advertising picture.

If you want both APIs wired into one warehouse

Vexio builds Amazon data pipelines as custom engagements. For this topic that means setting up authorization for both APIs, extracting ad performance plus the sales, orders and inventory data you need, modelling a warehouse table with a defined TACoS grain, and monitoring for late and restated data. The destination is your choice, for example BigQuery or PostgreSQL. See the advertising data pipelines page or request a demo.

Sources

Checked on 2026-10-14. Amazon Selling Partner API documentation:

Amazon Ads API documentation:

FAQ

Questions this guide answers.

The Selling Partner API serves the selling side of an Amazon business: orders, inventory, listings, finances and sales reports. The Amazon Ads API serves advertising: campaigns, targeting, budgets and ad performance reports. They have separate approval, credentials and data, so analytics that combine ad spend with total sales need both integrations.

Amazon documents it for developers building applications for sellers, vendors or both. Private seller applications need a professional selling account and are self-authorized. Public applications are authorized by sellers or vendors through OAuth and must be listed in the Selling Partner Appstore. Some operations and reports are available to sellers only or vendors only.

Both use Login with Amazon. SP-API sends the access token in the x-amz-access-token header, uses roles to control which operations an app may call, and supports Restricted Data Tokens for personal data. The Ads API needs advertiser consent, a client ID header and a profile or account ID. Each requires its own approval and tokens.

TACoS is advertising spend divided by total sales, paid and organic together. Spend comes from Ads API reports. Total sales can come from the SP-API Sales and Traffic report for sellers. Join on marketplace, date and ASIN where possible, align currency and time zones, and re-pull recent days because ad data is restated.

Amazon states that reports without an explicit retention period are kept for 90 days, and getReport serves requests created within the last 90 days. The pre-signed URL from getReportDocument expires after five minutes, so download the file promptly and store it yourself. If a report is not downloaded in time, request it again.

Further reading
  • Ad automation · 14 Oct 2026 · 11 min

    Amazon Ads API Reporting: Profiles, Auth and Limits

    How Amazon Ads API reporting works: authorization with Login with Amazon, profiles and headers, the create, poll and download flow, version 3 versus Reporting v1 and Marketing Stream, limits, throttling and data freshness.

    Read the article →

  • Glossary · 14 Oct 2026 · 8 min

    ACOS vs TACoS: Formulas, Definitions and an Example

    ACOS measures how efficient ads are on the sales they get credit for. TACoS measures ad spend against all sales. Formulas, a worked example with made-up numbers, and how attribution windows and halo sales change both.

    Read the article →

  • Retail media · 14 Oct 2026 · 9 min

    What Is Retail Media Advertising? Formats and Measurement

    Retail media is advertising sold by retailers using first-party shopper data, on their own sites, off-site and in store. Formats, networks, closed-loop measurement and why comparing results across retailers is hard.

    Read the article →

  • Cloud and DevOps · 14 Oct 2026 · 9 min

    Marketing ETL Explained: Pipelines, ELT and Build vs Buy

    What marketing ETL means, why advertising data needs more care than ordinary ETL, how ETL differs from ELT, typical sources and destinations, a pipeline checklist, and how to decide between building and buying.

    Read the article →

  • Cloud and DevOps · 14 Oct 2026 · 10 min

    Idempotent Ad Reporting Pipelines: Backfills and Late Data

    How to make ad reporting loads safe to retry: natural keys, MERGE versus partition overwrite in BigQuery, re-pulling restated and late-arriving data, a loaded-dates ledger, backfills within API limits, and retries.

    Read the article →

Talk to us

Want this applied to your own case?

Tell us what you run or want to build. We reply by email to arrange a demo or a scoping conversation.

WhatsApp
Message us
Web
vexio.ai