# VK Market Search Scraper 🛍️ (`easyapi/vk-market-search-scraper`)

Scrape VK.com marketplace listings with advanced search capabilities. Extract detailed product information including prices, descriptions, images and seller details from VK Market search results.

- **URL**: https://beta-securitybyobscurity.apify.com/easyapi/vk-market-search-scraper.md
- **Developed by:** [EasyApi](https://beta-securitybyobscurity.apify.com/easyapi) (community)
- **Categories:** Social media, Integrations
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

## VK Market Search Scraper 🛍️

Extract product listings and detailed information from VK.com marketplace search results. Perfect for market research, price monitoring, and competitive analysis.

### Features ✨

- 🔍 Search products by keywords
- 📦 Extract comprehensive product details including:
  - Product title and description
  - Pricing information with currency
  - Category and subcategory
  - High-quality product images
  - Seller information
  - Product ratings and metadata
- ⚡ Fast and efficient scraping with built-in scrolling
- 🛡️ Advanced anti-detection mechanisms
- 💾 Structured JSON output
- ⚙️ Configurable maximum items limit

### Use Cases 🎯

- Market research and analysis
- Price monitoring and comparison
- Product availability tracking
- Competitive intelligence
- Data aggregation for e-commerce platforms

### Input Parameters 📝

- `keywords`: Array of search terms to scrape products for
- `maxItems`: Maximum number of items to scrape

### Output 📊

The actor provides detailed product information in JSON format, including:

- Product ID and title
- Detailed description
- Price with currency information
- Category hierarchy
- High-resolution images and thumbnails
- Product metadata (availability, market URL, etc.)
- Timestamp of when the data was scraped

### Tips 💡

- Use specific keywords for better results
- Adjust maxItems based on your needs
- Consider rate limits and fair usage

Need help? Feel free to reach out through Apify's support channels! 🤝

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "keywords": [
        "bike"
    ],
    "maxItems": 20
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "keyword": "bike",
        "item": {
            "id": 10873591,
            "owner_id": -228070959,
            "title": "Руль Code bikes keeper 9.5",
            "description": "Руль Code Bikes Keeper\nПодъём 9.5\nС термообработкой\nЗагиб назад:12°\nЗагиб вверх:1°\nВес:970 г \nРуль пилен на 3.5 см с каждой стороны, \nсостояние идеальное, есть только пару царапин",
            "price": {
                "amount": "250000",
                "currency": {
                    "id": 643,
                    "name": "RUB",
                    "symbol": "₽"
                },
                "formatted": "2,500 ₽"
            },
            "category": {
                "id": 41741,
                "name": "BMX, stunt",
                "parent": {
                    "id": 30409,
                    "name": "Bicycles"
                }
            },
            "images": {
                "main": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.231,0,0.537,1&size=0x400&quality=95&sign=9743b249a872eeaa3bc9cd8d36d3730c&c_uniq_tag=_lD5RPm30lYN43gsyHo8SMHOZqp9-PaE4RxWdRmQxJw",
                "thumbnails": [
                    {
                        "url": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.231,0,0.537,1&size=0x90&quality=95&sign=af731945f8617d4663d44c4f4e2c5d79&c_uniq_tag=IRAUYGUhNT9eB1Su-XEzLPtxAYl7c-KVixv9wN6nd7I",
                        "width": 90,
                        "height": 90
                    },
                    {
                        "url": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.231,0,0.537,1&size=0x180&quality=95&sign=11d90bdbbb1578408ff6a99ad9000be8&c_uniq_tag=c9E3IvvfKxWgMyBMFrLUgUq-blSxwhzFoO1DwAZPup8",
                        "width": 180,
                        "height": 180
                    },
                    {
                        "url": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.231,0,0.537,1&size=0x360&quality=95&sign=b43409a685f143ee6da316deff0cf92a&c_uniq_tag=KK0nlx68ZCeQ2zXuxNdDOLHbU-2svh_giLeA-0RtEjo",
                        "width": 360,
                        "height": 360
                    },
                    {
                        "url": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.231,0,0.537,1&size=0x480&quality=95&sign=eaf3cba8791b811e3024cdec8fe7067d&c_uniq_tag=_sh1TOgqNxwKVKQHm-rVlHPKdRnVTzTIZJHVeXmQ39Y",
                        "width": 480,
                        "height": 480
                    },
                    {
                        "url": "https://sun6-23.userapi.com/impg/qlQFQKdJP_ngX12cgvQVKFVHlDpdipwo78Zosw/s7LBxuPgsD4.jpg?crop=0.204,0,0.593,1&size=0x580&quality=95&sign=0b8b46ca94f493c7cea659e041b2a95d&c_uniq_tag=ioSb_u5PsnU-aBc60IANVFjkAFe8iyo6VPW3Z8X5Ffc",
                        "width": 640,
                        "height": 640
                    }
                ]
            },
            "rating": {},
            "metadata": {
                "availability": 0,
                "is_adult": false,
                "market_url": "https://vk.com/market/product/rul-code-bikes-keeper-95-228070959-10873591",
                "seo_slug": "rul-code-bikes-keeper-95"
            }
        },
        "scrapedAt": "2025-01-18T13:02:05.120Z"
    },
    ...
]
```

### Related Actors

- 🛍️ [VK Groups Scraper](https://apify.com/easyapi/vk-groups-scraper) - Extract detailed group information from VK social network based on keywords
- 🔍 [VK People Scraper](https://apify.com/easyapi/vk-people-scraper) - Scrape user profiles from VK social network with comprehensive data
- 🎥 [VK Video Scraper](https://apify.com/easyapi/vk-video-scraper) - Extract video search results from VK with detailed metadata
- 🎮 [VK Games Search Scraper](https://apify.com/easyapi/vk-games-search-scraper) - Scrape VK Games search results with comprehensive game information
- 🎥 [VK Clips Search Scraper](https://apify.com/easyapi/vk-clips-search-scraper) - Extract short videos from VK Clips Search with rich metadata
- 🎥 [VK Videos Search Scraper](https://apify.com/easyapi/vk-videos-search-scraper) - Get video data from VK.com search results with advanced filtering
- 🛍️ [Meesho Product Search Scraper](https://apify.com/easyapi/meesho-product-search-scraper) - Scrape product listings from Meesho search results
- 🛍️ [Flipkart Product Scraper](https://apify.com/easyapi/flipkart-product-scraper) - Extract product data from Flipkart search results
- 🛍️ [Myntra Product Scraper](https://apify.com/easyapi/myntra-product-scraper) - Get detailed product information from MYNTRA's fashion marketplace
- 🛍️ [Costco Product Search Scraper](https://apify.com/easyapi/costco-product-search-scraper) - Extract product data from Costco.com search results
- 🛍️ [Hobby Lobby Products Scraper](https://apify.com/easyapi/hobby-lobby-products-scraper) - Scrape product data from Hobby Lobby's website
- 🛍️ [Lidl Product Scraper](https://apify.com/easyapi/lidl-product-scraper) - Extract product data from Lidl's online store
- 🛍️ [AJIO Product Scraper](https://apify.com/easyapi/ajio-product-scraper) - Get comprehensive product information from AJIO's fashion marketplace
- 🛍️ [Gumroad Search Scraper](https://apify.com/easyapi/gumroad-search-scraper) - Extract product listings from Gumroad with advanced filtering
- 🛍️ [Tokopedia Product Scraper](https://apify.com/easyapi/tokopedia-product-scraper) - Scrape product data from Tokopedia search results
- 🛍️ [Zara Product Scraper](https://apify.com/easyapi/zara-product-scraper) - Extract detailed product information from Zara's online store

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for on VK Market

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

Maximum number of items to scrape per keyword

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

Proxy settings for the scraper

## Actor input object example

```json
{
  "keywords": [
    "bike"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/vk-market-search-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("easyapi/vk-market-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call easyapi/vk-market-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=easyapi/vk-market-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "VK Market Search Scraper 🛍️",
        "description": "Scrape VK.com marketplace listings with advanced search capabilities. Extract detailed product information including prices, descriptions, images and seller details from VK Market search results.",
        "version": "0.0",
        "x-build-id": "e9pcbqPJZKTHLDXgk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/easyapi~vk-market-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-easyapi-vk-market-search-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/easyapi~vk-market-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-easyapi-vk-market-search-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/easyapi~vk-market-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-easyapi-vk-market-search-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": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "List of keywords to search for on VK Market",
                        "default": [
                            "bike"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum Items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of items to scrape per keyword",
                        "default": 30
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for the scraper",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "RU"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
