{
  "openapi": "3.0.1",
  "info": {
    "title": "India E-commerce Price Tracker",
    "description": "Track non-personal product prices, discounts, ratings, images, stock status, and URLs across major Indian e-commerce marketplaces for price monitoring and market research.",
    "version": "1.0",
    "x-build-id": "ajZ6Zcx3mMpWpbchN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fascinating_lentil~india-ecommerce-price-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fascinating_lentil-india-ecommerce-price-tracker",
        "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/fascinating_lentil~india-ecommerce-price-tracker/runs": {
      "post": {
        "operationId": "runs-sync-fascinating_lentil-india-ecommerce-price-tracker",
        "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/fascinating_lentil~india-ecommerce-price-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-fascinating_lentil-india-ecommerce-price-tracker",
        "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": {
          "sources": {
            "title": "Sources",
            "minItems": 1,
            "maxItems": 4,
            "uniqueItems": true,
            "type": "array",
            "description": "Indian e-commerce sources to query. Each source is isolated; blocked sources are skipped without failing the full run. HTTP sources try direct access first and use the configured proxy only as a fallback.",
            "items": {
              "type": "string",
              "enum": [
                "flipkart",
                "myntra",
                "bigbasket",
                "meesho"
              ],
              "enumTitles": [
                "Flipkart",
                "Myntra",
                "BigBasket",
                "Meesho"
              ]
            },
            "default": [
              "bigbasket"
            ]
          },
          "targetProducts": {
            "title": "Products to compare",
            "minItems": 1,
            "maxItems": 5,
            "type": "array",
            "description": "Optional structured targets for cross-store discovery and matching. Add up to five products. The Actor searches for each target, scores candidate listings, and explains the confidence. When omitted, Search queries remain available for broad discovery.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "title": "Product name",
                  "type": "string",
                  "description": "The product family or exact listing to discover, such as Amul Gold Full Cream Milk.",
                  "editor": "textfield",
                  "minLength": 2,
                  "maxLength": 200
                },
                "brand": {
                  "title": "Brand",
                  "type": "string",
                  "description": "Optional expected brand. A conflicting known brand lowers confidence.",
                  "editor": "textfield",
                  "maxLength": 100
                },
                "packSize": {
                  "title": "Pack size",
                  "type": "string",
                  "description": "Optional comparable quantity, such as 1 L, 500 g, or 2 x 200 ml.",
                  "editor": "textfield",
                  "maxLength": 100
                },
                "variant": {
                  "title": "Variant / model",
                  "type": "string",
                  "description": "Optional distinguishing words such as Gold Full Cream, Toned, 128 GB, or Blue.",
                  "editor": "textfield",
                  "maxLength": 100
                }
              },
              "required": [
                "name"
              ],
              "additionalProperties": false
            }
          },
          "searchQueries": {
            "title": "Search queries",
            "maxItems": 10,
            "uniqueItems": true,
            "type": "array",
            "description": "Broad discovery mode for keywords such as milk, kurti, skincare, or wireless earbuds. Ignored when Products to compare is supplied.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "default": [
              "milk"
            ]
          },
          "city": {
            "title": "City / location name",
            "minLength": 1,
            "maxLength": 100,
            "type": "string",
            "description": "Used for location-aware BigBasket results.",
            "default": "Mumbai"
          },
          "latitude": {
            "title": "Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Latitude for location-aware sources.",
            "default": 19.076
          },
          "longitude": {
            "title": "Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Longitude for location-aware sources.",
            "default": 72.8777
          },
          "brands": {
            "title": "Brand filter",
            "maxItems": 20,
            "uniqueItems": true,
            "type": "array",
            "description": "Optional exact brand filters for competitor/product matching. Leave empty to keep all brands.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "number",
            "description": "Minimum product price to keep.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "number",
            "description": "Maximum product price to keep.",
            "default": 1000000
          },
          "inStockOnly": {
            "title": "In-stock only",
            "type": "boolean",
            "description": "Keep only products clearly marked as in stock.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum product records",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum clean product records to save across all selected sources. Keep 1 for the first run, use 5-20 for small price-intelligence reports, and increase only for deliberate category monitoring.",
            "default": 1
          },
          "maxPagesPerQuery": {
            "title": "Maximum pages per query",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Limits pagination or scroll payloads per source/query. Keep at 1 for cheap validation and agent calls.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Fallback proxy settings. Sources try direct access first to reduce run cost, then use this proxy after a block or request failure.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "IN"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}