# Avito Jobs Search Scraper (`stealth_mode/avito-jobs-search-scraper`) Actor

Scrape job search results from Avito.ru — Russia's largest classifieds platform. Collect titles, salaries, locations, contacts, timestamps, and 50+ fields per listing. Perfect for recruiters, market analysts, and HR professionals targeting the Russian job market.

- **URL**: https://apify.com/stealth\_mode/avito-jobs-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Avito.ru Jobs Search Scraper: Extract Russian Job Listings at Scale

---

### What Is Avito.ru?

Avito.ru is one of Russia's largest online classifieds platforms, hosting millions of listings across categories including real estate, goods, and — notably — jobs. Its vacancies section covers a wide range of roles, from remote freelance work to full-time corporate positions across all Russian regions. Manually collecting job data from Avito at scale is impractical; the **Avito.ru Jobs Search Scraper** automates this, turning paginated search results into structured, analysis-ready datasets.

---

### Overview

The **Avito Jobs Search Scraper** processes Avito job search result pages and extracts every listing found, up to a configurable limit. It is suited for:

- **Recruiters** monitoring the Russian job market by category or region
- **HR analysts** tracking salary trends and demand by role
- **Data scientists** building labor market models from real classified data
- **Aggregator platforms** ingesting Avito listings for redistribution or comparison

The scraper handles paginated URLs, supports bulk URL input, and gracefully skips failed URLs to ensure uninterrupted batch runs.

---

### Input Format

```json
{
  "urls": [
    "https://www.avito.ru/all/vakansii/format_raboty/udalenno-ASgBAgICAUSejBW~lZED?context=...&p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Avito job search result page URLs. Supports paginated URLs (e.g., `&p=2`). Add URLs one by one or via bulk edit. |
| `max_items_per_url` | `integer` | Maximum listings to collect per URL. Default: `20`. Increase for larger datasets. |
| `ignore_url_failures` | `boolean` | If `true`, the scraper continues running when a URL fails instead of stopping the entire run. Recommended for bulk jobs. |

> **Tip:** To collect multiple pages, add each paginated URL separately (e.g., `&p=1`, `&p=2`, `&p=3`). Use search filters in the Avito UI first, then copy the resulting URL — all applied filters are encoded in the URL string.

***

### Output Format

**Sample output**

```json
{
  "id": 8059730873,
  "category_id": 111,
  "micro_category_id": 2278173,
  "location_id": 646600,
  "is_verified_item": false,
  "url_path": "/ufa/vakansii/ugc-videomeyker_dlya_tovarov_marketpleysov_8059730873?context=H4sIAAAAAAAA_wE_AMD_YToyOntzOjEzOiJsb2NhbFByaW9yaXR5IjtiOjA7czoxOiJ4IjtzOjE2OiJnMlNaRFRBamtCVXluYkJnIjt9chBCgz8AAAA",
  "title": "UGC-видеомейкер для товаров маркетплейсов",
  "description": "Ищем Ugc-видеомейкера / контент-мейкера для коротких роликов под товары на маркетплейсы.\n\nНам нужен человек, который делает не просто «красивые видео», а короткий товарный контент под просмотры, удержание, переходы и заказы. Если вы умеете превращать...",
  "category": {
    "id": 111,
    "name": "Вакансии",
    "slug": "vakansii",
    "root_id": 110,
    "compare": true,
    "page_root_id": 110
  },
  "location": {
    "id": 646600,
    "name": "Уфа",
    "name_prepositional": "Уфе",
    "is_current": false,
    "is_region": true
  },
  "address_detailed": {
    "location_name": "Уфа"
  },
  "sort_time_stamp": 1778656228000,
  "allow_time_stamp": 1778655897000,
  "job_seeker_update_time_stamp": null,
  "turn_off_date": false,
  "price_detailed": {
    "enabled": true,
    "full_string": "30 000 ₽ на руки",
    "has_value": true,
    "postfix": "на руки",
    "string": "30 000",
    "string_without_discount": null,
    "title": {
      "full": "Зарплата",
      "short": "Зарплата"
    },
    "title_dative": "зарплате",
    "value": 30000,
    "was_lowered": false,
    "exponent": "30 тыс."
  },
  "normalized_price": null,
  "price_without_discount": null,
  "discount_percent": null,
  "last_minute_offer": null,
  "images": [
    {
      "416x416": "https://20.img.avito.st/image/1/1.WqIFyraA9ktzbzRPPcdkzz1q9E-3ffZLtxqXT7ep8om1afJRc280T7M.5_Ba-oJftLmu6xnoKyU2YmwGVcD9cOOv3zUtcvbcSx8?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "432x432": "https://20.img.avito.st/image/1/1.WqIFyraA9ktTbxRPPcdkzz1q9E-3ffZLtxqXT7eJ8qm1afJRU28UT7M.TZTzMVlyoJQDC_elFAK1_virAGPOeeg1R1lW_3-ftjQ?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "472x472": "https://20.img.avito.st/image/1/1.WqIFyraA9ksDbkROPcdkzz1q9E-3ffZLtxqXT7fZ8_m0afJRA25ETrM.J0zjmbMEGB62vt6NcRnpoR-5SjiyBCmceC1hAl2QVPY?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "636x636": "https://20.img.avito.st/image/1/1.WqIFyraA9ktLYAxAPcdkzz1q9E-3ffZLtxqXT7eR_bG6afJRS2AMQLM.OlKwUOY1w157zWqqumLn2DkjPVnCgGRS5Z65ZRS2OgA?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "864x864": "https://20.img.avito.st/image/1/1.WqIFyraA9ktzZDREPcdkzz1q9E-3ffZLtxqXT7ep-Ym-afJRc2Q0RLM.PV-3IuxrCdI9EKlCIT0oSJuBBL83RxXwsK0-4TggeGA?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "208x208": "https://20.img.avito.st/image/1/1.WqIFyraA9ksTalRKPcdkzz1q9E-3ffZLtxqXT7fJ9-mwafJRE2pUSrM.xSF21uHbjBmZDIQt-qhpj5R7F9vAxVVxXACKmMoKHqs?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "236x236": "https://20.img.avito.st/image/1/1.WqIFyraA9ktraixKPcdkzz1q9E-3ffZLtxqXT7ex95GwafJRa2osSrM.kVs22SzFT-SpSdu27yGbHNaOyzD9Zm55pZdGTtpZp5w?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw=",
      "318x318": "https://20.img.avito.st/image/1/1.WqIFyraA9ktPbQhNPcdkzz1q9E-3ffZLtxqXT7eV8LW3afJRT20ITbM.DozfHJ2ZjqIl8ninWo2GoBf-EaeCRzAOhD4emxyhpFk?cqp=2.cCHskNzmyzLcYDhMdcCH_nvsEV9F75CDAHlwb7XvKZW--cKZrcmEss5RhhiwY783joV1rwYDZ2D0RS_fj87G72s7dtw="
    }
  ],
  "images_count": 1,
  "is_favorite": false,
  "is_new": false,
  "geo": {
    "geo_references": [],
    "formatted_address": "Республика Башкортостан, Уфа"
  },
  "phone_image": null,
  "cv_viewed": false,
  "is_similar_to_search": false,
  "is_xl": false,
  "has_footer": false,
  "contacts": {
    "phone": true,
    "delivery": false,
    "message": true,
    "message_title": "Написать",
    "action": "",
    "on_moderation": false,
    "has_c_v_package": false,
    "has_employee_balance_for_cv": false,
    "service_booking": false,
    "primary_button": ""
  },
  "gallery": {
    "show_slider": false,
    "extra_photo": null,
    "image_large_url": "",
    "image_large_vip_url": "",
    "has_leadgen_overlay": false,
    "images_count": 1,
    "image_url": "",
    "has_big_image": true,
    "no_photo": false,
    "is_lazy": false,
    "image_urls": [],
    "is_first_image_high_importance": true,
    "images": [],
    "image_alt": "UGC-видеомейкер для товаров маркетплейсов, Уфа",
    "crop_images_info": null,
    "image_large_urls": [],
    "image_vip_url": "",
    "wide_snippet_urls": [],
    "alt": "с фотографией"
  },
  "user_logo": {
    "link": null,
    "src": null,
    "image_alt": "Республика Башкортостан, Уфа",
    "developer_id": null,
    "slug": null
  },
  "is_marketplace": false,
  "iva": {
    "development_name_step": [],
    "badges_step": [],
    "auto_tire_manufacturer_step": [],
    "auto_tire_info_step": [],
    "item_notes_step": [],
    "title_step": [
      {
        "component_data": {
          "component": "title"
        },
        "payload": {
          "title": "UGC-видеомейкер для товаров маркетплейсов",
          "url_path": "/ufa/vakansii/ugc-videomeyker_dlya_tovarov_marketpleysov_8059730873?context=H4sIAAAAAAAA_wE_AMD_YToyOntzOjEzOiJsb2NhbFByaW9yaXR5IjtiOjA7czoxOiJ4IjtzOjE2OiJnMlNaRFRBamtCVXluYkJnIjt9chBCgz8AAAA",
          "seo": {
            "title": "UGC-видеомейкер для товаров маркетплейсов в Уфе"
          },
          "debug": {
            "id": 8059730873
          },
          "is_bold": true
        },
        "default": true
      }
    ],
    "price_list_step": [],
    "description_step": [
      {
        "component_data": {
          "component": "description"
        },
        "payload": {
          "description": "Ищем Ugc-видеомейкера / контент-мейкера для коротких роликов под товары на маркетплейсы.\n\nНам нужен человек, который делает не просто «красивые видео», а короткий товарный контент под просмотры, удержание, переходы и заказы. Если вы умеете превращать...",
          "url_path": "/ufa/vakansii/ugc-videomeyker_dlya_tovarov_marketpleysov_8059730873?context=H4sIAAAAAAAA_wE_AMD_YToyOntzOjEzOiJsb2NhbFByaW9yaXR5IjtiOjA7czoxOiJ4IjtzOjE2OiJnMlNaRFRBamtCVXluYkJnIjt9chBCgz8AAAA",
          "debug": {
            "id": 8059730873
          },
          "row_count": "3"
        },
        "default": true
      }
    ],
    "favorites_step": [
      {
        "component_data": {
          "component": "favorites"
        },
        "payload": {
          "favorite": {
            "access": {
              "favorite": true,
              "compare": true
            },
            "search_hash": "g2SZDTAjkBUynbBg",
            "from_page": "catalog",
            "from_block": null,
            "id": 8059730873,
            "is_favorite": false,
            "category_slug": "vakansii",
            "root_category_id": 110
          },
          "debug": {
            "id": 8059730873
          }
        },
        "default": true
      }
    ],
    "third_line_step": [
      {
        "component_data": {
          "component": "text"
        },
        "payload": {
          "value": "Розничная и оптовая торговля",
          "color": "gray44"
        },
        "default": true
      }
    ],
    "user_info_step": [
      {
        "component_data": {
          "component": "seller-info"
        },
        "payload": {
          "rating": null,
          "profile": {
            "title": "PROSMAZ",
            "link": "/brands/516f4b70d5fd44159459fdbadcb9b450?src=search_seller_info&iid=8059730873"
          },
          "show_link": true
        },
        "default": true
      },
      {
        "component_data": {
          "component": "text"
        },
        "payload": {
          "value": "На Авито с декабря 2025",
          "color": "gray44"
        },
        "default": true
      }
    ],
    "badge_bar_step": [
      {
        "component_data": {
          "component": "badgebar"
        },
        "payload": {
          "debug": {
            "id": 8059730873
          },
          "badges": [
            {
              "id": 2776,
              "title": "Рыночная зарплата",
              "version": 2,
              "style": {
                "background_color": {
                  "value": "#02D15C",
                  "value_dark": "#04C454"
                },
                "font_color": {
                  "value": "#FFFFFF",
                  "value_dark": "#E3E3E3"
                },
                "left_edge_style": "flag",
                "right_edge_style": "pipka"
              }
            }
          ]
        },
        "default": true
      }
    ],
    "date_info_step": [
      {
        "component_data": {
          "component": "date-info"
        },
        "payload": {
          "absolute": "",
          "relative": "",
          "debug": {
            "id": 8059730873
          }
        },
        "default": true
      },
      {
        "component_data": {
          "component": "vas"
        },
        "payload": {
          "vas": [
            {
              "slug": "bbip",
              "title": "Продвинуто",
              "link": "https://www.avito.ru/business/tools/promotion-new",
              "icon": {
                "default": "https://www.avito.st/s/common/components/monetization/icons/web/bbip.svg",
                "small": "https://www.avito.st/s/common/components/monetization/icons/web/bbip-small.svg"
              }
            }
          ],
          "is_tooltip_hidden": false,
          "debug": {
            "id": 8059730873
          }
        },
        "default": true
      }
    ],
    "groupings_step": [],
    "auto_parts_manufacturer_step": [],
    "first_line_step": [],
    "fourth_line_step": [],
    "autoteka_step": [],
    "price_step": [
      {
        "component_data": {
          "component": "price"
        },
        "payload": {
          "normalized_price": null,
          "is_highlighted": false,
          "debug": {
            "id": 8059730873
          },
          "raw_text": true,
          "price_detailed": {
            "was_lowered": false,
            "postfix": "на руки",
            "string": "30 000",
            "string_without_discount": null,
            "value": 30000
          }
        },
        "default": true
      }
    ],
    "o_e_m_step": [],
    "auto_params_step": [],
    "geo_step": [
      {
        "component_data": {
          "component": "geo"
        },
        "payload": {
          "debug": {
            "id": 8059730873
          },
          "geo_for_items": {
            "formatted_address": "Республика Башкортостан, Уфа",
            "geo_references": [],
            "address_locality": "Уфа",
            "radius_info": null,
            "multi_addresses_info": null
          }
        },
        "default": true
      }
    ],
    "second_line_step": [
      {
        "component_data": {
          "component": "text"
        },
        "payload": {
          "value": "Компания",
          "color": "gray44",
          "is_hide_wide": true
        },
        "default": true
      }
    ],
    "params_step": [
      {
        "component_data": {
          "component": "params"
        },
        "payload": {
          "highlight": null,
          "text": "Гибкий график · Выплаты Дважды в месяц · Опыт более 1 года",
          "debug": {
            "id": 8059730873
          }
        },
        "default": true
      }
    ],
    "badge_sticker_step": []
  },
  "has_video": false,
  "has_realty_layout": false,
  "coords": {
    "lat": "54.735152",
    "lng": "55.958736",
    "zoom": 16,
    "precision": 0,
    "address_user": "Республика Башкортостан, Уфа"
  },
  "group_data": null,
  "is_re_map_promotion": false,
  "native_video": null,
  "is_reserved": false,
  "type": "item",
  "rating_experiment_group": "names_and_badges_and_rating",
  "is_rating_experiment": false,
  "rating": null,
  "closest_address_id": 1121641,
  "is_spare_parts_compatibility": false,
  "open_in_new_tab": true,
  "is_new_cars_extra_leads_view": false
}
```

Each listing record returns 50+ fields:

#### Identification & Classification

| Field | Meaning |
|---|---|
| `ID` | Unique Avito listing identifier |
| `Category ID` | Top-level category numeric ID |
| `Micro Category ID` | Subcategory ID for finer classification |
| `Location ID` | Numeric ID of the listing's geographic location |
| `Type` | Listing type classification |
| `Is Verified Item` | Whether the listing has been verified by Avito |
| `Is Marketplace` | Indicates if listed via Avito Marketplace infrastructure |

#### URLs & Content

| Field | Meaning |
|---|---|
| `URL Path` | Relative path to the listing (append to `avito.ru` for full URL) |
| `Title` | Job title as posted by the employer |
| `Description` | Full listing description text |
| `Category` | Human-readable category label (e.g., "Вакансии") |

#### Location & Geography

| Field | Meaning |
|---|---|
| `Location` | City or region name |
| `Address Detailed` | Full address string when provided |
| `Geo` | Geographic metadata object |
| `Coords` | Latitude/longitude coordinates if available |
| `Closest Address ID` | ID of the nearest mapped address point |

#### Timestamps & Lifecycle

| Field | Meaning |
|---|---|
| `Sort Time Stamp` | Timestamp used for search result ordering |
| `Allow Time Stamp` | When the listing was approved/activated |
| `Job Seeker Update Time Stamp` | Last update by the job seeker or employer |
| `Turn Off Date` | Date the listing is scheduled to deactivate |

#### Pricing & Salary

| Field | Meaning |
|---|---|
| `Price Detailed` | Full salary/price object (may include range, currency) |
| `Normalized Price` | Standardized numeric salary value for comparison |
| `Price Without Discount` | Original price before any discount |
| `Discount Percent` | Applied discount percentage if any |
| `Last Minute Offer` | Flag for time-sensitive promotional listings |

#### Media

| Field | Meaning |
|---|---|
| `Images` | Array of image URLs attached to the listing |
| `Images Count` | Total number of images |
| `Gallery` | Gallery object with image metadata |
| `User Logo` | Employer/poster logo URL |
| `Has Video` | Whether a video is attached |
| `Native Video` | Video metadata object if present |
| `Phone Image` | Obfuscated phone number as an image |

#### Listing Flags & Features

| Field | Meaning |
|---|---|
| `Is Favorite` | Whether the listing is saved by the current user |
| `Is New` | Newly posted listing flag |
| `Is Similar To Search` | Avito relevance signal for the search query |
| `Is XL` | Whether the listing uses XL promoted format |
| `Has Footer` | Whether a footer block is rendered |
| `Has Realty Layout` | Realty-specific layout flag (typically false for jobs) |
| `Is RE Map Promotion` | Real estate map promotion flag |
| `Is Reserved` | Whether the listing is currently reserved |
| `Open In New Tab` | UI behavior flag |
| `IVA` | Internal Avito ad metadata object |

#### Engagement & Rating

| Field | Meaning |
|---|---|
| `Rating` | Listing or seller rating value |
| `Rating Experiment Group` | A/B test group assignment for rating display |
| `Is Rating Experiment` | Whether the listing is part of a rating experiment |
| `CV Viewed` | Whether a submitted CV has been viewed |

#### Contacts & Group Data

| Field | Meaning |
|---|---|
| `Contacts` | Employer contact information object |
| `Group Data` | Data for grouped/clustered listings |
| `Is Spare Parts Compatibility` | Compatibility flag (relevant for auto category; typically false for jobs) |
| `Is New Cars Extra Leads View` | Auto-sector flag; typically false for job listings |

***

### How to Use

1. **Build your search URL** — Go to `avito.ru/all/vakansii`, apply filters (remote, city, category), and copy the full URL from the browser.
2. **Add pagination** — For deeper scrapes, duplicate the URL and increment `&p=2`, `&p=3`, etc.
3. **Configure input** — Paste URLs into the `urls` array. Set `max_items_per_url` based on how many results each page shows (typically 50).
4. **Run the scraper** — Start the actor and monitor logs for any failed URLs.
5. **Export** — Download results as JSON, CSV, or Excel for use in spreadsheets or databases.

**Common issues:**

- Avito encodes filters into long query strings — always copy the full URL intact.
- If a URL returns 0 items, verify it loads correctly in a browser and is not behind a CAPTCHA.
- Use `ignore_url_failures: true` for all multi-URL runs.

***

### Use Cases & Business Value

- **Salary benchmarking:** Collect normalized salary data across roles and regions in Russia
- **Market analysis:** Track hiring volume by category, city, or remote/on-site split
- **Talent sourcing pipelines:** Feed structured listings into internal ATS or CRM tools
- **Competitive intelligence:** Monitor how competitors post roles and what packages they offer

***

### Conclusion

The **Avito.ru Jobs Search Scraper** provides reliable, large-scale access to one of Russia's most active job markets. With 50+ output fields covering salary, location, timestamps, media, and engagement signals, it delivers the depth needed for serious recruitment and market research workflows. Configure your search, paste the URL, and get structured data in minutes.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the jobs search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.avito.ru/all/vakansii/format_raboty/udalenno-ASgBAgICAUSejBW~lZED?context=H4sIAAAAAAAA_wFxAI7_YTozOntzOjg6ImZyb21QYWdlIjtzOjE0OiJjYXRlZ29yeVdpZGdldCI7czo5OiJmcm9tX3BhZ2UiO3M6MTQ6ImNhdGVnb3J5V2lkZ2V0IjtzOjE6InkiO3M6MTY6IlVUODhhSlRIbU40aVltTFYiO30oLS75cQAAAA&f=ASgBAgICAkSUzQ_S6vQCnowVvpWRAw&p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.avito.ru/all/vakansii/format_raboty/udalenno-ASgBAgICAUSejBW~lZED?context=H4sIAAAAAAAA_wFxAI7_YTozOntzOjg6ImZyb21QYWdlIjtzOjE0OiJjYXRlZ29yeVdpZGdldCI7czo5OiJmcm9tX3BhZ2UiO3M6MTQ6ImNhdGVnb3J5V2lkZ2V0IjtzOjE6InkiO3M6MTY6IlVUODhhSlRIbU40aVltTFYiO30oLS75cQAAAA&f=ASgBAgICAkSUzQ_S6vQCnowVvpWRAw&p=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/avito-jobs-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 = {
    "urls": ["https://www.avito.ru/all/vakansii/format_raboty/udalenno-ASgBAgICAUSejBW~lZED?context=H4sIAAAAAAAA_wFxAI7_YTozOntzOjg6ImZyb21QYWdlIjtzOjE0OiJjYXRlZ29yeVdpZGdldCI7czo5OiJmcm9tX3BhZ2UiO3M6MTQ6ImNhdGVnb3J5V2lkZ2V0IjtzOjE6InkiO3M6MTY6IlVUODhhSlRIbU40aVltTFYiO30oLS75cQAAAA&f=ASgBAgICAkSUzQ_S6vQCnowVvpWRAw&p=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/avito-jobs-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 '{
  "urls": [
    "https://www.avito.ru/all/vakansii/format_raboty/udalenno-ASgBAgICAUSejBW~lZED?context=H4sIAAAAAAAA_wFxAI7_YTozOntzOjg6ImZyb21QYWdlIjtzOjE0OiJjYXRlZ29yeVdpZGdldCI7czo5OiJmcm9tX3BhZ2UiO3M6MTQ6ImNhdGVnb3J5V2lkZ2V0IjtzOjE6InkiO3M6MTY6IlVUODhhSlRIbU40aVltTFYiO30oLS75cQAAAA&f=ASgBAgICAkSUzQ_S6vQCnowVvpWRAw&p=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/avito-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Avito Jobs Search Scraper",
        "description": "Scrape job search results from Avito.ru — Russia's largest classifieds platform. Collect titles, salaries, locations, contacts, timestamps, and 50+ fields per listing. Perfect for recruiters, market analysts, and HR professionals targeting the Russian job market.",
        "version": "0.0",
        "x-build-id": "ttK7UATEhcNzmMkXq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~avito-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-avito-jobs-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/stealth_mode~avito-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-avito-jobs-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/stealth_mode~avito-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-avito-jobs-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",
                "properties": {
                    "urls": {
                        "title": "URLs of the jobs search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the jobs search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
