Topic

Amazon Ads API

Advertising API access, throttling, dayparting, and the automation patterns that hold up when you run them hourly across real accounts.

11 guides, written from real builds.

Most of the Amazon Ads API is unremarkable. Authenticate, list profiles, read campaigns, pull a report. The work gets hard on either side of that: getting credentials that function at all means moving through several separate Amazon systems in the right order, and once you are in, anything worth building runs on a schedule against live spend. That is where throttling, timezones and missing primitives start costing money rather than time.

The jobs I get called into are rarely "how do I call this endpoint". They are 429 storms in production, a dayparting schedule that turned out to be several hours off, and daily numbers being asked hourly questions.

What actually goes wrong here

  • Access is scattered, not difficult. The LWA security profile, the Ads API application and the approval that links them sit in different systems, and the order you do them in matters.
  • Throttling is per endpoint, not global. There is no one account-wide rate to stay under; each endpoint has its own bucket, and a 429 is usually a verdict on your retry code.
  • The only scheduler raises bids. Sponsored Products schedule bid rules can push bids up at set hours; lowering them, pausing, or reacting to the hour's numbers is a job you run yourself.
  • Hourly data is a different pipeline. You do not get it by polling the Reports API harder. Marketing Stream pushes it to you instead.
  • The writes are unattended and real. An hourly job with a bug in it spends money for hours before anyone looks.

Which guide to open

Start at the beginning if you have no credentials yet. The Direct Advertiser access walkthrough runs from creating an LWA security profile through the application, the approval email, the return URL and the auth-code exchange, ending on a Profiles call that proves the setup works. The approval email is flagged as a warning rather than a step, and it is the one to read before you click anything.

Once you are calling the API in volume, read how the per-endpoint token buckets actually behave. It covers what the response headers tell you before you retry, the retry pattern that turns one 429 into a storm, why async v3 reporting beats polling everything, and why asking for a higher limit is almost never the fix.

Data granularity is the next fork, and it is worth settling first. Marketing Stream and Marketing Cloud get mixed up constantly because they sound like the same product, but they solve opposite problems: one pushes hourly ad data into AWS infrastructure you own, for acting now; the other is for asking what happened, after the fact. Most teams doing this seriously end up running both. If the answer is Marketing Stream, the full Firehose setup is the long one: the delivery stream, both IAM roles, the subscription call, and what the hourly files look like once they start landing in S3.

With hourly data in hand, dayparting becomes buildable. Building the clock yourself covers the shape that holds up, why timezones are the actual hard part, the guardrails that stop an unattended writer doing damage, and the question worth asking first: whether your account has enough data to justify dayparting at all.

If you would rather ask questions of the account than write scripts against it, connecting Claude to the Ads and Seller Central MCP servers works through a local proxy today, while the built-in connector flow fails on an unknown-scope error. It also measures what the connection costs you, and how to cut that.

These are write-ups of client builds, not readings of the documentation. The gotchas are in them because they cost me time first. If you would rather not build it in-house, the consulting side of this is the same work, done for you.

Amazon Ads API Rate Limits Explained (And How to Stop Hitting Them)

Amazon Ads API

7 min read

Amazon Ads API Rate Limits Explained (And How to Stop Hitting Them)

A 429 storm from the Amazon Ads API almost always means your retry logic is wrong, not that your limits are too low. Here's how the per-endpoint token buckets actually work, what the response headers tell you, and the request patterns that keep you comfortably under the limit.

Custom PPC Automation vs Pacvue & Perpetua: an Honest Comparison

Amazon Ads API

7 min read

Custom PPC Automation vs Pacvue & Perpetua: an Honest Comparison

I build custom Amazon PPC automation for a living and I still tell most people to buy the SaaS. Here's a straight comparison of custom builds versus tools like Pacvue and Perpetua — what each does better, the real cost math, and how to tell which side of the line you're actually on.

AMS vs AMC: Which Amazon Ad Data Tool to Use, and When

Amazon Ads API

6 min read

AMS vs AMC: Which Amazon Ad Data Tool to Use, and When

Amazon Marketing Stream and Amazon Marketing Cloud both start with “Amazon Marketing” and both deal with ad data — so they get mixed up constantly. They actually solve opposite problems. One pushes you hourly data for real-time action; the other runs SQL over years of history for attribution. Here's the difference, side by side, and how to pick.

Amazon Marketing Stream Setup: Hourly Ad Data via Firehose in Python

Amazon Ads API

13 min read

Amazon Marketing Stream Setup: Hourly Ad Data via Firehose in Python

Stop polling the Reports API. Amazon Marketing Stream pushes hourly Sponsored Products, Sponsored Brands, and Sponsored Display data directly into your AWS infrastructure — no cron jobs, no throttling. Here's the full setup: Firehose stream, IAM roles, the subscription API call, and what the data looks like when it lands.

How to Get Amazon Ads API Access as a Direct Advertiser (2026)

Amazon Ads API

10 min read

How to Get Amazon Ads API Access as a Direct Advertiser (2026)

Amazon Ads API access is a Login with Amazon security profile, a Direct Advertiser application, and one approval link that assigns the access to that profile. Then you add a return URL, swap an authorization code for tokens and call /v2/profiles. Amazon says review can take up to one business day; the step that goes wrong is the approval link, which Amazon invalidates if it's opened while you're logged into the wrong Amazon account. Current as of October 2026, including the new 365-day refresh token rule.

How to Build Hourly Automated Bidding with Amazon Marketing Stream (AMS → BigQuery → Ads API)

Amazon Ads API

12 min read

How to Build Hourly Automated Bidding with Amazon Marketing Stream (AMS → BigQuery → Ads API)

A complete guide to pulling hourly conversion data from Amazon Marketing Stream (AMS), storing it in BigQuery, and automatically adjusting bids via Amazon Ads API based on real-time performance.

Amazon Marketing Stream: “Value null at destination.firehoseDestination.subscriberRoleArn”

Amazon Ads API

6 min read

Amazon Marketing Stream: “Value null at destination.firehoseDestination.subscriberRoleArn”

Your Marketing Stream subscription call returns a 400 complaining about a null subscriberRoleArn, and every code sample you can find sends only two ARNs. The subscribe body now needs three. Here's the current shape, the two other things that break right after you fix it, and why your first day of data looks empty.

Amazon Ads Dayparting: Schedule Bid Rules Only Raise Bids, So You Build the Rest

Amazon Ads API

8 min read

Amazon Ads Dayparting: Schedule Bid Rules Only Raise Bids, So You Build the Rest

You want campaigns to bid harder at 7pm and go quiet at 3am. The Amazon Ads API's only native schedules are Sponsored Products schedule bid rules and schedule-based budget rules, and both can only raise bids or budgets. Going quiet at 3am, pausing, and reacting to each hour's numbers is something you implement, not something you configure. Here's the shape that works, and the guardrails that stop an hourly writer from doing real damage.

Setting Up Amazon Marketing Stream V2: By Hand, or By AI

Amazon Ads API

8 min read

Setting Up Amazon Marketing Stream V2: By Hand, or By AI

Two routes to the same pipeline. Paste one prompt into Claude or ChatGPT and have it do the whole thing with your values already in it, or walk the six steps yourself and understand each one. Either way the same four traps decide whether you end up with data or with a subscription that says ACTIVE and delivers nothing.

Amazon Marketing Stream V2: What Changes If You Built on V1

Amazon Ads API

10 min read

Amazon Marketing Stream V2: What Changes If You Built on V1

Amazon made Marketing Stream V2 generally available on 30 September 2026 and set a hard shutoff for V1: 30 June 2027. V2 isn't a new endpoint on the old pipe. It writes Parquet to an S3 bucket you own, sends restated totals instead of deltas, and delivers 70 days of history when you subscribe. Here's what that changes in a V1 Firehose or SQS pipeline feeding BigQuery, and the order I'd cut one over in.

Best Amazon PPC Software in 2026 and 2027: 22 Tools Compared

Amazon Ads API

17 min read

Best Amazon PPC Software in 2026 and 2027: 22 Tools Compared

Twenty-one Amazon PPC tools and Amazon's own Ads Agent, compared on how they bid, what they really cost at $20,000 a month in ad spend, and twelve features from dayparting to hourly re-bidding. Prices come from each vendor's own page, checked in October 2026, followed by six questions to ask before you choose a tool for 2027.

Need this built rather than researched?

Shahzeb Khan runs Databaaba, a one-person studio that builds amazon ads api integrations for sellers, agencies, and software teams. Every guide here came out of a real client build.