Abaxar connector setup

Connect Amazon Ads

Amazon Ads powers the Sponsored Products, Sponsored Brands and Sponsored Display reporting: spend, clicks, attributed orders and sales, ACOS and ROAS, plus keyword, search-term and placement detail. Access runs through its own application, entirely separate from the Seller SP-API one, and ends with a Login with Amazon app that your advertiser account consents to from inside Abaxar.

Every written answer the registration form asks for is pre-written for you below.

Amazon Ads API approval takes up to 72 hours. Submit the access request first; everything else on this page waits on the approval email, and the other connectors can be set up in parallel.

Setup · ~57 min + 2 reviews

  1. 01Request access~5 min
  2. ⏳Amazon reviewup to 72 h
  3. 02Developer account~5 min
  4. ⏳Identity checkabout 10 min
  5. 03LWA app~5 min
  6. 04Scope + return URL~2 min
  7. 05Authorize in Abaxar~5 min
  8. 06Export history~30 min
  9. 07Import history~5 min

Before you start

  • The Amazon account that owns the advertising (Amazon allows one API client per company, and only the account that applies can complete onboarding)
  • A live public privacy policy URL on your business site, served over HTTPS
  • A government-issued ID for Amazon’s developer identity check
  • The Abaxar dashboard open at Settings → Connectors

The consoles you'll visit

Request API access

Open the Amazon Ads API request page signed in with the Amazon account that owns your advertising. Two cards appear: Partner and Direct advertiser. You want Direct advertiser, and specifically the Request API access button inside that card. Clicking the surrounding box opens an Amazon Attribution page, which is the wrong route.

The registration form asks for company information, your brand, and the marketplaces you advertise in. For the relationship question, choose "Amazon seller and plan to use the Amazon Ads API for my own business". Then two textboxes want a written answer:

What specific solution(s) do you plan to build. Replace [Brand].

I plan to build an internal, read-only performance reporting dashboard for my own Amazon seller business, [Brand]. The dashboard will use the Amazon Ads API to retrieve Sponsored Products, Sponsored Brands, and Sponsored Display reporting data for our own advertiser account, including spend, impressions, clicks, campaign/ad group/ad/target performance, attributed orders and sales, ACOS, and ROAS. The data will be combined with our own ecommerce reporting stack to monitor advertising performance, budget pacing, and profitability. The solution is for internal use only and will not be offered to other advertisers, agencies, or sellers.

Which advertising processes are you aiming to automate. No placeholders.

I am aiming to automate reporting and data ingestion only. This includes scheduled pulls of campaign performance reports, daily dashboard refreshes, budget pacing calculations, ROAS/ACOS monitoring, and reconciliation of Amazon Ads attributed sales against our internal sales reporting. At this stage I do not plan to automate campaign creation, bid changes, budget changes, targeting changes, or ad creative submission.

  • Under Data and access, tick Advertising only. Leave Data provider unticked; Amazon flags it as advanced-users-only and it triggers a longer review.
  • Tick the consent box and Submit for review. This is the up-to-72-hour gate; carry on with other connectors and come back when the approval email lands.

From the approval email: the developer account

  1. When the "Amazon Ads API Registration Request Approved" email arrives, log out of every personal Amazon account in the browser before opening its onboarding link; opened under the wrong login, the link can become invalid and need a support reset.
  2. The My Apps page tells you the scope is pending assignment. If the account has never used developer.amazon.com, create the developer account now, under the same Amazon login that applied.
  3. Fill in the developer registration truthfully. Choose Business as the account type if the seller account is run through a registered company; Sole Proprietorship only for an unincorporated individual.
  4. Complete the identity verification when asked, with your government ID to hand. Check first that the legal name in Settings → Company Profile matches the ID exactly. The screens mention the Appstore; that is still the right route.

Create the Login with Amazon app

In the developer console, use the Login with Amazon console, not the Appstore’s Add a New App button. Create a new security profile: name it your brand plus Dashboard, describe it as your internal Amazon Ads reporting dashboard, and give it your real privacy policy URL; the logo is optional. Amazon shows that URL on the consent screen, and expects the policy to cover this use. If yours doesn’t yet, this line does it:

An addition for your site’s privacy policy, if it doesn’t already cover API use.

We may use Amazon services, including Login with Amazon and Amazon Ads APIs, to authenticate authorized business users and retrieve advertising account, campaign, and performance reporting data for our own internal business reporting. This data may be processed and stored in our private dashboard, database, and hosting infrastructure, and is not sold to third parties.

  1. Save, then click Show Client ID and Client Secret and keep both values to hand for the Abaxar card.

Assign the scope and set the return URL

  • Once assignment is done, revisiting My Apps reads "Congratulations! You are all set to use Amazon Advertising API". That is the finished state, not another step.
  1. Back on the Amazon Ads My Apps page, your new app appears with "This LWA app doesn’t have access to the Amazon Ads API scopes". Click Assign scopes, confirm the modal names your app, tick advertising::campaign_management, and Submit. Amazon warns the Ads scope can only live on one client application; that is expected.
  2. In the Login with Amazon console, open the gear menu on your app row → Web Settings. In Allowed Return URLs enter your privacy-policy page’s full URL; it is a harmless HTTPS landing page whose address bar you can read the code from later. If Allowed Origins holds a value, clear it.

Authorize in Abaxar

  • Profile ids have no console screen; a profile is one advertising account in one marketplace. Complete connection discovers the profiles your token can reach: exactly one and it is selected and saved for you; several (one per marketplace is normal) and the card shows them as a list (id, country, account name) with an Add all profiles button that saves every id in one click. Then click Begin authorization once more (codes are single-use). A wrong id fails closed, naming the ids the token can actually reach.
  • Add all, or just one? Advertising in several marketplaces already: Add all profiles. Advertising in one and merely planning to expand: add just that one, since dormant profiles cost nothing on the dashboard but each adds daily sync overhead for empty rows. Just add the new id (a one-field edit, no re-authorization) within about three months of starting spend elsewhere, since Amazon only retains ~95 days of Sponsored Products report data.
  1. In Abaxar, open Settings → Connectors and find the Amazon Ads card.
  2. Save the durable fields: client id, client secret, and the redirect URI, which must match the Allowed Return URL exactly. The regional endpoint is not typed in: on save, Abaxar copies the region from your Amazon Seller connector when that is already set up, and otherwise asks you to pick your selling region from three plain-language options. Profile id(s) can stay blank; the authorization step discovers them.
  3. Click Begin authorization. Abaxar builds the consent URL, picks the right regional sign-in host, and binds an anti-forgery state.
  4. Open the link signed in as the advertiser and authorize the app. Amazon redirects to your return URL with a short-lived code in the address bar.
  5. Copy the full redirected URL, paste it into Full redirected URL on the card, and click Complete connection. The exchange runs locally and stores only the refresh token; the code and access tokens never touch disk.
  6. Click Verify, then choose the backfill window and click Run backfill.

Export the history from Amazon

The API only reaches back about 95 days. The console’s Reporting page keeps two years of daily data, 120 days per report. So the one-off job is four report templates, each exported in 120-day windows. Build each template once; every further window is a copy with new dates.

Open Measurement and reporting → Reporting, not the older Sponsored ads reports page (Amazon closes that one on 31 December 2026). Marketplaces in separate advertising accounts? Create a free manager account first (account-name chip top-right → Create a manager account → Link accounts → Add all) and open Reporting from it, so one export covers every account.

  1. See all templates → Use template on Campaign.
  2. Name the report, for example “Abaxar SP Campaign 2025-04-01 to 2025-07-29”. That becomes the file name.
  3. Filters → Accounts (manager accounts only): Add → Add all displayed accounts → Save.
  4. Filters → Ad product → Change: leave only Sponsored Products ticked → Save.
  5. Customise columns → Dimensions tab. Make Amazon’s panel match the one for your template below: tick what is missing, untick what is struck through. When it matches, the count at the top of Amazon’s Column settings panel reads the same as ours.

    Campaign · 8 dimensions selected

    Time

    • Date range
    • Date

    Advertiser account

    • Advertiser account ID
    • Advertiser account name
    • Manager accounts

    Ad product

    • Ad product

    Campaign

    • Campaign ID
    • Campaign name
    • Campaign country
    • Global Campaign ID

    Currency

    • Budget currency

    tick untick if pre-ticked always on

  6. Metrics tab: Remove all, then tick these. Leave the gear (Column settings) as it is: Show all columns ticked, Show converted currency unticked.

    6 metrics selected (7 on the Campaign template)

    Traffic

    • Impressions
    • Clicks
    • Top-of-search impression shareCampaign template only

    Spend and sales

    • Total cost
    • Purchases
    • Sales
    • Units sold

    tick untick if pre-ticked always on

  7. Report period → Date range: click the start day, move to the end month with the › arrow (the month dropdown discards your selection), click the end day, Save. The picker allows 120 days at most.
  8. Submit. When the row shows Completed (5 to 20 minutes), ⋮ Actions → Download latest.
  9. Next window: on that finished row, ⋮ Actions → Copy. Accounts, filter, columns and dates all carry over. Change only the date range (the previous 120 days) and the name, Submit, download. Repeat until the picker refuses a start date or you reach two years back.
  10. Then start again from step 1 with Advertised product, Targeting and Search term.
  11. Prefer not to click through this yourself? A browser agent can do it in your signed-in browser (Claude in Chrome, or any agent that drives your own browser). One caveat, lightly held: Amazon’s general Conditions of Use mention automated data-gathering tools, and its Advertising Agreement says nothing either way, so we can’t call this clearly inside or outside the rules; it is your own account, your own reports and Amazon’s own export button, but use it at your own discretion. Sign in to the console first, then paste this prompt; it stops at the downloads and never touches account settings.

    Replace WINDOW with the date range you want, e.g. “1 April 2025 to 29 July 2025”.

    In my signed-in Amazon Ads console, build and download four Sponsored Products reports from the unified Reporting page (Measurement and reporting → Reporting), for import into Abaxar. Never change account settings, never create or edit campaigns, and ask me before anything other than the steps below. For each template — Campaign, Advertised product, Targeting, Search term (Reporting → See all templates → Use template): 1. Filters → Accounts → Add → "Add all displayed accounts" → Save (only if an Accounts filter is shown). 2. Filters → Ad product → Change → untick everything except Sponsored Products → Save. 3. Customise columns → Dimensions: make the ticked dimensions EXACTLY this set and nothing else (untick every other pre-ticked dimension, including "Date range"): - Campaign: Advertiser account ID, Advertiser account name, Ad product, Campaign ID, Campaign name, Campaign country, Budget currency, Date. - Advertised product: Advertiser account ID, Advertiser account name, Ad product, Campaign ID, Campaign name, Campaign country, Ad group ID, Ad group name, Ad ID, Advertised product ID, Advertised product SKU, Budget currency, Date. - Targeting: Advertiser account ID, Advertiser account name, Ad product, Campaign ID, Campaign name, Campaign country, Ad group ID, Ad group name, Targeting, Targeting match type, Target ID, Budget currency, Date. - Search term: Advertiser account ID, Advertiser account name, Ad product, Campaign ID, Campaign name, Campaign country, Ad group ID, Ad group name, Targeting, Targeting match type, Target ID, Search term, Budget currency, Date. 4. Customise columns → Metrics: Remove all, then tick Impressions, Clicks, Total cost, Purchases, Sales, Units sold (Campaign template: also Top-of-search impression share). 5. Report period → Date range: WINDOW (click the start day, use the › arrow to reach the end month, click the end day, Save). Name the report "Abaxar SP <template> daily <start> to <end>". Submit. 6. When the report list shows Completed, ⋮ Actions → Download latest. 7. For every further window, use ⋮ Actions → Copy on the finished report (all settings carry over), change only the date range and name, Submit, then download when Completed. Windows: start with the last 120 days ending today, then the 120 days before that, and so on until the picker refuses a start date or you reach 24 months back. Before 13 February 2025 only build the Campaign template. Tell me every file name you downloaded and any step that did not match this description.

  • Why the panels are strict: a dimension whose value changes over time (a budget, a bid, a status, a portfolio) makes Amazon add a metric-less row per campaign-day for every old value. Abaxar skips those rows, but the file doubles for nothing.
  • Windows: about six per template for two years. Before 13 February 2025 only the Campaign template returns rows, so the older windows need just that one.
  • Sanity check on a downloaded file: dates like “Jul 07, 2025”, a Campaign country column (UK, DE, US), a Budget currency on every row, Ad product reading Sponsored Products. Column order does not matter.
  • Amazon guarantees 15 months of daily history and in practice serves 24. Sponsored Brands and Display keep only 60 to 65 days anywhere, and Abaxar imports Sponsored Products only.

Import the history into Abaxar

  • Sponsored Products only: Sponsored Brands and Display exports are refused, and Amazon keeps too little of their history for there to be a recoverable gap anyway. Filtering the export to Sponsored Products (step 4 of the export) is what keeps a mixed file from being refused.
  • No date math needed: dates the API already covers are left completely untouched (the result says how many), so a sloppy range can’t degrade anything. The CSV simply fills the history behind the API window. A file spanning marketplaces is written per profile, and only after every marketplace in it has been checked.
  • Verified on a live seller with separate UK, EU and US accounts: one manager-account export, rows in GBP, EUR and USD side by side, each routed to its own profile.
  1. On the Amazon Ads card, expand Import historical reports and drop the CSVs, up to 6 at a time; repeat for the next batch. Order and overlap do not matter.
  2. Leave “Import into” on Each row’s Campaign country. Every row is routed to the advertiser profile for its marketplace, so one manager-account file spanning UK, EU and US just works. Only pick a profile for an old export that has no country column.
  3. Read the line each file gets back: report type, rows imported, date range, rows on API-covered days left untouched, and for a multi-marketplace file where each country’s rows went. A refused file says exactly why, and the other files in the drop still import.

If something looks wrong

  • "The request has an invalid parameter : code": the redirect URI on the card doesn’t exactly match the Allowed Return URL, or the single-use code was already spent. Click Begin authorization again for a fresh one; a failed attempt never overwrites a working token.
  • The Advanced Tools Center shows "Signed in as" with a blank value: not by itself proof of the wrong account. Follow the approval-email steps in order rather than repeatedly reopening the link while switching accounts.
  • Consents granted on or after 30 July 2026 expire after 365 days. The Amazon Ads card starts warning from day 330 with the days remaining; the fix is a fresh Begin authorization from the card, never a new application.
  • You clicked the Direct advertiser card and landed on Amazon Attribution: that is the known mis-click. Go back and use the Request API access button inside the card.

Set up the next connector

Not running Abaxar yet?

Abaxar is bought once and owned: one payment, your data on your machine. Try the whole dashboard on the live demo first, then get your own copy.