Amazon Ads API
The Amazon Ads API is a REST interface for programmatically managing Amazon advertising, including Sponsored Products, Sponsored Brands, and Sponsored Display campaigns, Amazon DSP advertisers and reporting, budget rules, Amazon Marketing Cloud (AMC) workflows, and Amazon Marketing Stream subscriptions. It lets you automate campaign management and pull performance data for analytics and reporting. Access is authorized with Login with Amazon (LWA) using the OAuth2 authorization code flow.

Power end-to-end data operations for your Amazon Ads API API with Nexla. Our bi-directional Amazon Ads API connector is purpose-built for Amazon Ads API, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Amazon Ads API or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Amazon Ads API workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating an Amazon Ads API credential, you need an Amazon Ads account with API access enabled and a Login with Amazon (LWA) application from which you can obtain a Client ID, Client Secret, and a refresh token. The Amazon Ads API uses the OAuth2 authorization code flow: the Client ID is also sent as the Amazon-Advertising-API-ClientId header on every request, and requests scoped to a specific advertising account also send the profile ID in the Amazon-Advertising-API-Scope header.
To obtain your Amazon Ads API credentials, follow these steps:
-
Complete Amazon Ads API onboarding to gain API access. Follow the steps in the Amazon Ads API onboarding overview to request access for your Amazon Ads account and associate it with a Login with Amazon application.
-
Sign in to the Amazon Developer Console with your Amazon account, and select Login with Amazon from the top navigation.
-
Click Create a New Security Profile, and enter a name, description, and consent privacy notice URL for your application. This security profile represents the LWA application that will call the Amazon Ads API.
-
Locate your security profile in the list, and click Show Client ID and Client Secret to reveal the Client ID and Client Secret. Copy both values and store them securely.
-
Confirm that Amazon Ads API access is assigned to your Login with Amazon application as part of onboarding, so the security profile is authorized to call the Amazon Ads API.
-
Complete the OAuth2 authorization code flow to obtain a Refresh Token. Using the Client ID and Client Secret, generate an authorization grant by consenting to the
profileandadvertising::campaign_managementscopes for the Amazon Ads account, then exchange the returned authorization code athttps://api.amazon.com/auth/o2/tokenfor an access token and refresh token. See Retrieve an access token and refresh token for details. -
Store the Refresh Token securely. Amazon may issue a new refresh token when you exchange one for a fresh access token, so always persist the most recent refresh token.
-
Retrieve your Profile ID by calling
GET https://advertising-api.amazon.com/v2/profileswith a valid access token and theAmazon-Advertising-API-ClientIdheader. Each profile represents an advertising account in a specific marketplace; use the profile ID for the account whose data you want to access.
For complete details about authorization, token exchange, and refresh tokens, see the Amazon Ads API authorization overview.
Authenticate
Credentials required
| Field | Required | Secret | Description |
|---|---|---|---|
| Client ID | Yes | No | LWA Client ID for the Amazon Ads API app (from the Security Profile at developer.amazon.com). Also sent as the Amazon-Advertising-API-ClientId header on every request. |
| Client Secret | Yes | Yes | LWA Client Secret paired with the Client ID, used during the authorization_code token exchange at api.amazon.com/auth/o2/token. |
| Refresh Token | Yes | Yes | OAuth2 refresh token obtained after completing the LWA authorization_code flow (profile and advertising::campaign_management scopes), used to mint new access tokens. |
| Profile ID | No | No | Advertising profile ID to scope requests to (sent as Amazon-Advertising-API-Scope). Obtain via GET /v2/profiles; not required for the profiles-list call itself. |
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter the Client ID for your Login with Amazon application. This value authenticates your app and is also sent as the
Amazon-Advertising-API-ClientIdheader on every Amazon Ads API request. -
Enter the Client Secret paired with your Client ID. This value is used during the OAuth2 token exchange and should be kept confidential.
-
Enter the Refresh Token obtained from the LWA authorization code flow. Nexla uses this token to mint new access tokens as needed.
-
Optionally, enter the Profile ID for the advertising account you want to access. This value is sent as the
Amazon-Advertising-API-Scopeheader for profile-scoped endpoints. It is not required for the profiles-list call.If your Client Secret or Refresh Token is compromised, revoke access and generate new credentials from your Login with Amazon security profile. For detailed information about authorization and token management, see the Amazon Ads API authorization overview.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Amazon Ads API connector tile, then select the credential that will be used to connect to Amazon Ads, and click Next; or, create a new Amazon Ads API credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Amazon Ads API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Amazon Ads API data sources can also be manually configured to ingest data from any valid Amazon Ads API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Amazon Ads API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the Amazon Ads API destination, and select the Send to Destination option from the menu. Select the Amazon Ads API connector from the list of available destination connectors, then select the credential that will be used to connect to Amazon Ads, and click Next; or, create a new Amazon Ads API credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Amazon Ads API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
Amazon Ads API destinations can also be manually configured to send data to any valid Amazon Ads API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Amazon Ads API endpoints typically expect JSON in the request body. Many endpoints also require version-specific Accept and Content-Type headers and the Amazon-Advertising-API-Scope header for profile-scoped operations.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Amazon Ads API endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Amazon Ads API endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.