Skip to main content

Amazon Seller Partner

This page contains the setup guide and reference information for the Amazon Seller Partner source connector.

Prerequisites

  • Amazon Seller Partner account

For Airbyte Cloud:

  • AWS Environment
  • AWS Region
  • AWS Seller Partner Account Type
  • Granted OAuth access

For Airbyte Open Source:

  • AWS Environment
  • AWS Region
  • AWS Seller Partner Account Type
  • LWA Client Id
  • LWA Client Secret
  • Refresh Token

Setup guide

Step 1: Set up Amazon Seller Partner

Register your Amazon Seller Partner account.

Airbyte Open Source setup steps

  • Register Amazon Seller Partner application. The application must be published as Amazon does not allow external parties such as Airbyte to access draft applications.

Step 2: Set up the source connector in Airbyte

To pass the check for Seller and Vendor accounts, you must have access to the Orders endpoint and the Vendor Orders endpoint, respectively.

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. Click Sources and then click + New source.
  3. On the Set up the source page, select Amazon Seller Partner from the Source type dropdown.
  4. Enter a name for the Amazon Seller Partner connector.
  5. Click Authenticate your account.
  6. Log in and Authorize to your Amazon Seller Partner account.
  7. For Start Date, enter the date in YYYY-MM-DD format. The data added on and after this date will be replicated. This field is optional - if not provided or older than 2 years ago from today, the date 2 years ago from today will be used.
  8. For End Date, enter the date in YYYY-MM-DD format. Any data after this date will not be replicated. This field is optional - if not provided, today's date will be used.
  9. You can specify report options for each stream using Report Options section. Available options can be found in corresponding category here.
  10. For Wait between requests to avoid fatal statuses in reports, enable if you want to use wating time between requests to avoid fatal statuses in report based streams.
  11. Click Set up source.

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard.
  2. On the Set up the source page, select Amazon Seller Partner from the Source type dropdown.
  3. Enter a name for the Amazon Seller Partner connector.
  4. Using developer application from Step 1, generate refresh token.
  5. For Start Date, enter the date in YYYY-MM-DD format. The data added on and after this date will be replicated. This field is optional - if not provided, the date 2 years ago from today will be used.
  6. For End Date, enter the date in YYYY-MM-DD format. Any data after this date will not be replicated. This field is optional - if not provided, today's date will be used.
  7. You can specify report options for each stream using Report Options section. Available options can be found in corresponding category here.
  8. For Wait between requests to avoid fatal statuses in reports, enable if you want to use wating time between requests to avoid fatal statuses in report based streams.
  9. Click Set up source.

Supported sync modes

The Amazon Seller Partner source connector supports the following sync modes:

  • Full Refresh
  • Incremental

Supported Streams

Entity-Relationship Diagram (ERD)

Report options

Report options can be assigned on a per-stream basis that alter the behavior when generating a report. For the full list, refer to Amazon’s report type values documentation.

Certain report types have required parameters that must be defined. For the GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL, GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL, and GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE streams, the maximum allowable value for period_in_days is 30 days, 30 days, and 60 days, respectively. If the specified period_in_days exceeds these limits, it will be automatically adjusted to the maximum value for the respective stream, or set to 365 days if not provided.

For the Vendor Forecasting Report, we have two streams - GET_VENDOR_FORECASTING_FRESH_REPORT and GET_VENDOR_FORECASTING_RETAIL_REPORT which use the same GET_VENDOR_FORECASTING_REPORT Amazon's report, but with different options for the sellingProgram parameter - FRESH and RETAIL respectively.

Performance considerations

Information about rate limits you may find here.

Data type map

Integration TypeAirbyte Type
stringstring
int, float, numbernumber
datedate
datetimedatetime
arrayarray
objectobject

Limitations & Troubleshooting

Failed to retrieve the report

Failed to retrieve the report 'YOUR_REPORT_NAME' for period 2024-01-01T12:01:15Z-2024-01-15T12:01:14Z. 
This will be read during the next sync. Report ID: YOUR_REPORT_ID. Error: Failed to retrieve the report result document.

Requesting reports via Amazon Seller Partner API can lead to failed syncs with error above "Failed to retrieve the report...".

One of the reasons why users face this issue is that report requests were made too often.

Solution 1:

To overcome it you can force use sleeping between requests to avoid fatal statuses while requesting reports.

Steps:

  1. Go to the Set Up page of the connector.
  2. Open optional section.
  3. Enable Wait between requests to avoid fatal statuses in reports toggle.

Disadvantages of this approach is that syncs with waiting between requests are much slower than without it. So it is better to create a separate connection only for stream that usually fails with "Failed to retrieve the report..." error. This will help you to avoid affecting streams that worked as expected.

note

For now the waiting logic only work for the following streams:

  • GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL
  • GET_AFN_INVENTORY_DATA
  • GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA

Solution 2:

Create a separate connection for streams which usually fail with error above "Failed to retrieve the report..." and disable sync of these streams in the first connection with streams which don't fail because of the error. Adjust the sync time of these two connection to do not overlap. It's recommended to have a time break between syncs in the connections.

Reference

Config fields reference

Field
Type
Property name
string
aws_environment
string
region
string
account_type
string
lwa_app_id
string
lwa_client_secret
string
refresh_token
Auth Type
"oauth2.0"
auth_type
string
replication_start_date
string
replication_end_date
integer
period_in_days
array<object>
report_options_list
boolean
wait_to_avoid_fatal_errors

Changelog

Expand to review
VersionDatePull RequestSubject
4.4.72024-11-1447691Fix period_in_days definition
4.4.62024-11-2548644Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64
4.4.52024-11-0447049Update dependencies
4.4.42024-10-1246817Update dependencies
4.4.32024-10-0546473Update dependencies
4.4.22024-09-2844748Update dependencies
4.4.12024-08-1743739Update dependencies
4.4.02024-07-1742052Add waiting between requests logic to avoid failed report requests
4.3.112024-07-1341873Update dependencies
4.3.102024-07-1041345Update dependencies
4.3.92024-07-0941158Update dependencies
4.3.82024-07-0840751Improve error messaging and turning on alerting
4.3.72024-07-0640990Update dependencies
4.3.62024-07-0140590Add log message when data only accessible to seller accounts, add report id in log message for fatal report status, add check for start date.
4.3.52024-06-2740215Replaced deprecated AirbyteLogger with logging.Logger
4.3.42024-06-2540384Update dependencies
4.3.32024-06-2240008Update dependencies
4.3.22024-06-1339441Update state handling for incremental streams
4.3.12024-06-0438969[autopull] Upgrade base image to v1.2.1
4.3.02024-05-24#38657Extend the report_options spec config with a stream_name attribute
4.2.42024-05-15#38210Fix GET_VENDOR_TRAFFIC_REPORT stream with report option reportPeriod=DAY
4.2.32024-05-09#38078Hide OSS-only streams in report options config for cloud users
4.2.22024-04-24#36630Schema descriptions and CDK 0.80.0
4.2.12024-04-08#36895Fix reportPeriod day query params
4.2.02024-03-19#36267Pin airbyte-cdk version to ^0
4.1.02024-03-12#35954Add GET_VENDOR_FORECASTING_FRESH_REPORT and GET_VENDOR_FORECASTING_RETAIL_REPORT streams
4.0.02024-02-23#35439Update schema for the GET_FBA_STORAGE_FEE_CHARGES_DATA stream
3.5.02024-02-09#35331Fix check for Vendor accounts. Add failed report result message
3.4.02024-02-15#35273Add VendorOrders stream
3.3.22024-02-13#33996Add integration tests
3.3.12024-02-09#35106Add logs for the failed check command
3.3.02024-02-09#35062Fix the check command for the Vendor account type
3.2.22024-02-07#34914Fix date formatting for ledger reports with aggregation by month
3.2.12024-01-30#34654Fix date format in state message for streams with custom dates formatting
3.2.02024-01-26#34549Update schemas for vendor analytics streams
3.1.02024-01-17#34283Delete deprecated streams
3.0.12023-12-22#33741Improve report streams performance
3.0.02023-12-12#32977Make all streams incremental
2.5.02023-11-27#32505Make report options configurable via UI
2.4.02023-11-23#32738Add GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT, GET_VENDOR_REAL_TIME_INVENTORY_REPORT, and GET_VENDOR_TRAFFIC_REPORT streams
2.3.02023-11-22#32541Make GET_AFN_INVENTORY_DATA, GET_AFN_INVENTORY_DATA_BY_COUNTRY, and GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE streams incremental
2.2.02023-11-21#32639Make start date optional, if start date is not provided, date 2 years ago from today will be used
2.1.12023-11-21#32560Silently exit sync if the retry attempts were unsuccessful
2.1.02023-11-21#32591Add new fields to GET_LEDGER_DETAIL_VIEW_DATA, GET_FBA_INVENTORY_PLANNING_DATA and Orders schemas
2.0.22023-11-17#32462Remove Max time option from specification; set default waiting time for reports to 1 hour
2.0.12023-11-16#32550Fix the OAuth flow
2.0.02023-11-23#32355Remove Brand Analytics from Airbyte Cloud, permanently remove deprecated FBA reports
1.6.22023-11-14#32508Do not use AWS signature as it is no longer required by the Amazon API
1.6.12023-11-13#32457Fix report decompression
1.6.02023-11-09#32259Mark "aws_secret_key" and "aws_access_key" as required in specification; update schema for stream Orders
1.5.12023-08-18#29255Field role_arn is optional on UI but not really on the backend blocking connector set up using oauth
1.5.02023-08-08#29054Add new stream OrderItems
1.4.12023-07-25#27050Fix - non vendor accounts connector create/check issue
1.4.02023-07-21#27110Add GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING and GET_ORDER_REPORT_DATA_SHIPPING streams
1.3.02023-06-09#27110Removed app_id from InputConfiguration, refactored spec
1.2.02023-05-23#22503Enabled stream attribute customization from Source configuration
1.1.02023-04-21#23605Add FBA Reimbursement Report stream
1.0.12023-03-15#24098Add Belgium Marketplace
1.0.02023-03-13#23980Make app_id required. Increase end_date gap up to 5 minutes from now for Finance streams. Fix connection check failure when trying to connect to Amazon Vendor Central accounts
0.2.332023-03-01#23606Implement reportOptions for all missing reports and refactor
0.2.322022-02-21#23300Make AWS Access Key, AWS Secret Access and Role ARN optional
0.2.312022-01-10#16430Implement slicing for report streams
0.2.302022-12-28#20896Validate connections without orders data
0.2.292022-11-18#19581Use user provided end date for GET_SALES_AND_TRAFFIC_REPORT
0.2.282022-10-20#18283Added multiple (22) report types
0.2.262022-09-24#16629Report API version to 2021-06-30, added multiple (5) report types
0.2.252022-07-27#15063Add Restock Inventory Report
0.2.242022-07-12#14625Add FBA Storage Fees Report
0.2.232022-06-08#13604Add new streams: Fullfiments returns and Settlement reports
0.2.222022-06-15#13633Fix - handle start date for financial stream
0.2.212022-06-01#13364Add financial streams
0.2.202022-05-30#13059Add replication end date to config
0.2.192022-05-24#13119Add OAuth2.0 support
0.2.182022-05-06#12663Add GET_XML_BROWSE_TREE_DATA report
0.2.172022-05-19#12946Add throttling exception managing in Orders streams
0.2.162022-05-04#12523Allow to use IAM user arn or IAM role
0.2.152022-01-25#9789Add stream FbaReplacementsReports
0.2.142022-01-19#9621Add GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL report
0.2.132022-01-18#9581Change createdSince parameter to dataStartTime
0.2.122022-01-05#9312Add all remaining brand analytics report streams
0.2.112022-01-05#9115Fix reading only 100 orders
0.2.102021-12-31#9236Fix NoAuth deprecation warning
0.2.92021-12-30#9212Normalize GET_SELLER_FEEDBACK_DATA header field names
0.2.82021-12-22#8810Fix GET_SELLER_FEEDBACK_DATA Date cursor field format
0.2.72021-12-21#9002Extract REPORTS_MAX_WAIT_SECONDS to configurable parameter
0.2.62021-12-10#8179Add GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT report
0.2.52021-12-06#8425Update title, description fields in spec
0.2.42021-11-08#8021Added GET_SELLER_FEEDBACK_DATA report with incremental sync capability
0.2.32021-11-08#7828Remove datetime format from all streams
0.2.22021-11-08#7752Change check_connection function to use stream Orders
0.2.12021-09-17#5248Added extra stream support. Updated reports streams logics
0.2.02021-08-06#4863Rebuild source with airbyte-cdk
0.1.32021-06-23#4288Bugfix failing connection check
0.1.22021-06-15#4108Fixed: Sync fails with timeout when create report is CANCELLED`