Advertising

Amazon Ads Data Extractor

Amazon Ads Data Extractor

Vern's Amazon Ads extractor imports a new user's advertising data — attribution report performance adgroup, attribution report performance campaign, attribution report performance creative, and attribution report products — into your product through a single managed migration, handling Amazon Ads's auth, pagination, and rate limits for you. It's built for teams onboarding customers off Amazon Ads who want their data in your app from day one.

Vern's Amazon Ads extractor imports a new user's advertising data — attribution report performance adgroup, attribution report performance campaign, attribution report performance creative, and attribution report products — into your product through a single managed migration, handling Amazon Ads's auth, pagination, and rate limits for you. It's built for teams onboarding customers off Amazon Ads who want their data in your app from day one.

Amazon Ads

SaaS API (REST)

Managed auth, retries, and throttling

Normalized JSON, CSV, and DB-ready output

Cleaned JSON, CSV, and DB-ready output

Export coverage

Know exactly what Vern pulls before you migrate.

Objects Vern extracts

Vern extracts the full set of queryable Amazon Ads objects (54 total), including: Attribution Report Performance Adgroup, Attribution Report Performance Campaign, Attribution Report Performance Creative, Attribution Report Products, Portfolios, Profiles, Sponsored Brands Ad Groups, Sponsored Brands Adgroups Report Stream, Sponsored Brands Adgroups Report Stream Daily, Sponsored Brands Campaigns, Sponsored Brands Campaigns Report Stream, Sponsored Brands Campaigns Report Stream Daily, Sponsored Brands Keywords, Sponsored Brands V3 Report Stream, Sponsored Brands V3 Report Stream Daily, Sponsored Display Ad Groups, Sponsored Display Adgroups Report Stream, Sponsored Display Adgroups Report Stream Daily, Sponsored Display Asins Report Stream, Sponsored Display Asins Report Stream Daily, Sponsored Display Budget Rules, Sponsored Display Campaigns, Sponsored Display Campaigns Report Stream, Sponsored Display Campaigns Report Stream Daily, Sponsored Display Creatives, Sponsored Display Product Ads, Sponsored Display Productads Report Stream, Sponsored Display Productads Report Stream Daily, Sponsored Display Targetings, Sponsored Display Targets Report Stream, Sponsored Display Targets Report Stream Daily, Sponsored Product Ad Group Bid Recommendations, Sponsored Product Ad Group Suggested Keywords, Sponsored Product Ad Groups, Sponsored Product Ads, Sponsored Product Campaign Negative Keywords, Sponsored Product Campaigns, Sponsored Product Keywords, Sponsored Product Negative Keywords, Sponsored Product Targetings, Sponsored Products Adgroups Report Stream, Sponsored Products Adgroups Report Stream Daily, Sponsored Products Asins Keywords Report Stream, Sponsored Products Asins Keywords Report Stream Daily, Sponsored Products Asins Targets Report Stream, Sponsored Products Asins Targets Report Stream Daily, Sponsored Products Campaigns Report Stream, Sponsored Products Campaigns Report Stream Daily, Sponsored Products Keywords Report Stream, Sponsored Products Keywords Report Stream Daily, Sponsored Products Productads Report Stream, Sponsored Products Productads Report Stream Daily, Sponsored Products Targets Report Stream, and Sponsored Products Targets Report Stream Daily. 30 of these support incremental change tracking, so syncs pull only what changed.

Output schema

Normalized JSON per object with referential keys preserved, so the relationships between your user's records survive the import. Timestamps are returned in ISO 8601. Delivered as JSON or CSV, or loaded straight into your own application database or pushed to your API — whatever your product expects.

Where it can land

Your own application database (Postgres, MySQL), a direct push to your API or webhook, or JSON/CSV files, plus another advertising system (Apple Ads, AWIN Advertiser, Bing Ads) when a user is switching tools.

Source details

Built for the source type shown above, with extractor content refreshed from the collection record.

Managed by Vern

The details you normally have to build yourself.

Authentication

OAuth 2.0 (Authorization Code flow). Your new user authorizes Amazon Ads once during onboarding — their credentials never touch your code. Amazon Ads access tokens are short-lived and refresh tokens roll on the provider's own schedule, so Vern manages the full token lifecycle and refresh and the import never drops midway. See Amazon Ads's authentication guide.

Pagination

Vern detects and handles Amazon Ads's paging model (cursor, page-number, or offset) internally and returns one consistent, de-duplicated result set — so you import a user's complete data without ever managing page tokens.

Rate limits and gotchas

Amazon Ads enforces its own API rate limits (see Amazon Ads's rate-limit docs). Vern queues and throttles requests internally so importing a new user's data never trips a 429 — even on a large account.

OAuth-based sources expire access tokens frequently and require a working refresh flow — a dropped refresh is the most common cause of a half-finished import. Vern owns the refresh loop so a new user's onboarding completes even on a long extraction.

API quickstart

1. Create a migration for Amazon Ads
curl -X POST https://app.vern.so/api/v1/migrations \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Amazon Ads → Postgres", "source": "Amazon Ads" }'
→ { "migration_id": "mig_..." }
2. Generate the extraction recipe (pulls live via the Amazon Ads API)
curl -X POST https://app.vern.so/api/v1/migrations/$MIGRATION_ID/runs \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "kind": "generate", "extract_via_api": true }'
3. Run the approved extraction
curl -X POST https://app.vern.so/api/v1/migrations/$MIGRATION_ID/runs \
-H "x-api-key: $VERN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "kind": "execute" }'
4. Download the normalized CSV export
curl https://app.vern.so/api/v1/migrations/$MIGRATION_ID/exports/{template} \
-H "x-api-key: $VERN_API_KEY" -o amazon-ads_export.csv

A cleaner way to extract without rebuilding source-specific plumbing.

View docs

Common questions

Can I keep a user's Amazon Ads data in sync after the first import? Yes — 30 Amazon Ads objects support incremental change tracking, so after the first full import Vern pulls only what changed on re-run.

Can I move a user from Amazon Ads to Apple Ads? Yes — Vern normalizes the Amazon Ads data model into typed tables that map cleanly onto Apple Ads and into your own product.

What does it cost to read the Amazon Ads API? Amazon Ads's own API access follows Amazon Ads's pricing/plan; Vern is billed separately per import. Check Amazon Ads's developer docs for their current limits.