{
  "openapi": "3.0.1",
  "info": {
    "title": "Keepa Scraper — Amazon Price History, BSR, Offers & Deals",
    "description": "Keepa Scraper for Amazon: paste ASINs, Amazon or Keepa links and get one row per product with Buy Box and lowest prices, sales rank, monthly sales, ratings and a price trend with a 0-100 deal score. Keepa deals links work too. Price history and seller offers are optional add-ons.",
    "version": "0.0",
    "x-build-id": "Y5TipOfQw6BUVKUrk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~keepa-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-keepa-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/memo23~keepa-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-keepa-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/memo23~keepa-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-keepa-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": [
          "identifiers"
        ],
        "properties": {
          "identifiers": {
            "title": "Products and deals to fetch",
            "type": "array",
            "description": "One entry per line. Accepted: a 10-character ASIN (B0BN72FYFG), an Amazon product link from any of the 11 supported Amazon sites (https://www.amazon.de/dp/B0FRYBZR91), a Keepa product link (https://keepa.com/#!product/3-B0FRYBZR91, where 3 is Keepa's code for amazon.de), or a Keepa deals link copied from keepa.com/#!deals after you set your filters there. Entries the actor cannot read are skipped and listed in the run log. The same product on the same Amazon site is fetched once, however many times it appears.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "Amazon site for bare ASINs",
            "enum": [
              "us",
              "uk",
              "de",
              "jp",
              "ca",
              "fr",
              "it",
              "es",
              "in",
              "mx",
              "br"
            ],
            "type": "string",
            "description": "Which Amazon site a bare ASIN is looked up on, e.g. 'de' for amazon.de. Links carry their own site, so this setting is ignored for Amazon links, Keepa product links and Keepa deals links. Default: us (amazon.com).",
            "default": "us"
          },
          "maxItems": {
            "title": "Stop after this many rows",
            "minimum": 0,
            "type": "integer",
            "description": "Total cap on rows written to the dataset across products and deals together, e.g. 200. Leave at 0 to write every row the inputs produce.",
            "default": 0
          },
          "max_pages": {
            "title": "Pages per deals link",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many result pages to read from each Keepa deals link, e.g. 5. Reading stops early when Keepa returns an empty page. Has no effect on product lookups. Free-plan runs read 1 page. Default: 1.",
            "default": 1
          },
          "output_fields": {
            "title": "Keep only these columns",
            "uniqueItems": true,
            "type": "array",
            "description": "Pick the top-level fields you want in each row, e.g. asin, title, new_price, bsr. data_captured_at and data_type are always kept. A field a row does not have is left out of that row. Empty (default) keeps every field. When 'Keepa field names' is on, pick from Keepa's own names; those are marked (raw).",
            "items": {
              "type": "string",
              "enum": [
                "amazon_price",
                "amazon_price_history",
                "amazon_price_seen_at",
                "asin",
                "author",
                "availability_amazon",
                "availability_amazon_delay",
                "binding",
                "brand",
                "bsr",
                "bsr_category_id",
                "bsr_category_name",
                "bsr_history",
                "bsr_seen_at",
                "buybox_availability_message",
                "buybox_eligible_offer_counts",
                "buybox_is_amazon",
                "buybox_is_backorder",
                "buybox_is_fba",
                "buybox_is_free_shipping_eligible",
                "buybox_is_map",
                "buybox_is_preorder",
                "buybox_is_prime_eligible",
                "buybox_is_prime_exclusive",
                "buybox_is_prime_pantry",
                "buybox_is_shippable",
                "buybox_is_unqualified",
                "buybox_is_used",
                "buybox_item_price",
                "buybox_max_order_quantity",
                "buybox_min_order_quantity",
                "buybox_price",
                "buybox_price_history",
                "buybox_price_seen_at",
                "buybox_saving_basis",
                "buybox_saving_basis_type",
                "buybox_saving_percentage",
                "buybox_seller_id",
                "buybox_seller_id_history",
                "buybox_shipping",
                "buybox_shipping_country",
                "buybox_stats",
                "buybox_used_condition",
                "buybox_used_history",
                "buybox_used_is_fba",
                "buybox_used_item_price",
                "buybox_used_price",
                "buybox_used_price_history",
                "buybox_used_seller_id",
                "buybox_used_shipping",
                "buybox_used_stats",
                "collectible_acceptable_price",
                "collectible_acceptable_price_history",
                "collectible_good_price",
                "collectible_good_price_history",
                "collectible_like_new_price",
                "collectible_like_new_price_history",
                "collectible_offer_count",
                "collectible_offer_count_history",
                "collectible_offer_count_seen_at",
                "collectible_price",
                "collectible_price_history",
                "collectible_price_seen_at",
                "collectible_very_good_price",
                "collectible_very_good_price_history",
                "color",
                "coupon_history",
                "data_captured_at",
                "data_type",
                "delta_percent90_monthly_sold",
                "domain_id",
                "ebay_new_price",
                "ebay_new_price_history",
                "ebay_used_price",
                "ebay_used_price_history",
                "edition",
                "format",
                "item_form",
                "item_type_keyword",
                "keepa_offers",
                "last_sold_update",
                "lightning_deal_info",
                "lightning_deal_price",
                "lightning_deal_price_history",
                "lightning_deal_price_seen_at",
                "lightning_end",
                "list_price",
                "list_price_history",
                "list_price_seen_at",
                "live_offer_ids",
                "manufacturer",
                "material",
                "model",
                "monthly_sold",
                "monthly_sold_history",
                "new_fba_offer_count",
                "new_fba_offer_count_history",
                "new_fba_offer_count_seen_at",
                "new_fba_price",
                "new_fba_price_history",
                "new_fba_price_seen_at",
                "new_fbm_offer_count",
                "new_fbm_offer_count_history",
                "new_fbm_offer_count_seen_at",
                "new_fbm_price",
                "new_fbm_price_history",
                "new_fbm_price_seen_at",
                "new_offer_count",
                "new_offer_count_history",
                "new_offer_count_seen_at",
                "new_price",
                "new_price_history",
                "new_price_is_map",
                "new_price_seen_at",
                "offer_count_fba",
                "offer_count_fbm",
                "offer_update_count",
                "offers",
                "offers_successful",
                "out_of_stock_count_amazon30",
                "out_of_stock_count_amazon90",
                "parent_asin",
                "parent_asin_history",
                "part_number",
                "pattern",
                "prime_exclusive_price",
                "prime_exclusive_price_history",
                "product_group",
                "product_type",
                "product_url",
                "rating",
                "rating_count",
                "rating_count_history",
                "rating_count_seen_at",
                "rating_history",
                "rating_seen_at",
                "refurbished_offer_count",
                "refurbished_offer_count_history",
                "refurbished_offer_count_seen_at",
                "refurbished_price",
                "refurbished_price_history",
                "refurbished_price_seen_at",
                "refurbished_shipping_price",
                "refurbished_shipping_price_history",
                "rent_price",
                "rent_price_history",
                "retrieved_offer_count",
                "review_count",
                "reviews",
                "sales_rank_drops180",
                "sales_rank_drops30",
                "sales_rank_drops365",
                "sales_rank_drops90",
                "sales_rank_reference",
                "sales_rank_reference_history",
                "sales_ranks",
                "scent",
                "seller_ids_lowest_fba",
                "seller_ids_lowest_fbm",
                "size",
                "statistics",
                "stock_amazon",
                "stock_buybox",
                "stock_per_condition3rd_fba",
                "stock_per_condition_fbm",
                "style",
                "title",
                "total_offer_count",
                "trade_in_history",
                "trade_in_price",
                "trend",
                "used_acceptable_price",
                "used_acceptable_price_history",
                "used_good_price",
                "used_good_price_history",
                "used_like_new_price",
                "used_like_new_price_history",
                "used_offer_count",
                "used_offer_count_history",
                "used_offer_count_seen_at",
                "used_price",
                "used_price_history",
                "used_price_seen_at",
                "used_very_good_price",
                "used_very_good_price_history",
                "warehouse_price",
                "warehouse_price_history",
                "warehouse_price_seen_at"
              ]
            },
            "default": []
          },
          "raw_output": {
            "title": "Keepa field names",
            "type": "boolean",
            "description": "Off (default): readable field names, prices in currency units and history arrays turned into dated points. On: Keepa's own field names and packed arrays, for pipelines already built on Keepa's API. Add-ons that are switched off stay out either way. data_captured_at and data_type are added in both modes.",
            "default": false
          },
          "include_offers_sellers": {
            "title": "Add offers, sellers and stock (paid add-on)",
            "type": "boolean",
            "description": "On (default): each product row also gets the live offers (up to 40 per product) with seller IDs, condition, FBA/Prime flags, price, shipping and stock, plus offer counts and seller lists. Billed as one extra event per product that came back with offers. Buy Box price, Buy Box seller and offer statistics are in every row whether this is on or off.",
            "default": true
          },
          "include_price_history": {
            "title": "Add full price history (paid add-on)",
            "type": "boolean",
            "description": "On (default): each product row also gets dated price series for Amazon, New, Used, Buy Box, Warehouse, Refurbished, FBA, FBM, list price and more. Billed as one extra event per product row while this is on. Off: current prices, price statistics and the computed trend are still in every row.",
            "default": true
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed and not used: the actor talks to Keepa's API directly. The field stays so saved inputs and tasks that include it keep working."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}