# Lenskart Scraper: Eyewear Prices, Specs & Variants (`getascraper/lenskart-scraper`) Actor

Download Lenskart's complete eyewear catalog: prices, discounts, frame shapes, color options, ratings, and stock levels per product. Covers India, Singapore, UAE, and US stores. Built for price tracking, competitor research, and product analysis. $4.99 per 1,000 products.

- **URL**: https://apify.com/getascraper/lenskart-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 7 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.24 / 1,000 product records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 👓 Lenskart Scraper: Eyewear Prices, Specs & Variants

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin-bottom:0">
<tr>
<td colspan="2" style="padding:10px 14px;background:#0F766E;border:none;border-top:3px solid #0F766E;border-left:1px solid #BFE4E0;border-right:1px solid #BFE4E0;color:#FFFFFF;border-radius:10px 10px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">EYEWEAR RETAIL INTELLIGENCE SUITE</span>
<span style="color:#FFFFFF;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Compare eyewear catalog, pricing, and stock data across major online opticians.</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border:none;border-left:1px solid #BFE4E0;border-bottom:1px solid #BFE4E0;vertical-align:top;width:50.0%;background:#E6F4F2;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-31IkUwoWGTqN8CLbz-boUlbyuXBm-images_%2810%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/lenskart-scraper" style="color:#0F766E;text-decoration:none;font-weight:700;font-size:13px">Lenskart Scraper</a></span><br>
<span style="color:#0F766E;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td style="padding:10px 12px;border:none;border-left:1px solid #BFE4E0;border-right:1px solid #BFE4E0;border-bottom:1px solid #BFE4E0;vertical-align:top;width:50.0%;background:#FFFFFF;color:#1C1917">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-2XQ02br8oPwlZjU1m-Z48OHeN2XJ-images_%287%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/edel-optics-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Edel Optics Scraper</a></span><br>
<span style="color:#57534E;font-size:11px">Catalog, prices, and specifications</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#E6F4F2;border:1px solid #BFE4E0;border-top:none;color:#1C1917">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Lenskart's full eyewear catalog, without the manual clicking.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Get flat, ready-to-use rows of prices, discounts, stock, and frame specs across India, Singapore, UAE, and US stores.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE4E0;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#0F766E">💸 Price and discount</span><br>
<span style="font-size:12px;color:#57534E">Current price, market price, and discount percent on every row.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE4E0;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0F766E">🌍 Four storefronts</span><br>
<span style="font-size:12px;color:#57534E">Compare India, Singapore, UAE, and US pricing in one run.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE4E0;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0F766E">📐 Frame specifications</span><br>
<span style="font-size:12px;color:#57534E">Shape, material, size, and millimeter measurements per variant.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE4E0;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#0F766E">📦 Live stock levels</span><br>
<span style="font-size:12px;color:#57534E">In-stock status and unit counts for every color variant.</span>
</td>
</tr>
</table>

**Get Lenskart's complete eyewear catalog in minutes, with nothing to install or build.** Download prices, discounts, frame shapes, color options, stock levels, and ratings for every product across India, Singapore, UAE, and US stores. The only dedicated Lenskart scraper on the Apify Store. The first 50 results of every run are free, with pricing set at $4.99 per 1,000 products.

***

### 💡 Why use Lenskart Scraper

- **Track prices and discounts**: Monitor how Lenskart prices its in-house brands (John Jacobs, Vincent Chase) against third-party labels. Catch discount changes on specific models the moment they happen.
- **Build a product catalog**: Download every frame in a category with colors, sizes, and specifications in one spreadsheet. Use it for competitor benchmarking or internal product research.
- **Find in-stock products**: Filter to only products currently available. Spot restocks on popular models before they sell out again.
- **Compare markets**: Pull the same category across India, Singapore, UAE, and the US to see how prices, discounts, and product selection differ by region.
- **Research for virtual try-on and AI projects**: Each product includes 3D model download links and precise frame measurements for building virtual eyewear experiences or training datasets.

***

### 🚀 How to use Lenskart Scraper

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#E6F4F2;border:1px solid #BFE4E0;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick a category</span><br>
<span style="font-size:12px;color:#57534E">Select Eyeglasses or Contact Lenses, or enter a numeric category ID.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#E6F4F2;border:1px solid #BFE4E0;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set your filters</span><br>
<span style="font-size:12px;color:#57534E">Narrow by brand, gender, frame shape, price range, or rating.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#E6F4F2;border:1px solid #BFE4E0;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export your results</span><br>
<span style="font-size:12px;color:#57534E">Download as Excel, CSV, JSON, or HTML from the Output tab.</span>
</td>
</tr>
</table>

***

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | :---: | --- |
| `category` | enum | No | Category to scrape: Eyeglasses or Contact Lenses. Defaults to Eyeglasses. |
| `categoryId` | integer | No | Numeric Lenskart category ID. Use this for sunglasses, kids frames, or any category not listed above. |
| `brand` | string | No | Keep only products from a specific brand, for example: `Ray-Ban`, `John Jacobs`, `Oakley`. |
| `gender` | enum | No | Filter by audience: Men, Women, Kids, or Unisex. |
| `frameShape` | string | No | Filter to a specific shape, for example: `Aviator`, `Round`, `Cat Eye`. |
| `frameMaterial` | string | No | Filter to a specific material, for example: `Acetate`, `TR90`, `Metal`. |
| `frameSize` | enum | No | Filter by size: Extra Narrow, Narrow, Medium, Wide, or Extra Wide. |
| `minPrice` | integer | No | Keep only products at or above this price in the selected currency. |
| `maxPrice` | integer | No | Keep only products at or below this price. |
| `minRating` | integer | No | Keep only products with an average rating of this value or above, from 0 to 5. |
| `inStockOnly` | boolean | No | Keep only products currently in stock. Default: off. |
| `maxItems` | integer | No | Maximum number of products to collect. Default: 20. Maximum: 50,000. |
| `country` | enum | No | Store to use: India (INR), Singapore (SGD), UAE (AED), or United States (USD). Default: India. |
| `scrapeProductDetails` | boolean | No | Collect full frame measurements and specifications per product. Default: on. Turn off for a faster run with pricing data only. |
| `dedupeByModel` | boolean | No | Show one row per model instead of one row per color option. Default: off. |
| `proxyConfiguration` | object | No | Connection settings. The default shared proxy is sufficient for this scraper. |

***

### 📤 Output

Each row in your dataset is one color variant of a product. All fields are flat with no nested data, so the file opens cleanly in any spreadsheet program.

Here is a realistic example of an output row:

```json
{
  "productId": "224845",
  "url": "https://www.lenskart.com/john-jacobs-jj-e11686-c6-eyeglasses.html",
  "brand": "John Jacobs",
  "isInhouseBrand": true,
  "modelName": "JJ E11686",
  "title": "John Jacobs JJ E11686 C6",
  "gender": "men",
  "category": "Eyeglasses",
  "price": 3000,
  "lenskartPrice": 3000,
  "marketPrice": 5000,
  "discountPct": 40,
  "currency": "INR",
  "availability": "InStock",
  "inStock": true,
  "qty": 12,
  "frameColor": "Black",
  "colorCode": "C6",
  "colorHex": "#1a1a1a",
  "frameShape": "Aviator",
  "frameSize": "Medium",
  "frameType": "Full Rim",
  "frameMaterial": "Stainless Steel",
  "lensWidthMm": 53,
  "bridgeMm": 15,
  "templeMm": 145,
  "frameWeightGm": 22,
  "rating": 4.5,
  "reviewCount": 128,
  "imagePrimary": "https://static5.lenskart.com/media/catalog/product/...",
  "arModelAndroidUrl": "https://static5.lenskart.com/3d-assets/jj-e11686-c6.glb",
  "salesLabel": "with Free BLU lenses",
  "scrapedAt": "2026-06-21T10:00:00.000Z"
}
```

***

### 📋 Data table

| Field | Type | Description |
| --- | :---: | --- |
| `productId` | string | Unique product variant ID from Lenskart's catalog. |
| `url` | string | Direct link to the product page. |
| `brand` | string | Brand name, for example: John Jacobs, Ray-Ban, Oakley. |
| `isInhouseBrand` | boolean | True for Lenskart's own brands: John Jacobs, Vincent Chase, Lenskart Air, Hustlr. |
| `modelName` | string | Model identifier, for example: JJ E11686. |
| `title` | string | Full display name including color variant. |
| `gender` | string | Target audience: men, women, kids, or unisex. |
| `category` | string | Product category: Eyeglasses or Contact Lenses. |
| `price` | number | Current selling price. |
| `lenskartPrice` | number | Lenskart's listed price before any sale. |
| `marketPrice` | number | Original full retail price shown as the crossed-out price. |
| `discountPct` | number | Discount percentage off the retail price. |
| `currency` | string | Currency code, for example: INR, USD, SGD. |
| `availability` | string | Stock status: InStock or OutOfStock. |
| `inStock` | boolean | True when the variant is available to buy. |
| `qty` | number | Number of units in stock. |
| `frameColor` | string | Frame color name, for example: Black, Gold, Tortoise. |
| `colorCode` | string | Lenskart's internal color code, for example: C6. |
| `colorHex` | string | Hex color value, for example: #1a1a1a. |
| `frameShape` | string | Shape: Aviator, Round, Wayfarer, Rectangle, Cat Eye. |
| `frameSize` | string | Size label: Small, Medium, Large. |
| `frameType` | string | Rim design: Full Rim, Half Rim, or Rimless. |
| `frameMaterial` | string | Material: Stainless Steel, TR90, Acetate. |
| `lensWidthMm` | number | Lens width in millimeters. |
| `lensHeightMm` | number | Lens height in millimeters. |
| `bridgeMm` | number | Bridge width in millimeters. |
| `templeMm` | number | Temple arm length in millimeters. |
| `frameWidthMm` | number | Total frame width in millimeters. |
| `frameWeightGm` | number | Frame weight in grams. |
| `prescriptionType` | string | Prescription capability, for example: Single Vision, Progressive. |
| `rating` | number | Average customer rating out of 5. |
| `reviewCount` | number | Total number of customer reviews. |
| `imagePrimary` | string | Main product image URL. |
| `arModelAndroidUrl` | string | 3D model download link for Android. |
| `arModelIosUrl` | string | 3D model download link for iPhone and iPad. |
| `salesLabel` | string | Promotional badge text, for example: with Free BLU lenses. |
| `scrapedAt` | string | Timestamp of when this record was collected. |

***

### 💰 Pricing

**$4.99 per 1,000 products. The first 50 results of every run are completely free.** No monthly subscriptions and no minimum commits.

The scraper reads data directly from Lenskart's product catalog without launching a browser. This keeps compute costs near zero. A full category of 3,000 eyeglasses completes with minimal overhead, so you pay almost nothing beyond the per-record fee.

***

### ⭐ Enjoying Lenskart Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#E6F4F2;border:1px solid #E6F4F2;border-left:5px solid #0F766E;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">If this is saving you hours of manually tracking Lenskart's frame prices and stock, tell us about it.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other catalog builders and price researchers find this Actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0F766E;border:1px solid #0F766E;border-left:5px solid #0F766E;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#FFFFFF">
<a href="https://apify.com/getascraper/lenskart-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

***

### ✨ Tips and optimization

- **Start with a small run**: Set Max products to 100 first to check the output format and field availability before running the full catalog.
- **Use One row per model for catalog overviews**: Enable the deduplication option to reduce your dataset by 60 to 70 percent when you need model-level data rather than per-color data.
- **Schedule for daily price monitoring**: Set up a daily run and compare the `price` and `discountPct` columns between runs to catch price changes the moment they happen.
- **Switch country for multi-market research**: Run the same category with India, UAE, and US selected to see how pricing and catalog selection differ across markets.
- **Use Category ID for full control**: To scrape sunglasses or kids frames, leave Category blank and enter the numeric Category ID instead. Find it in the URL of any Lenskart category page.

***

### ❓ FAQ

**Is it legal to collect this data?**
This scraper collects publicly visible product and pricing data that anyone can see on Lenskart.com without an account. You are responsible for ensuring your use complies with Lenskart's terms of service and applicable laws.

**Why are some measurement fields empty?**
Frame measurements come from the individual product detail pages. If you turn off Fetch full specifications, those fields will be empty. They are filled in by default.

**What does One row per model do?**
By default, each color option for a model gets its own row. Enabling this option collapses all color variants into a single row so you see one entry per model. Useful for counting distinct models rather than total variants.

**Can I scrape sunglasses or kids frames?**
Yes. Leave the Category field empty and enter the numeric Category ID for the category you want. Open any Lenskart category page and find the ID in the page URL.

***

### 🛡️ Disclaimers and support

- **Disclaimer**: This scraper retrieves publicly available product catalog data from Lenskart.com. It is not affiliated with, endorsed by, or sponsored by Lenskart. Ensure your use complies with applicable laws and the site's terms of service.
- **Support**: For bug reports, missing fields, or feature requests, open a ticket under the **Issues** tab.

### 🔗 Other actors

- [Edel Optics Scraper](https://apify.com/getascraper/edel-optics-scraper) ↗ - extracts eyewear catalog, prices, and specifications from Edel Optics.
- [DSW Scraper](https://apify.com/getascraper/dsw-scraper) ↗ - pulls footwear prices, colors, sizes, and images from DSW.
- [Coolblue Scraper](https://apify.com/getascraper/coolblue-scraper) ↗ - collects products, prices, ratings, and stock from Coolblue.
- [de Bijenkorf scraper](https://apify.com/getascraper/debijenkorf-scraper) ↗ - gathers product listings and pricing from de Bijenkorf.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/lenskart-scraper/changelog.md

# Actor input Schema

## `category` (type: `string`):

Common Lenskart category to scrape. For any category not listed here, leave this empty and use Category ID instead.

## `categoryId` (type: `integer`):

Numeric Lenskart category id. Overrides Category. Use this to scrape any category: open a Lenskart category page, the id is in its page data (e.g. 3363 = Eyeglasses, 30531 = Contact Lenses).

## `brand` (type: `string`):

Keep only products whose brand contains this text, e.g. Ray-Ban, John Jacobs, Vincent Chase, Oakley.

## `gender` (type: `string`):

Keep only products for this audience. Men and Women also include Unisex frames.

## `frameShape` (type: `string`):

Keep only this frame shape, e.g. Aviator, Round, Square, Wayfarer, Cat Eye. Turns on full specifications automatically.

## `frameMaterial` (type: `string`):

Keep only this frame material, e.g. Acetate, TR90, Metal, Stainless Steel. Turns on full specifications automatically.

## `frameSize` (type: `string`):

Keep only this frame size: Extra Narrow, Narrow, Medium, Wide, Extra Wide.

## `minPrice` (type: `integer`):

Keep only products with an effective price at or above this value (in the selected currency).

## `maxPrice` (type: `integer`):

Keep only products with an effective price at or below this value.

## `minRating` (type: `integer`):

Keep only products with an average rating at or above this value (0 to 5).

## `inStockOnly` (type: `boolean`):

Keep only products that are currently in stock.

## `maxItems` (type: `integer`):

Maximum number of products to collect. The prefilled quick run collects 20. The full catalog of a category can be several thousand items, so raise this when you want more.

## `country` (type: `string`):

Storefront country (sets currency and catalog). India has the largest catalog.

## `scrapeProductDetails` (type: `boolean`):

Fetch each product's detail to fill frame shape, material, rim type, lens dimensions, weight and more. On by default. Turn off for a faster, lighter run with listing fields only (price, brand, model, color, size, rating). For very large runs (thousands of products), turn this off to finish faster.

## `dedupeByModel` (type: `boolean`):

Collapse color variants so each model appears once. Off by default (each color variant is its own row).

## `proxyConfiguration` (type: `object`):

Defaults to Apify shared datacenter proxy, which is all this actor needs. The Lenskart API sets locale by parameter, not by IP, so residential proxies are not required.

## `debugLogging` (type: `boolean`):

Enable verbose debug logs.

## Actor input object example

```json
{
  "category": "eyeglasses",
  "inStockOnly": false,
  "maxItems": 20,
  "country": "IN",
  "scrapeProductDetails": true,
  "dedupeByModel": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  },
  "debugLogging": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "category": "eyeglasses",
    "inStockOnly": false,
    "maxItems": 20,
    "country": "IN",
    "scrapeProductDetails": true,
    "dedupeByModel": false,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    },
    "debugLogging": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/lenskart-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "category": "eyeglasses",
    "inStockOnly": False,
    "maxItems": 20,
    "country": "IN",
    "scrapeProductDetails": True,
    "dedupeByModel": False,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
    "debugLogging": False,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/lenskart-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "category": "eyeglasses",
  "inStockOnly": false,
  "maxItems": 20,
  "country": "IN",
  "scrapeProductDetails": true,
  "dedupeByModel": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  },
  "debugLogging": false
}' |
apify call getascraper/lenskart-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/lenskart-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/31IkUwoWGTqN8CLbz/builds/ynhP4a482l8CVIkyo/openapi.json
