Topic

Amazon Ads API

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

6 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.
  • There is no scheduler. No day-part object, no cron field, nothing that runs later. Anything time-based, 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.

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 (Direct Advertiser) — Step-by-Step

Amazon Ads API

9 min read

How to Get Amazon Ads API Access (Direct Advertiser) — Step-by-Step

Amazon’s setup isn’t hard, but it’s scattered across systems. This guide walks you from LWA → approval → tokens → a working Profiles API call.

Amazon Ads Dayparting: There's No Schedule Endpoint, So You Build the Clock

Amazon Ads API

8 min read

Amazon Ads Dayparting: There's No Schedule Endpoint, So You Build the Clock

You want campaigns to bid harder at 7pm and go quiet at 3am. The Amazon Ads API has no scheduling primitive — no cron field, no day-part object, nothing that runs later. Dayparting 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.

Connect Claude to Amazon Ads and Seller Central (MCP Setup)

Amazon Ads API

12 min read

Connect Claude to Amazon Ads and Seller Central (MCP Setup)

Amazon runs two MCP servers — one for Ads, one for the Selling Partner API — that let Claude query your accounts directly. The built-in connector flow fails with '400 Bad Request: An unknown scope was requested'. Here are the setup steps that work, then why the connector is broken and what the connection costs you in context.

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.

WhatsApp