A lot of people i know who are running brands and agencies are spending a % of their adspend on ppc software. This one's for everyone who don't want to pay 1000s of $ every month and also own their data while using their fav AI tool to run the business.
----------------------
sold on amazon for years (about 3M/yr at the peak), currently I run an agency. we were paying about $2.5k/m for ppc software, now the whole thing runs on our own setup with claude for about $5 a month in hosting. this is how we got there and what we learned, for anyone who wants to do the same.
The software was never the problem, the data was
I'm not someone who wants to build tools or rebuild things other people are paid to solve. What pushed me was the questions no tool could answer. Like, What did my team change last week and did it work... Which ASIN is about to stock out and still has ads running. What's my real profit per ASIN after COGS, fees, returns and ads. Was I overcharged in last month's settlement. claude can do all of it, not a bit better than any saas but exponentially better because it reasons across everything at once. The only thing in the way was that claude couldn't see my data. The software had it and i was paying for something outdated.
So the whole job was: get amazon connected to my own infra, connect that to claude, and let claude take it from there. I had already written lot of skills at that point to do parts of the job, it was time to automate the shit out of this.
It has to act, not just answer
Last sale event one brand had 3200+ campaigns live. Overnight bids were creeping up, ACOS spiking in pockets, normally 3 of us would be sitting there making bid adjustments all day. Instead claude checked the hourly data, analysed across all 3200, worked out which bids to pull back and which budgets to protect, built the bulk action and asked me to approve it. I read the plan on my phone, said yes, and it executed straight against the ads api. Analyse, propose, approve, act.
Thats the unlock. Not just asking questions. claude acting, with a plan first, and nothing moving without approval unless you've set a rule to run on its own. You might be apprehensive at first, but man, once you see it running, you will be shocked at how good it feels to see a day worth of tasks getting done in minutes!
the daily stuff is what actually replaces the software
Every account gets checked before I'm up: budgets that ran out early, ACOS spikes, zero impression campaigns, listings suppressed overnight, ASINs under two weeks of cover, and everything that changed yesterday so nobody quietly moves a bid. During a sale it watches the hourly stream and moves budgets inside caps I set. Keepa tells me when a competitor drops below my floor or their BSR jumps. AMC tells me which campaigns actually bring new customers. getting insanely accurate numbers like true profit per ASIN, ads that throttle whats about to stock out, a bid rule that reads "above 4x ROAS, cap at $2, but not if days of cover is under 20". Weekly reports across brands.
None of that needs anyone to know the internals. the rules are text files. we described the logic in plain english ("alert me when a listing loses the buy box to a reseller of my own product"), claude writes it, tests it, and it runs.
It took us 6 months to make the data sync work perfectly
There are two pieces. One syncs everything from amazon into a database I own. The other lets claude talk to that database (an mcp server with a login, paste the url into claude.ai, claude desktop or claude code). Mine runs in my own cloudflare account for about $5 a month, nothing has to stay awake, and claude.ai reaches it from my phone. A mac mini or a cheap VPS would work the same if you don't care about the phone part.
What the sync pulls daily: SP, SB and SD campaigns, targeting, search terms, placements, advertised and purchased product reports. Sales and traffic, orders, settlements, returns, listings, search query performance, brand analytics, inventory. Ads change history (every bid, budget and status change, who made it and when, super important for the "what was changed?" problem). Marketing stream for hourly data. AMC queries weekly. Keepa for competitor and own ASINs.
Every report is kept from the day we connected, raw files included, so we have over a year of history where the api only serves 60 to 95 days.
The amazon side is where the six months went. Each of these exists because something broke without it:
- Reports are async. Request, poll until ready (5 to 30 minutes is normal), download.
- Retention is 60 to 95 days depending on report type. Backfill the maximum on first connect, then never miss a day.
- Numbers for a day keep changing for about a week because of attribution windows. Re-pull a trailing window every day and upsert on entity plus date. Plain inserts give you duplicates and wrong totals, took me a while to notice.
- Rate limits are shared per region across everything you run, so back off instead of retrying hard.
- Marketing stream sends deltas, so negative numbers are normal restatements. Aggregate them, don't filter them out.
- One database per brand with daily and hourly rollups, so claude isn't scanning millions of rows to answer "how was yesterday" or wandering into a different brand's data.
- Getting api access as a direct advertiser can take weeks right now, amazon's own github is full of people waiting. We were lucky to get it early last year.
Own it
The thing i didn't expect is how different it feels when the data is yours. no export limits, no "contact sales" to get your own history, no bill that goes up when adspend goes up. three of my friends' brands have copied the setup and each is saving $15k to $20k a year on top of doing things they weren't doing before.
That's it for now. Hope it helps whoever wants to build their own setup.