{
  "openapi": "3.0.1",
  "info": {
    "title": "Flipkart Scraper: Products, Prices, Sellers",
    "description": "Scrape Flipkart, no login: search words, categories, links or product ids, with organic or sponsored rank. Price, MRP, discount, rating, stock, F-Assured; add specs, variants, bank offers, every seller, pincode delivery, reviews, seller leads. JSON, CSV, Excel, API, schedules; billed per product.",
    "version": "0.1",
    "x-build-id": "ok8MsFkqQ9ePeh21W"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~flipkart-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-flipkart-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/automation_craft~flipkart-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-flipkart-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/automation_craft~flipkart-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-flipkart-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",
        "properties": {
          "searchTerms": {
            "title": "Search words",
            "type": "array",
            "description": "Words to search on Flipkart, one search per entry (smartphone, running shoes, atta 5 kg). Each search delivers up to Max products per search, in Flipkart's own order. When Flipkart does not recognise the words and shows unrelated products instead (a made up word), that search delivers nothing and is not charged; a free status row says so.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Flipkart links",
            "type": "array",
            "description": "Links copied from flipkart.com: a search page (https://www.flipkart.com/search?q=running+shoes), a category or brand page (https://www.flipkart.com/mobiles/pr?sid=tyy,4io; its filters, price range and sort are kept unless you set your own below, and its price, brand, rating and F-Assured filters are checked on every row), a product page (https://www.flipkart.com/.../p/itm...?pid=...) or a product's reviews page (the product is delivered with its reviews in that page's order and filters, charged per review). You can also link a .txt or .csv file or a Google Sheet that lists such links or product ids (a .csv file or a Sheet is read cell by cell, any other file line by line). Every filter below is checked on product pages too.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "Product ids",
            "type": "array",
            "description": "Flipkart product ids: the pid= part of a product link, as in MOBHNJ8FRCKPXUAS (books often use their 13 digit ISBN). Each is read from its product page. An id Flipkart does not have gets a free status row.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "mobiles",
              "tablets",
              "laptops",
              "monitors",
              "televisions",
              "cameras",
              "headphones",
              "speakers",
              "smart_watches",
              "power_banks",
              "refrigerators",
              "washing_machines",
              "air_conditioners",
              "mixer_grinders",
              "beds",
              "men_tshirts",
              "men_shirts",
              "men_jeans",
              "women_kurtas",
              "sarees",
              "mens_footwear",
              "womens_footwear",
              "watches",
              "backpacks",
              "skin_care",
              "toys",
              "books"
            ],
            "type": "string",
            "description": "One common Flipkart category to read page by page (any other category or brand page can be pasted as a link above)."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "relevance",
              "popularity",
              "price_low_to_high",
              "price_high_to_low",
              "newest",
              "discount"
            ],
            "type": "string",
            "description": "Flipkart's own order of the results: relevance (searches only), popularity, price low to high, price high to low, newest first, or discount (where Flipkart offers it: electronics and appliances, not most fashion; elsewhere the search stops with a free row). Left out, Flipkart's default order. Flipkart sorts by its own index, so a few rows can sit out of the order their shown price or discount suggests; on 2026-10-20 it showed no sponsored products under the price and newest orders and some under popularity and discount."
          },
          "minPrice": {
            "title": "Minimum price (rupees)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products at this selling price or above, in whole rupees."
          },
          "maxPrice": {
            "title": "Maximum price (rupees)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only products at this selling price or below, in whole rupees."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at least this many stars (0 to 5, for example 4 or 4.2). At exactly 3 or 4 Flipkart's own rating filter is used as well, and an organic product with no rating on its card (most fashion grids) passes on that filter. Otherwise a product with no rating yet does not pass."
          },
          "minDiscount": {
            "title": "Minimum discount (percent)",
            "minimum": 1,
            "maximum": 95,
            "type": "integer",
            "description": "Only products discounted at least this much off their MRP, in whole percent."
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Only these brands, written as Flipkart lists them in its brand filter (Samsung, Apple, PUMA). Several brands match any of them.",
            "items": {
              "type": "string"
            }
          },
          "genders": {
            "title": "Gender",
            "type": "array",
            "description": "Only products for these groups (Flipkart's own Gender filter, on fashion and footwear pages). Several values match any of them.",
            "items": {
              "type": "string",
              "enum": [
                "men",
                "women",
                "boys",
                "girls",
                "unisex"
              ],
              "enumTitles": [
                "Men",
                "Women",
                "Boys",
                "Girls",
                "Unisex"
              ]
            }
          },
          "colours": {
            "title": "Colours",
            "type": "array",
            "description": "Only these colours, written as Flipkart lists them in its Color filter (Black, Navy Blue).",
            "items": {
              "type": "string"
            }
          },
          "flipkartAssuredOnly": {
            "title": "F-Assured only",
            "type": "boolean",
            "description": "Only products carrying Flipkart's F-Assured badge.",
            "default": false
          },
          "inStockOnly": {
            "title": "In stock only",
            "type": "boolean",
            "description": "Only products Flipkart shows as in stock and buyable.",
            "default": false
          },
          "includeWords": {
            "title": "Words the title must contain",
            "type": "array",
            "description": "Only products whose title holds every one of these words or phrases (whole words, any case).",
            "items": {
              "type": "string"
            }
          },
          "excludeWords": {
            "title": "Words the title must not contain",
            "type": "array",
            "description": "Leave out products whose title holds any of these words or phrases (whole words, any case).",
            "items": {
              "type": "string"
            }
          },
          "includeSponsored": {
            "title": "Include sponsored products",
            "type": "boolean",
            "description": "Also deliver the sponsored (ad) products Flipkart mixes into the results, flagged isSponsored with their rank among the sponsored slots. Off: only the organic results are delivered, each with its organic rank; the sponsored slots are still counted on the coverage row.",
            "default": false
          },
          "acceptSpellingCorrections": {
            "title": "Accept Flipkart's spelling corrections",
            "type": "boolean",
            "description": "When Flipkart corrects the spelling of a search (samsng mobil to samsung mobile), deliver its results; the coverage row names the words Flipkart searched for. Off: such a search delivers nothing and is not charged.",
            "default": true
          },
          "maxItemsPerSearch": {
            "title": "Max products per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The most products one search, category or listing link delivers (1 to 1,000). Flipkart shows at most 1,000 product slots per search, sponsored included; split a bigger search by price or brand."
          },
          "maxItems": {
            "title": "Max products in all",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most products the whole run delivers, across every search and link. Left out: no limit beyond the per search one."
          },
          "startPage": {
            "title": "Start page",
            "minimum": 1,
            "maximum": 41,
            "type": "integer",
            "description": "The result page each search starts at (1 to 41). Pages before it are not read."
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 41,
            "type": "integer",
            "description": "The most result pages each search reads (1 to 41; a page holds 24 or 40 products)."
          },
          "includeDetails": {
            "title": "Product details",
            "type": "boolean",
            "description": "Read each delivered product's own page and add its details: every specification group, highlights, description, all images, each variant (colour, size, storage) with its own product id, the seller with rating, years on Flipkart and scores, bank offers and the price after offers, delivery text and days, warranty, return policy, cash on delivery, country of origin, manufacturer, importer and packer. Charged as one Product detail per product.",
            "default": false
          },
          "includeAllSellers": {
            "title": "Every seller of a product",
            "type": "boolean",
            "description": "With Product details: also list every seller offering the product, with price, MRP, rating, F-Assured, delivery, shipping fee, return policy, offers and the seller's profile (business name, pickup city, quality and speed scores, units sold, on Flipkart since). Included in the Product detail charge.",
            "default": false
          },
          "pincode": {
            "title": "Delivery pincode",
            "type": "string",
            "description": "With Product details: a six digit Indian pincode; each product gets its delivery date and availability for that pincode, and every seller its own delivery date when Every seller is on."
          },
          "includeReviews": {
            "title": "Buyer reviews",
            "type": "boolean",
            "description": "Add each delivered product's buyer reviews as their own rows: rating, title, text, reviewer name, city, certified buyer, votes, photos, the variant reviewed and the date Flipkart shows. Charged per review.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The most reviews delivered per product (1 to 1,000). Flipkart lets about ten full pages of ten reviews be read per order, then thinner pages; choose All orders to reach more (a test run read 735 reviews of three products this way)."
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "most_helpful",
              "newest",
              "positive_first",
              "negative_first",
              "all"
            ],
            "type": "string",
            "description": "Which reviews come first: most helpful, newest, positive first, negative first, or all four orders one after the other (each review delivered once). Left empty: most helpful, or the order of a pasted reviews page."
          },
          "includeSellerLeads": {
            "title": "Seller leads",
            "type": "boolean",
            "description": "With Product details: also deliver one row per seller met through the run's products, with rating, years on Flipkart, scores, business name, description, pickup city, state and pincode, quality and speed scores, units listed and sold, the brands and categories it was seen selling and sample product links (the registered name and the pickup street with Personal data). Charged per seller row.",
            "default": false
          },
          "includePersonalData": {
            "title": "Personal data",
            "type": "boolean",
            "description": "Also deliver the fields that can name or locate a private person: a seller's registered name (often its proprietor's own name) and its pickup street address, on seller rows and in the seller profiles of Product details. Off, these fields are null; the business name, city, state and pincode always come. You are responsible for a lawful use of personal data, GDPR and India's DPDP Act included.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Turns on a monitor that remembers between runs. new_only: products (and reviews and sellers) delivered by an earlier run of this monitor are skipped and not charged again. changes: each watched product is delivered as a product_check row comparing price, MRP and stock with the last run (searches and categories on the card's figures; product links and ids on the product page's, the buy box seller too). Use the same name in every scheduled run."
          },
          "monitorMode": {
            "title": "Monitor mode",
            "enum": [
              "new_only",
              "changes"
            ],
            "type": "string",
            "description": "new_only (default with a monitor name) or changes (a price and stock watch of every product the inputs find)."
          },
          "resetMonitor": {
            "title": "Reset the monitor",
            "type": "boolean",
            "description": "Start the named monitor over: everything is new again in this run.",
            "default": false
          },
          "maxRequestRetries": {
            "title": "Retries per request",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How often a request Flipkart does not answer is asked again (1 to 5)."
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "How long one request may take before it is asked again on a fresh proxy session (5 to 60)."
          },
          "maxConcurrency": {
            "title": "Products read at once",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "How many products (their pages, sellers and reviews) are read at the same time, 1 to 4 (default 3). Lower it to go gently; the run paces every request to Flipkart either way."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave it as it is: the Actor uses Apify datacenter proxy sessions on networks Flipkart answers and replaces a refused one by itself. Your own proxy links are used as given (http or https, host and port; a password of at least 8 characters with letters and digits).",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}