{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon ASIN Scraper With Profit & Fee Estimates",
    "description": "Scrape Amazon products by ASIN with the Amazon ASIN Scraper. Extract titles, prices, descriptions, ratings, reviews, images, and stock info for any ASIN. Perfect for product research, competitor analysis, and inventory tracking. Fast, accurate, and scalable for bulk ASINs.",
    "version": "0.1",
    "x-build-id": "sIKhdx37RggagjyoS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapier~amazon-asin-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapier-amazon-asin-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapier~amazon-asin-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapier-amazon-asin-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapier~amazon-asin-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapier-amazon-asin-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "asins"
        ],
        "properties": {
          "asins": {
            "title": "📦 ASINs to cost out",
            "type": "array",
            "description": "One ASIN per line — 10 alphanumeric characters, e.g. `B07GBZ4Q68`. Take it from the product URL after `/dp/`. ASINs are fetched concurrently.",
            "items": {
              "type": "string"
            }
          },
          "marketplaceDomain": {
            "title": "🏬 Storefront domain",
            "type": "string",
            "description": "Which Amazon storefront to read the listing from. The bundled fee schedule is **amazon.com / USD only** — any other storefront still returns full product data, but the fee and profit fields will be `null` and `feeEstimateBasis` will say `unsupported_marketplace`.\n\nThe base input key `amazonDomain` is still accepted and takes priority.",
            "default": "amazon.com"
          },
          "pageLanguage": {
            "title": "🔤 Page language",
            "enum": [
              "",
              "en",
              "en_US",
              "en_GB",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "pt",
              "pt_BR",
              "sv",
              "tr",
              "cs",
              "da",
              "ja",
              "zh_CN",
              "zh_TW",
              "hi"
            ],
            "type": "string",
            "description": "Language code sent as `?language=…` and in `Accept-Language`. Attribute keys such as `Item Weight` are matched in English first, so leaving this on English gives the best fee coverage.\n\nThe base input key `language` is still accepted and takes priority.",
            "default": "en"
          },
          "deliveryPostcode": {
            "title": "📍 Delivery postcode",
            "type": "string",
            "description": "Optional destination postcode (e.g. `10001`). Sets Amazon's delivery cookie before scraping so the buy-box price you are costing out is the one for that location.\n\nThe base input key `zipCode` is still accepted and takes priority.",
            "default": ""
          },
          "unitCost": {
            "title": "💵 Unit cost",
            "type": "string",
            "description": "What you pay your supplier for one unit, before freight, in the storefront's currency. Decimals welcome — example: `6.50`. Leave empty to skip all profit maths; the fee side still runs.",
            "default": ""
          },
          "inboundShippingCost": {
            "title": "🚚 Inbound freight per unit",
            "type": "string",
            "description": "Freight, duty and customs allocated to a single unit — the cost of getting it into the fulfilment centre. Example: `0.90`.",
            "default": ""
          },
          "extraCostPerUnit": {
            "title": "🏷️ Other cost per unit",
            "type": "string",
            "description": "Anything else you want inside landed cost: prep, polybag, labelling, insert cards. Added straight into `landedUnitCost`. Example: `0.35`.",
            "default": ""
          },
          "fulfilmentChannel": {
            "title": "🧮 Fulfilment channel",
            "enum": [
              "FBA",
              "FBM",
              "NONE"
            ],
            "type": "string",
            "description": "**FBA** adds an estimated Amazon fulfilment fee from the parsed size tier. **FBM (seller-fulfilled)** sets the Amazon fulfilment fee to 0 — your own shipping cost belongs in *Other cost per unit*. **Referral fee only** also skips it, for a quick gross look.",
            "default": "FBA"
          },
          "feeCategoryOverride": {
            "title": "🗂️ Fee category override",
            "type": "string",
            "description": "Force a referral-fee category instead of the one inferred from the breadcrumb trail. Useful when Amazon's browse node and your Seller Central category disagree. Examples: `Consumer Electronics`, `Home & Kitchen`, `Toys & Games`, `Clothing & Accessories`. An unrecognised value is ignored and the breadcrumb is used.",
            "default": ""
          },
          "referralFeePercentOverride": {
            "title": "📐 Referral percent override",
            "type": "string",
            "description": "Pin the referral percentage yourself, e.g. `8` or `15.5`. Overrides both the breadcrumb category and the category override above; `feeCategorySource` then reads `user_percent_override`. Values above 100 are coerced to 100 and the coercion is logged.",
            "default": ""
          },
          "fulfilmentFeeOverride": {
            "title": "📦 Fulfilment fee override",
            "type": "string",
            "description": "Use your own per-unit fulfilment cost instead of the estimated FBA rate — handy when you already have the real figure from a Seller Central fee preview. Example: `4.55`.",
            "default": ""
          },
          "includeFeeBreakdown": {
            "title": "🧾 Itemised fee breakdown",
            "type": "boolean",
            "description": "Adds `feeBreakdown[]` — one entry per fee with the amount and the sentence explaining how it was reached (percentage used, size tier, billable weight). Turn off for a narrower dataset.",
            "default": true
          },
          "trimRichContent": {
            "title": "🪶 Drop A+ content and images",
            "type": "boolean",
            "description": "A+ modules, brand story, comparison tables and image galleries dominate the size of an Amazon record and a costing sheet never reads them. Turn this on to blank those fields and keep the dataset small.",
            "default": false
          },
          "onlyProfitableAsins": {
            "title": "✅ Keep only profitable ASINs",
            "type": "boolean",
            "description": "Skip any ASIN whose estimated profit per unit is zero or negative. Only has an effect when a unit cost was supplied — without one, profit is unknown and nothing is filtered out (a warning is logged).",
            "default": false
          },
          "exitCountry": {
            "title": "🌐 Proxy exit country",
            "enum": [
              "AUTO_SELECT_PROXY_COUNTRY",
              "US",
              "GB",
              "DE",
              "FR",
              "ES",
              "IT",
              "CA",
              "AU",
              "JP",
              "IN",
              "BR",
              "MX",
              "NL",
              "PL",
              "TR",
              "SE",
              "AE"
            ],
            "type": "string",
            "description": "Route requests through this country so the buy-box price and delivery promise match the market you are costing for.\n\nThe base input key `proxyCountry` is still accepted and takes priority.",
            "default": "AUTO_SELECT_PROXY_COUNTRY"
          },
          "proxyConfiguration": {
            "title": "🔐 Proxy configuration",
            "type": "object",
            "description": "Full proxy override — Apify groups or your own URLs. Overrides the exit country above. Most runs can leave this alone."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}