{
  "openapi": "3.0.1",
  "info": {
    "title": "Flipkart Listings Scraper",
    "description": "Extract public Flipkart search and category listings: product titles, prices, MRP, discounts, ratings, images, availability, and source URLs. Batch queries or listing URLs in, structured listing cards out.",
    "version": "1.3",
    "x-build-id": "ii42EcavjmB2cVipu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~flipkart-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-flipkart-listings-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/khadinakbar~flipkart-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-flipkart-listings-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/khadinakbar~flipkart-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-flipkart-listings-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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Use this when you want to discover products by keyword. Each query is run on Flipkart search, such as 'wireless earbuds' or 'gaming laptop'. You may combine this with listing URLs. The actor returns listing cards only; it does not open every product page for full specifications.",
            "items": {
              "type": "string"
            }
          },
          "listingUrls": {
            "title": "Category or search URLs",
            "type": "array",
            "description": "Use this when you already have a public Flipkart search, category, browse, or collection URL. Each URL is paginated independently. Do not enter product detail URLs containing '/p/'; use the separate Flipkart Product Scraper for product-page details.",
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerInput": {
            "title": "Maximum listings per input",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Use this when you need a predictable per-query or per-URL budget. The actor stops after this many validated listings for each input. Set a lower value for quick checks and a higher value for catalog exports. Each persisted listing is billed once.",
            "default": 50
          },
          "maxTotalItems": {
            "title": "Maximum total listings",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Use this when several inputs share one run budget. This hard cap applies across all queries and listing URLs, even when their combined per-input limits would be larger. It prevents accidental over-collection and caps per-listing event charges.",
            "default": 500
          },
          "maxPagesPerInput": {
            "title": "Maximum pages per input",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Use this when you need a pagination safety limit. Flipkart typically shows roughly 24 listing cards per page, but layouts vary. The listing cap normally stops first; this setting bounds requests when cards are filtered or repeated.",
            "default": 10
          },
          "sortBy": {
            "title": "Search sort order",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "popularity",
              "newest"
            ],
            "type": "string",
            "description": "Use this when search-query order matters. This setting is applied to generated keyword searches and does not rewrite a supplied listing URL. Choose relevance for Flipkart's default ranking or a price/popularity order for monitoring workflows.",
            "default": "relevance"
          },
          "minPrice": {
            "title": "Minimum price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "Use this when you want only listing cards at or above an INR price. Filtering happens after extraction, so the source listing URL and its pagination remain unchanged. Leave empty to keep listings with any displayed price."
          },
          "maxPrice": {
            "title": "Maximum price (INR)",
            "minimum": 0,
            "type": "integer",
            "description": "Use this when you want only listing cards at or below an INR price. This is an actor-side filter rather than a promise that Flipkart's own facets use the same buckets. Leave empty to keep listings with any displayed price."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Use this when you only need products meeting a visible average-rating threshold from 0 to 5. Listings without a visible rating do not pass this filter. Leave empty to retain both rated and unrated listings."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this when you need to override the network route. Flipkart is geo-targeted and frequently challenges datacenter IPs, so this actor defaults to Apify Residential Proxy in India. Keep that default for reliable public listing access.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}