{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon ASIN Lookup API",
    "description": "Amazon product lookup API for retrieving structured product data by ASIN or URL. Extract price, seller, ratings, images, availability, and specifications across multiple Amazon marketplaces. Built for price monitoring, catalog enrichment, and ecommerce automation workflows.",
    "version": "0.1",
    "x-build-id": "0Bs4rJPvjg9XKWZGu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solutionssmart~amazon-asin-lookup-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solutionssmart-amazon-asin-lookup-api",
        "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/solutionssmart~amazon-asin-lookup-api/runs": {
      "post": {
        "operationId": "runs-sync-solutionssmart-amazon-asin-lookup-api",
        "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/solutionssmart~amazon-asin-lookup-api/run-sync": {
      "post": {
        "operationId": "run-sync-solutionssmart-amazon-asin-lookup-api",
        "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",
        "properties": {
          "asins": {
            "title": "🆔 Bulk ASINs",
            "minItems": 1,
            "type": "array",
            "description": "Bulk ASIN input for Amazon product lookup, Amazon price monitoring, and Amazon catalog enrichment in one marketplace. Each ASIN uses the default marketplace unless the same product is also provided with a marketplace override in the products field.",
            "items": {
              "type": "string"
            }
          },
          "products": {
            "title": "🛍️ Bulk product inputs",
            "minItems": 1,
            "type": "array",
            "description": "Bulk mixed-product input for Amazon product lookup, Amazon seller tracking, and multi-marketplace catalog checks. Each item can provide an ASIN, a product URL, or both, plus its own marketplace override.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "asin": {
                  "title": "🆔 ASIN",
                  "type": "string",
                  "description": "Amazon ASIN. 10 alphanumeric characters."
                },
                "url": {
                  "title": "🔗 Product URL",
                  "type": "string",
                  "description": "Optional Amazon product URL. If provided, the actor extracts the ASIN from the URL."
                },
                "marketplace": {
                  "title": "🌍 Marketplace",
                  "type": "string",
                  "description": "Optional marketplace override for this item.",
                  "editor": "select",
                  "enumSuggestedValues": [
                    "amazon.com",
                    "amazon.co.uk",
                    "amazon.de",
                    "amazon.fr",
                    "amazon.it",
                    "amazon.es",
                    "amazon.ca",
                    "amazon.com.mx",
                    "amazon.co.jp",
                    "amazon.com.au",
                    "amazon.in"
                  ]
                }
              }
            }
          },
          "fileImport": {
            "title": "📄 CSV / Excel import",
            "type": "object",
            "description": "Optional file import section. Keep all CSV and Excel settings here so spreadsheet-based input is easier to follow.",
            "properties": {
              "inputSource": {
                "title": "File type",
                "type": "string",
                "description": "Choose `csv` or `xlsx` when importing ASINs from a remote spreadsheet file.",
                "editor": "select",
                "enum": [
                  "csv",
                  "xlsx"
                ]
              },
              "fileUrl": {
                "title": "File URL",
                "type": "string",
                "description": "Public CSV or Excel file URL for simplified one-column import or advanced mapped import.",
                "editor": "textfield"
              },
              "sheetName": {
                "title": "Excel sheet name",
                "type": "string",
                "description": "Optional worksheet name for Excel imports. If omitted, the first worksheet is used.",
                "editor": "textfield"
              },
              "simpleMode": {
                "title": "Simple one-column import",
                "type": "object",
                "description": "Use this mode when your spreadsheet has only one ASIN column and one shared marketplace for all rows.",
                "properties": {
                  "asinColumnName": {
                    "title": "ASIN column name",
                    "type": "string",
                    "description": "Name of the single ASIN column to read. All other columns are ignored.",
                    "editor": "textfield"
                  },
                  "asinColumn": {
                    "title": "ASIN column index",
                    "type": "integer",
                    "description": "Alternative zero-based index of the ASIN column.",
                    "minimum": 0
                  }
                }
              },
              "advancedMapping": {
                "title": "Advanced column mapping",
                "type": "object",
                "description": "Optional advanced mode for files that contain separate `asin`, `marketplace`, or `url` columns.",
                "properties": {
                  "asinColumnName": {
                    "title": "ASIN column name",
                    "type": "string",
                    "description": "Optional name of the ASIN column for advanced file mapping.",
                    "editor": "textfield"
                  },
                  "asinColumn": {
                    "title": "ASIN column index",
                    "type": "integer",
                    "description": "Optional zero-based ASIN column index for advanced file mapping.",
                    "minimum": 0
                  },
                  "marketplaceColumnName": {
                    "title": "Marketplace column name",
                    "type": "string",
                    "description": "Optional marketplace column name for advanced file mapping.",
                    "editor": "textfield"
                  },
                  "marketplaceColumn": {
                    "title": "Marketplace column index",
                    "type": "integer",
                    "description": "Optional zero-based marketplace column index for advanced file mapping.",
                    "minimum": 0
                  },
                  "urlColumnName": {
                    "title": "URL column name",
                    "type": "string",
                    "description": "Optional product URL column name for advanced file mapping.",
                    "editor": "textfield"
                  },
                  "urlColumn": {
                    "title": "URL column index",
                    "type": "integer",
                    "description": "Optional zero-based URL column index for advanced file mapping.",
                    "minimum": 0
                  }
                }
              },
              "batchSize": {
                "title": "Batch size",
                "type": "integer",
                "description": "Batch size used while preparing file-based input. CSV is recommended for very large imports.",
                "default": 1000,
                "minimum": 1,
                "maximum": 10000
              }
            }
          },
          "marketplace": {
            "title": "🌍 Default marketplace",
            "type": "string",
            "description": "Default Amazon marketplace used for ASIN-only entries. Useful for Amazon product lookup, Amazon price monitoring, and Amazon seller tracking in a specific region. You can use a domain like amazon.com or a country code such as US, DE, or UK.",
            "default": "amazon.com"
          },
          "deduplicate": {
            "title": "🧹 Deduplicate requests",
            "type": "boolean",
            "description": "Enabled by default. Deduplicates merged `asins` and `products` input before crawling using marketplace + normalized ASIN. Later duplicates are skipped and counted in the SUMMARY record.",
            "default": true
          },
          "maxConcurrency": {
            "title": "⚙️ Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of product pages processed at the same time. Higher values can increase throughput but may also increase block risk.",
            "default": 3
          },
          "maxRequestRetries": {
            "title": "🔁 Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "How many times the actor retries transient request failures before writing an error item. Explicit Amazon block responses fail fast as BLOCKED.",
            "default": 6
          },
          "requestTimeoutSecs": {
            "title": "⏱️ Request timeout (seconds)",
            "minimum": 15,
            "maximum": 180,
            "type": "integer",
            "description": "Navigation and extraction timeout per product page.",
            "default": 60
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy configuration",
            "type": "object",
            "description": "Strongly recommended for Amazon scraping, Amazon product lookup API reliability, and large-volume Amazon monitoring. Without proxy, Amazon may return interstitial, CAPTCHA, or blocked responses instead of product pages."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}