{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Influencer & Deals Scraper",
    "description": "The only Apify actor for Amazon Influencer Hub: scrape /shop/ storefronts, posts, and curated lists. Plus live Deals, Best Sellers, Search, Product Details and Reviews. 8 operations, one clean dataset. Built for affiliate intel, deal-tracking SaaS, market research and product analytics.",
    "version": "1.0",
    "x-build-id": "fvrxdSxaRFKB5lWHa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~amazon-influencer-deals-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-amazon-influencer-deals-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/sian.agency~amazon-influencer-deals-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-amazon-influencer-deals-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/sian.agency~amazon-influencer-deals-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-amazon-influencer-deals-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": [
          "operation"
        ],
        "properties": {
          "operation": {
            "title": "🎯 Operation — what do you want to scrape?",
            "enum": [
              "search",
              "productDetails",
              "productReviews",
              "bestSellers",
              "influencerProfile",
              "influencerPosts",
              "influencerPostProducts",
              "deals"
            ],
            "type": "string",
            "description": "🎯 **PICK ONE OPERATION PER RUN.** Each run produces one clean dataset matching the chosen mode.\n\n- **🔍 Product Search** — keyword search across Amazon products, paginated (~16 results/page)\n- **📦 Product Details** — deep scrape of a single ASIN (price, byline, photos, badges, availability)\n- **⭐ Product Reviews** — paginated reviews for a single ASIN (~10 reviews/page)\n- **🏆 Best Sellers** — top sellers in a category, paginated (~50 results/page)\n- **👤 Influencer Profile** — Amazon Influencer Hub storefront profile (`/shop/<creator>`)\n- **📋 Influencer Posts** — paginated posts (IDEA_LISTS, photos, videos) from a creator's storefront\n- **🛍️ Influencer Post Products** — products in a specific influencer IDEA_LIST post\n- **🔥 Live Deals** — current Amazon Deals page (Lightning Deals, Best Deals, savings%)\n\n💡 **TIP:** To combine operations, run the actor multiple times with different configurations. Use Product Search to discover ASINs, then drill into Product Details and Reviews per ASIN.",
            "default": "search"
          },
          "query": {
            "title": "🔍 Search Query (for Product Search)",
            "type": "string",
            "description": "🔍 **Required for `Product Search` operation.**\n\nAny Amazon product search query.\n- `wireless headphones`\n- `nike running shoes size 10`\n- `dog food grain free`\n\n💡 **TIP:** Long-tail queries return higher-relevance results. Use the `sortBy` field to control ranking.\n\n⚠️ **Ignored** for all other operations."
          },
          "asin": {
            "title": "📦 ASIN (for Product Details / Product Reviews)",
            "type": "string",
            "description": "📦 **Required for `Product Details` and `Product Reviews` operations.**\n\nThe 10-character Amazon Standard Identification Number (ASIN). You can find it:\n- In any product URL: `https://www.amazon.com/dp/{ASIN}` → the trailing segment\n- In the `asin` field of any Product Search or Best Sellers result row\n\n💡 **TIP:** Run `Product Search` first to discover ASINs, then loop through `Product Details` per ASIN for deep enrichment.\n\n⚠️ **Ignored** for Search, Best Sellers, Influencer, and Deals operations."
          },
          "category": {
            "title": "🏆 Best Sellers Category",
            "type": "string",
            "description": "🏆 **Required for `Best Sellers` operation.**\n\nAmazon best-sellers category slug. Common values:\n- `electronics`\n- `toys-and-games`\n- `home-and-kitchen`\n- `beauty`\n- `books`\n- `automotive`\n\n💡 **TIP:** Use lowercase, hyphenated slugs as they appear in Amazon's category URLs.\n\n⚠️ **Ignored** for other operations."
          },
          "bestSellersType": {
            "title": "🏆 Best Sellers Type",
            "enum": [
              "BEST_SELLERS",
              "MOST_WISHED_FOR",
              "NEW_RELEASES"
            ],
            "type": "string",
            "description": "Type of best-sellers ranking to fetch. `BEST_SELLERS` (default) returns the overall top sellers; `MOST_WISHED_FOR` and `NEW_RELEASES` return alternative rankings.",
            "default": "BEST_SELLERS"
          },
          "influencerName": {
            "title": "👤 Influencer / Creator Handle",
            "type": "string",
            "description": "👤 **Required for `Influencer Profile`, `Influencer Posts`, and `Influencer Post Products` operations.**\n\nThe Amazon Influencer storefront handle (the segment after `/shop/` in the URL).\n- `https://www.amazon.com/shop/mommyhood101` → use `mommyhood101`\n- `https://www.amazon.com/shop/leoniehanne` → use `leoniehanne`\n\n💡 **TIP:** Browse the Amazon Influencer Hub or search for `amazon.com/shop/{creator}` to discover handles.\n\n⚠️ **Ignored** for non-influencer operations."
          },
          "postId": {
            "title": "📋 Influencer Post ID",
            "type": "string",
            "description": "📋 **Required for `Influencer Post Products` operation.**\n\nThe post ID of an Amazon Influencer IDEA_LIST. Format: `amzn1.ideas.XXXXXXXXX`.\n\n⚠️ **Only IDEA_LISTS posts are supported.** Video posts (IDs starting with `amzn1.vse.video.`) return an error from the data source — these cannot be enriched with products yet.\n\n💡 **TIP:** Run `Influencer Posts` with `scope: IDEA_LISTS` first to discover valid post IDs.\n\n⚠️ **Ignored** for other operations."
          },
          "scope": {
            "title": "📋 Influencer Posts Scope",
            "enum": [
              "ALL",
              "IDEA_LISTS",
              "PHOTOS",
              "VIDEOS"
            ],
            "type": "string",
            "description": "Which kinds of posts to return from the influencer's storefront. Default `ALL` returns everything; `IDEA_LISTS` returns curated lists (recommended for downstream use with `Influencer Post Products`).",
            "default": "ALL"
          },
          "country": {
            "title": "🌍 Country (Amazon marketplace)",
            "enum": [
              "US",
              "GB",
              "DE",
              "FR",
              "IT",
              "ES",
              "CA",
              "JP",
              "AU",
              "IN",
              "MX",
              "BR",
              "AE",
              "SG",
              "NL",
              "SE",
              "PL",
              "TR"
            ],
            "type": "string",
            "description": "🌍 ISO country code for the Amazon marketplace to query. Defaults to `US`. Most operations support all Amazon marketplaces.\n\nCommon values: `US`, `GB`, `DE`, `FR`, `IT`, `ES`, `CA`, `JP`, `AU`, `IN`, `MX`, `BR`, `AE`, `SG`, `NL`, `SE`, `PL`, `TR`.",
            "default": "US"
          },
          "sortBy": {
            "title": "↕️ Sort Order",
            "type": "string",
            "description": "Sort order for `Product Search` and `Product Reviews` results.\n\n- **Search:** `RELEVANCE` (default), `LOWEST_PRICE`, `HIGHEST_PRICE`, `REVIEWS`, `NEWEST`.\n- **Reviews:** `TOP_REVIEWS` (default — Amazon's helpfulness ranking), `MOST_RECENT`.\n\nIgnored for non-paginated operations and Best Sellers / Influencer / Deals.",
            "default": "RELEVANCE"
          },
          "categoryId": {
            "title": "🏷️ Category ID (Search filter)",
            "type": "string",
            "description": "Optional. Amazon category node ID to restrict `Product Search` results (e.g. `172282` = Electronics). Leave blank for cross-category search."
          },
          "maxPages": {
            "title": "📄 Max pages to fetch",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "📄 **Applies to paginated operations** (Search, Product Reviews, Best Sellers, Influencer Posts). Ignored for single-record operations (Product Details, Influencer Profile, Influencer Post Products, Deals).\n\n- **Search:** ~16 products per page\n- **Product Reviews:** ~10 reviews per page\n- **Best Sellers:** ~50 products per page\n- **Influencer Posts:** ~9–15 posts per page\n\n💡 **TIP:** Start small (1–3 pages) to preview results before scaling up.\n\n⚠️ Hard cap: 50 pages to prevent runaway runs.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}