> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon Selling Partner Integration for AI Agents & Workflows

> Amazon Selling Partner API for managing orders, inventory, pricing, and reports on Amazon marketplaces

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img className="block dark:hidden" src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/amazon-selling-partner-light.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=af0b29401198efc7b2cdf91c1007e46d" alt="Amazon Selling Partner logo" width="72" height="72" data-path="logos/amazon-selling-partner-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/amazon-selling-partner-dark.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=efa287b15997818d6c0c227f4e0e9323" alt="Amazon Selling Partner logo" width="72" height="72" data-path="logos/amazon-selling-partner-dark.svg" />

## Overview

Add **Amazon Selling Partner** to any ModuleX agent or workflow. Manage orders, inventory, pricing, and reports on Amazon marketplaces via the Amazon Selling Partner API (`sellingpartnerapi-na.amazon.com`).

<Info>
  **Categories**: E-Commerce · Marketplace · Fulfillment · **Auth**: OAuth2 · **Actions**: 8
</Info>

## Authentication

### OAuth2 Authentication

Connect using Amazon Selling Partner OAuth (Login with Amazon)

#### Required Credentials

| Field           | Description                                                                                                                                                                                                                                                                                                                                                                                                                    | Required | Format                                    |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------- |
| Client ID       | Amazon SP-API OAuth App Client ID from your developer application                                                                                                                                                                                                                                                                                                                                                              | Yes      | `-`                                       |
| Client Secret   | Amazon SP-API OAuth App Client Secret                                                                                                                                                                                                                                                                                                                                                                                          | Yes      | `-`                                       |
| SP-API Base URL | Selling Partner API regional endpoint. Use [https://sellingpartnerapi-na.amazon.com](https://sellingpartnerapi-na.amazon.com) for North America (default), [https://sellingpartnerapi-eu.amazon.com](https://sellingpartnerapi-eu.amazon.com) for Europe, or [https://sellingpartnerapi-fe.amazon.com](https://sellingpartnerapi-fe.amazon.com) for the Far East. Pick the endpoint that matches your seller account's region. | Yes      | `https://sellingpartnerapi-na.amazon.com` |

#### OAuth Configuration

* **Authorization URL**: `https://www.amazon.com/ap/oa`
* **Token URL**: `https://api.amazon.com/auth/o2/token`

## Available Actions

<AccordionGroup>
  <Accordion title="check_fba_inventory_levels — Retrieves inventory summaries from Amazon fulfillment centers to monitor stock availability">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID (e.g. ATVPDKIKX0DER for US)
    </ResponseField>

    <ResponseField name="details" type="boolean">
      Set to true to return inventory summaries with additional summarized inventory details and quantities (Default: `false`)
    </ResponseField>

    <ResponseField name="start_date_time" type="string">
      A start date and time in ISO8601 format. If specified, all inventory summaries that have changed since then are returned. Must be no earlier than 18 months prior to the current date.
    </ResponseField>

    <ResponseField name="seller_skus" type="array">
      A list of seller SKUs for which to return inventory summaries (up to 50 SKUs). Elements are strings.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "InventorySummary": {
          "additionalProperties": false,
          "properties": {
            "asin": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Asin"
            },
            "fn_sku": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Fn Sku"
            },
            "seller_sku": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Seller Sku"
            },
            "condition": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Condition"
            },
            "total_quantity": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Total Quantity"
            },
            "product_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Product Name"
            }
          },
          "title": "InventorySummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "inventory_summaries": {
          "items": {
            "$ref": "#/$defs/InventorySummary"
          },
          "title": "Inventory Summaries",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "CheckFbaInventoryLevelsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="fetch_orders_by_date_range — Retrieves a list of orders based on a specified date range, buyer email, or order ID">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID
    </ResponseField>

    <ResponseField name="created_after" type="string" required>
      Fetch orders created after this ISO date
    </ResponseField>

    <ResponseField name="created_before" type="string">
      Fetch orders created before this ISO date
    </ResponseField>

    <ResponseField name="buyer_email" type="string">
      The email address of a buyer to filter orders
    </ResponseField>

    <ResponseField name="amazon_order_id" type="string">
      An order identifier specified by the seller. If provided, other filters like FulfillmentChannels, OrderStatuses, PaymentMethod cannot be used.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "orders": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Orders",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "FetchOrdersByDateRangeOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="generate_sales_inventory_reports — Requests reports on sales, inventory, and fulfillment performance">
    ### Parameters

    <ResponseField name="report_types" type="array" required>
      A list of report types used to filter reports. Refer to SP-API Report Type Values documentation. Elements are strings.
    </ResponseField>

    <ResponseField name="marketplace_id" type="string">
      The Amazon Marketplace ID to filter reports
    </ResponseField>

    <ResponseField name="processing_statuses" type="array">
      A list of processing statuses used to filter reports. Valid values: CANCELLED, DONE, FATAL, IN\_PROGRESS, IN\_QUEUE. Elements are strings.
    </ResponseField>

    <ResponseField name="created_since" type="string">
      The earliest report creation date and time in ISO 8601 format. Default is 90 days ago.
    </ResponseField>

    <ResponseField name="created_until" type="string">
      The latest report creation date and time in ISO 8601 format. Default is now.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "reports": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Reports",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "GenerateSalesInventoryReportsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_order_details — Fetches detailed information about a specific order using its order ID">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID
    </ResponseField>

    <ResponseField name="amazon_order_id" type="string" required>
      The Amazon order ID to fetch details for
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "order": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Order"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetOrderDetailsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_inbound_shipments — Fetches inbound shipment details to track stock movement and replenishment">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID
    </ResponseField>

    <ResponseField name="status" type="array" required>
      Filter inbound shipments by status. Valid values: WORKING, SHIPPED, RECEIVING, CANCELLED, DELETED, CLOSED, ERROR, IN\_TRANSIT, DELIVERED, CHECKED\_IN. Elements are strings.
    </ResponseField>

    <ResponseField name="last_updated_after" type="string">
      A date for selecting inbound shipments that were last updated after (or at) a specified time
    </ResponseField>

    <ResponseField name="last_updated_before" type="string">
      A date for selecting inbound shipments that were last updated before (or at) a specified time
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "shipments": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Shipments",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListInboundShipmentsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_marketplace_id_options — Retrieves available marketplace participation options for the authenticated seller">
    ### Response

    ```json theme={null}
    {
      "$defs": {
        "MarketplaceOption": {
          "additionalProperties": false,
          "properties": {
            "label": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Label"
            },
            "value": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Value"
            }
          },
          "title": "MarketplaceOption",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "marketplaces": {
          "items": {
            "$ref": "#/$defs/MarketplaceOption"
          },
          "title": "Marketplaces",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListMarketplaceIdOptionsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="optimize_product_pricing — Retrieves competitive pricing data to adjust product prices dynamically based on market trends">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID
    </ResponseField>

    <ResponseField name="item_type" type="string" required>
      Indicates whether ASIN values or seller SKU values are used to identify items. Valid values: Asin, Sku
    </ResponseField>

    <ResponseField name="values" type="array" required>
      A list of ASINs or seller SKUs depending on item\_type (up to 20 identifiers). Elements are strings.
    </ResponseField>

    <ResponseField name="customer_type" type="string" required>
      Filters the offer listings based on customer type. Valid values: Consumer, Business
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "pricing_data": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Pricing Data",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "OptimizeProductPricingOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="retrieve_sales_performance_reports — Fetches sales order metrics for visualization in dashboarding tools">
    ### Parameters

    <ResponseField name="marketplace_id" type="string" required>
      The Amazon Marketplace ID
    </ResponseField>

    <ResponseField name="interval" type="string" required>
      A time interval for selecting order metrics. Two dates separated by two hyphens (first date inclusive; second exclusive) in ISO8601 format. Example: 2018-09-01T00:00:00-07:00--2018-09-04T00:00:00-07:00
    </ResponseField>

    <ResponseField name="granularity" type="string" required>
      The granularity of the grouping of order metrics. Valid values: Hour, Day, Week, Month, Year, Total
    </ResponseField>

    <ResponseField name="granularity_time_zone" type="string">
      An IANA-compatible time zone for determining the day boundary. Required when specifying a granularity value greater than Hour.
    </ResponseField>

    <ResponseField name="buyer_type" type="string">
      Filters results by buyer type. Valid values: All, B2B, B2C
    </ResponseField>

    <ResponseField name="fulfillment_network" type="string">
      Filters results by fulfillment network. Valid values: MFN (merchant fulfillment), AFN (Amazon fulfillment)
    </ResponseField>

    <ResponseField name="first_day_of_week" type="string">
      Specifies the day that the week starts on when granularity=Week. Valid values: Monday, Sunday. Default: Monday
    </ResponseField>

    <ResponseField name="asin" type="string">
      Filters results by ASIN. Cannot be specified together with sku.
    </ResponseField>

    <ResponseField name="sku" type="string">
      Filters results by SKU. Cannot be specified together with asin.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "order_metrics": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Order Metrics",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "RetrieveSalesPerformanceReportsOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* SP-API enforces per-endpoint rate limits varying by selling partner type (standard vs. grantless). Typical burst: 1-30 requests/second depending on the endpoint.
* Orders API: 1 request per second burst, with a restore rate of 1 request per second.
* Inventory API: 2 requests per second burst.
* Pricing API: 10 requests per 1 second burst (for `getCompetitivePrice`).
* Reports API: varies per report type; creation is throttled at a lower rate than retrieval.
* Error model: non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Etsy" href="/integrations/tools/etsy" />

  <Card title="Google Merchant Center" href="/integrations/tools/google-merchant-center" />

  <Card title="Instacart" href="/integrations/tools/instacart" />
</CardGroup>

## Links

* [Amazon Selling Partner](https://sellercentral.amazon.com)
