{
  "openapi": "3.0.1",
  "info": {
    "title": "Amazon Product Research API - Sales Estimates and Keyword Data",
    "description": "Amazon product research data from the Jungle Scout API: filter products by sales, revenue, price, rank and reviews, daily sales estimates per ASIN, related keywords with search volume and PPC bids, ASIN keyword ranks and brand share of voice. 10 marketplaces. Bring your own key.",
    "version": "0.1",
    "x-build-id": "ZSdq4MJG96OdZFyjR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~amazon-product-research-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-amazon-product-research-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/nabeelbaghoor~amazon-product-research-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-amazon-product-research-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/nabeelbaghoor~amazon-product-research-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-amazon-product-research-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": {
          "service": {
            "title": "What to read",
            "enum": [
              "productDatabase",
              "salesEstimates",
              "keywordsByKeyword",
              "keywordsByAsin",
              "historicalSearchVolume",
              "shareOfVoice"
            ],
            "type": "string",
            "description": "Product database queries the Amazon catalogue of one marketplace with the filters below and needs nothing else, so it is the default. Daily sales estimates reads estimated units sold and price per day for each ASIN. Related keywords expands each seed keyword. Keywords an ASIN ranks for lists the search terms up to 10 ASINs appear for. Weekly search volume history and brand share of voice read one keyword per line.",
            "default": "productDatabase"
          },
          "marketplace": {
            "title": "Amazon marketplace",
            "enum": [
              "us",
              "uk",
              "de",
              "in",
              "ca",
              "fr",
              "it",
              "es",
              "mx",
              "jp"
            ],
            "type": "string",
            "description": "The Amazon store to read. Your API key must be enabled for it.",
            "default": "us"
          },
          "identifiers": {
            "title": "ASINs or keywords",
            "type": "array",
            "description": "One per line. ASINs (or Amazon product URLs) for daily sales estimates and for keywords an ASIN ranks for (at most 10, compared against the first). Keywords for related keywords, weekly search volume history and brand share of voice. The product database reads none.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Product database and related keywords: keep only these Amazon root categories, one per line, spelled as the marketplace lists them. US examples: Home & Kitchen, Kitchen & Dining, Sports & Outdoors, Toys & Games, Pet Supplies, Beauty & Personal Care, Health & Household, Electronics. Left empty, every category is searched.",
            "items": {
              "type": "string"
            }
          },
          "includeKeywords": {
            "title": "Title keywords or ASINs to include",
            "type": "array",
            "description": "Product database: keep products whose title contains these words, or these exact ASINs. Up to 100 entries of up to 50 characters.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Title keywords or ASINs to exclude",
            "type": "array",
            "description": "Product database: leave out products whose title contains these words, or these exact ASINs.",
            "items": {
              "type": "string"
            }
          },
          "sellerTypes": {
            "title": "Seller types",
            "type": "array",
            "description": "Product database: keep products sold by these seller types. Left empty, all three are included.",
            "items": {
              "type": "string",
              "enum": [
                "amz",
                "fba",
                "fbm"
              ],
              "enumTitles": [
                "Amazon (AMZ)",
                "Fulfilled by Amazon (FBA)",
                "Fulfilled by merchant (FBM)"
              ]
            }
          },
          "productTiers": {
            "title": "Size tiers",
            "type": "array",
            "description": "Product database: keep standard size or oversize products. Left empty, both are included.",
            "items": {
              "type": "string",
              "enum": [
                "standard",
                "oversize"
              ],
              "enumTitles": [
                "Standard size",
                "Oversize"
              ]
            }
          },
          "excludeTopBrands": {
            "title": "Exclude top brands",
            "type": "boolean",
            "description": "Product database: leave out the dominant brands, to find niches a new seller can enter.",
            "default": false
          },
          "excludeUnavailableProducts": {
            "title": "Exclude unavailable products",
            "type": "boolean",
            "description": "Product database: leave out products that are currently unavailable.",
            "default": false
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Product database: minimum. Last known price, in the marketplace currency."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Product database: maximum. Last known price, in the marketplace currency."
          },
          "minNet": {
            "title": "Minimum net price",
            "minimum": 0,
            "type": "number",
            "description": "Product database: minimum. Price less FBA fees, in the marketplace currency."
          },
          "maxNet": {
            "title": "Maximum net price",
            "minimum": 0,
            "type": "number",
            "description": "Product database: maximum. Price less FBA fees, in the marketplace currency."
          },
          "minRank": {
            "title": "Minimum rank",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: minimum. Best seller rank in the main category."
          },
          "maxRank": {
            "title": "Maximum rank",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: maximum. Best seller rank in the main category."
          },
          "minSales": {
            "title": "Minimum sales",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: minimum. Estimated monthly units sold."
          },
          "maxSales": {
            "title": "Maximum sales",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: maximum. Estimated monthly units sold."
          },
          "minRevenue": {
            "title": "Minimum revenue",
            "minimum": 0,
            "type": "number",
            "description": "Product database: minimum. Estimated monthly revenue, in the marketplace currency."
          },
          "maxRevenue": {
            "title": "Maximum revenue",
            "minimum": 0,
            "type": "number",
            "description": "Product database: maximum. Estimated monthly revenue, in the marketplace currency."
          },
          "minReviews": {
            "title": "Minimum reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: minimum. Number of reviews."
          },
          "maxReviews": {
            "title": "Maximum reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: maximum. Number of reviews."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Product database: minimum. Star rating, 1 to 5."
          },
          "maxRating": {
            "title": "Maximum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Product database: maximum. Star rating, 1 to 5."
          },
          "minWeight": {
            "title": "Minimum weight",
            "minimum": 0,
            "type": "number",
            "description": "Product database: minimum. Weight in pounds."
          },
          "maxWeight": {
            "title": "Maximum weight",
            "minimum": 0,
            "type": "number",
            "description": "Product database: maximum. Weight in pounds."
          },
          "minSellers": {
            "title": "Minimum sellers",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: minimum. Number of sellers (FBA, FBM and Amazon together)."
          },
          "maxSellers": {
            "title": "Maximum sellers",
            "minimum": 0,
            "type": "integer",
            "description": "Product database: maximum. Number of sellers (FBA, FBM and Amazon together)."
          },
          "minLqs": {
            "title": "Minimum listing quality score",
            "minimum": 1,
            "maximum": 10,
            "type": "number",
            "description": "Product database: minimum. Listing quality score, 1 to 10."
          },
          "maxLqs": {
            "title": "Maximum listing quality score",
            "minimum": 1,
            "maximum": 10,
            "type": "number",
            "description": "Product database: maximum. Listing quality score, 1 to 10."
          },
          "minUpdatedAt": {
            "title": "Updated on or after",
            "type": "string",
            "description": "Product database: keep products whose data was refreshed on or after this date (YYYY-MM-DD)."
          },
          "maxUpdatedAt": {
            "title": "Updated on or before",
            "type": "string",
            "description": "Product database: keep products whose data was refreshed on or before this date (YYYY-MM-DD)."
          },
          "productSort": {
            "title": "Sort products by",
            "enum": [
              "-revenue",
              "revenue",
              "-sales",
              "sales",
              "-price",
              "price",
              "rank",
              "-rank",
              "-reviews",
              "reviews",
              "-lqs",
              "lqs",
              "-sellers",
              "sellers",
              "name",
              "-name",
              "category",
              "-category"
            ],
            "type": "string",
            "description": "Product database: sort order. A leading minus sorts descending, so -revenue puts the highest estimated monthly revenue first. Left blank, the provider sorts by name."
          },
          "keywordSort": {
            "title": "Sort keywords by",
            "enum": [
              "-monthly_search_volume_exact",
              "monthly_search_volume_exact",
              "-monthly_search_volume_broad",
              "monthly_search_volume_broad",
              "-monthly_trend",
              "monthly_trend",
              "-quarterly_trend",
              "quarterly_trend",
              "-relevancy_score",
              "relevancy_score",
              "-ease_of_ranking_score",
              "ease_of_ranking_score",
              "-ppc_bid_exact",
              "ppc_bid_exact",
              "-ppc_bid_broad",
              "ppc_bid_broad",
              "-sp_brand_ad_bid",
              "sp_brand_ad_bid",
              "-recommended_promotions",
              "recommended_promotions",
              "-organic_product_count",
              "organic_product_count",
              "name",
              "-name",
              "dominant_category",
              "-dominant_category"
            ],
            "type": "string",
            "description": "Related keywords and keywords an ASIN ranks for: sort order. Left blank, the provider sorts by exact match monthly search volume, highest first."
          },
          "minSearchVolumeExact": {
            "title": "Minimum exact match monthly search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: minimum exact match monthly search volume."
          },
          "maxSearchVolumeExact": {
            "title": "Maximum exact match monthly search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: maximum exact match monthly search volume."
          },
          "minSearchVolumeBroad": {
            "title": "Minimum broad match monthly search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: minimum broad match monthly search volume."
          },
          "maxSearchVolumeBroad": {
            "title": "Maximum broad match monthly search volume",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: maximum broad match monthly search volume."
          },
          "minWordCount": {
            "title": "Minimum number of words in the keyword",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: minimum number of words in the keyword."
          },
          "maxWordCount": {
            "title": "Maximum number of words in the keyword",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: maximum number of words in the keyword."
          },
          "minOrganicProductCount": {
            "title": "Minimum number of organic products shown for the keyword",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: minimum number of organic products shown for the keyword."
          },
          "maxOrganicProductCount": {
            "title": "Maximum number of organic products shown for the keyword",
            "minimum": 0,
            "type": "integer",
            "description": "Related keywords and keywords an ASIN ranks for: maximum number of organic products shown for the keyword."
          },
          "includeVariants": {
            "title": "Include ASIN variants",
            "type": "boolean",
            "description": "Keywords an ASIN ranks for: also count the ranking of the ASINs' variants. Can return many more keywords.",
            "default": true
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Daily sales estimates and weekly search volume history: first day of the period, as YYYY-MM-DD. Left blank, 30 days (sales) or 90 days (search volume) before the end date."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Daily sales estimates and weekly search volume history: last day of the period, as YYYY-MM-DD, before today. Left blank, yesterday."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many rows across the whole run.",
            "default": 500
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Pacing ceiling for calls to the provider, whose documented limit is 300 per minute per account. Rate limited answers are retried after the wait the provider names.",
            "default": 60
          },
          "apiKeyName": {
            "title": "API key name",
            "type": "string",
            "description": "The name you gave the key when you generated it on the Developer page of your provider account. Leave blank if you give the key as KEY_NAME:API_KEY below or in the DATA_API_KEY secret."
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own API key, shown once when it is generated on the Developer page of your provider account. This actor is bring-your-own-key and never ships one. Leave blank to use the DATA_API_KEY environment secret (KEY_NAME:API_KEY). It is sent only in the Authorization header and never written to a row or the log."
          },
          "apiType": {
            "title": "API type",
            "enum": [
              "junglescout",
              "cobalt"
            ],
            "type": "string",
            "description": "The X-API-Type header: junglescout for standard accounts, cobalt for Enterprise accounts.",
            "default": "junglescout"
          },
          "baseUrl": {
            "title": "API base URL",
            "type": "string",
            "description": "Override the host the actor calls. Only useful for testing against a different environment."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}