Trudvsem Russia Jobs Scraper | Работа России Вакансии avatar

Trudvsem Russia Jobs Scraper | Работа России Вакансии

Pricing

from $2.57 / 1,000 vacancies

Go to Apify Store
Trudvsem Russia Jobs Scraper | Работа России Вакансии

Trudvsem Russia Jobs Scraper | Работа России Вакансии

Collect Russian Trudvsem vacancies from the official open-data API. Get normalized records with employer, salary, location, requirements, contacts and apply links. Run with keywords, region, date and result limit; no API key or login. Pricing: $0.00265 per vacancy on Free.

Pricing

from $2.57 / 1,000 vacancies

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

6 days ago

Last modified

Categories

Features

Limited permissions

Share

Trudvsem Russia Job Vacancies Scraper

Collect Russian job vacancies from the official Trudvsem / Работа России open-data API (trudvsem.ru), with normalized rows for employer, salary, region, requirements, contacts and apply links. No source API key, login or proxy setup is needed; the Russian residential proxy is preconfigured, and Free-plan runs return up to 25 results.

  • Get one normalized row per vacancy, with Russian text as published.
  • Analyze salary, experience and education by region and profession.
  • Add official Russian vacancies to a job board, aggregator or alert service.
  • Schedule incremental feeds using vacancy creation or modification dates.
  • No API key, login or proxy setup is needed: the Russian residential proxy is preconfigured and every input is optional.

What you get

A scalar field is null when the source does not provide it; list fields use the empty-list rules below.

Field groupFieldsTypeNotes
Identityvacancy_id, job_title, job_url, sourcestringnull if blank or absent
Employercompany_name, company_code, company_inn, company_kpp, company_ogrn, company_email, company_urlstringnull if blank or absent
Employeris_hr_agencybooleannull if absent
Locationregion, region_codestringnull if blank or absent
Locationaddressstringnull if blank or absent; first address
Locationlatitude, longitudenumbernull without coordinates; first address
Locationaddressesarray of objects {location, latitude, longitude}Empty list; all addresses
Compensationsalary_text, currencystringnull if blank or absent
Compensationsalary_min, salary_maxintegernull if absent or not numeric
Termsemployment_type, schedule, term, conditions, typical_positionstringnull if blank or absent
Termsshift, skillsarray of stringsEmpty list
Termswork_places, training_daysintegernull if absent or not numeric
Termswork_place_typeobject of flagsnull if not an object
Role detailspecialisation, profession_code, qualification, education, requirements, duties, social_protectedstringnull if blank or absent
Role detailexperience_yearsintegernull if absent or not numeric
Contactcontact_personstringnull if blank or absent
Contactcontactsarray of objects {type, value}Empty list; blank values dropped
Datescreated_date, modified_atstringnull if blank or absent; source format retained
Run informationquerystringnull without a keyword
Run informationscraped_atISO 8601 UTC stringNever null
Run informationparse_confidencenumber 0 to 1Never null
Run informationwarningsarray of stringsEmpty list

Sample output

Shortened sample: addresses, duties and some other fields are left out. The person's name, phone and email are hidden because they belong to a private person.

{
"vacancy_id": "c51b7099-be35-11f1-aa68-7523fb122f6d",
"job_title": "Водитель автомобиля",
"job_url": "https://trudvsem.ru/vacancy/card/1136453005677/c51b7099-be35-11f1-aa68-7523fb122f6d",
"source": "Вакансия работодателя",
"company_name": "ООО \"ТК ВОЛГА\"", "company_code": "1136453005677",
"region": "Саратовская область", "salary_text": "от 180000", "salary_min": 180000, "salary_max": 240000, "currency": "«руб.»",
"employment_type": "Полная занятость", "schedule": "Вахтовый метод", "education": "Tребования не предъявляются", "experience_years": 1,
"contact_person": "<hidden for privacy>",
"contacts": [{"type": "Телефон", "value": "<hidden for privacy>"}, {"type": "Эл. почта", "value": "<hidden for privacy>"}],
"modified_at": "2026-10-02T12:27:29+0300", "query": "водитель", "scraped_at": "2026-10-29T03:54:19Z",
"parse_confidence": 1, "warnings": []
}

Pricing

The Actor uses pay-per-event billing. It charges the following events:

  • Actor Start: $0.00005 per event on the Free plan; one event per GB of run memory, with a minimum of one event.
  • Vacancy: $0.00265 per event on the Free plan; one returned vacancy with all fields.

You pay only for the events listed below. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.

PlanActor StartVacancy
Free plan$0.00005 per event$0.00265 per event

Free-plan runs are capped at 25 results.

Calculation table — Free plan rates

ResultsVacancy eventsActor StartTotal
2525 × $0.00265 (Free plan) = $0.066251 × $0.00005$0.0663
100100 × $0.00265 (Free plan) = $0.2651 × $0.00005$0.26505
1,0001,000 × $0.00265 (Free plan) = $2.651 × $0.00005$2.65005
10,00010,000 × $0.00265 (Free plan) = $26.501 × $0.00005$26.50005

These examples assume one Actor Start event per run, meaning a run using 1 GB or less.

Apify Free plan includes $5 of monthly platform usage credit; that credit covers 75 full runs (1,875 results at the 25-result cap), or 1,886 Vacancy events when allocated as one Actor Start event plus result events.

How to use

  1. Enter keywords in searchTerms, or leave the list empty to browse the latest nationwide vacancies. Terms are searched separately and merged.
  2. Set regionCode for the per-region endpoint (7700000000000 = Moscow; 7800000000000 = Saint Petersburg).
  3. Set modifiedFrom to an ISO 8601 UTC date-time for vacancies created or updated from that time.
  4. Set maxItems to the requested number; use 0 for no input cap. Free runs still apply the 25-result cap.
  5. Start the Actor and inspect the Vacancies overview table.
  6. Repeat the run through Apify Schedules; daily is a starting point for incremental feeds.
{
"searchTerms": ["Python"],
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "RU"
}
}

Export the dataset as JSON or CSV after the run.

Input parameters

ParameterWhat it doesDefault
searchTermsKeywords matched against job title, employer or duties; each term is searched separately and results are merged. Empty browses nationwide.Prefilled as ["Python"]
regionCodeTrudvsem region code; uses the per-region endpoint. 7700000000000 = Moscow; 7800000000000 = Saint Petersburg.Empty
modifiedFromReturns vacancies created or updated on or after the supplied UTC ISO 8601 date-time.Empty
maxItemsMaximum returned; 0 requests no input cap. Free runs still apply the 25-result cap.100
proxyConfigurationProxy used to reach the Trudvsem open-data API.Apify Residential, country RU
disableUsageStatsSet to true to turn off the run summary described in Usage statistics.false

Limits and edge cases

ConditionWhat you seeWhat to do
Free Apify planUp to 25 results; each returned result is a Vacancy event.Use a paid Apify plan for full results.
maxItems is reachedThe run stops after the requested number is returned.Increase maxItems or use 0.
One query reaches the API page limitAt most 100 pages of up to 100 vacancies, or 10,000 records per query.Split with regionCode, modifiedFrom or more specific keywords.
Multiple searchTermsTerms are queried separately, merged, and deduplicated by vacancy ID.Use separate terms for multiple searches.
No vacancies are returnedThe run ends as Succeeded with an empty dataset and explains the reason in its status message. No Vacancy events are charged; the Actor Start event is still charged.Broaden or use Russian keywords, remove regionCode, or move modifiedFrom earlier; retry failed or rate-limited queries later.
A later page fails after earlier pages return dataThe run ends as Succeeded with a short dataset. Earlier fetched rows remain available and are charged. The failure appears in failedDetails and failedCount of the OUTPUT record in the run's default key-value store and usually in the run status.Re-run the failed query.
An abort or timeout occurs while a query is being fetchedNo rows from that query reach the dataset; earlier-query rows and already-pushed batches remain.Re-run the search.
parse_confidence is usedStarts at 1 and is reduced for missing vacancy ID (0.4), title (0.3), or both address and region (0.1). warnings lists id_missing, job_title_missing or location_missing; the score is rounded to 3 decimals. Records missing both ID and title are skipped.Inspect warnings, parse_confidence, and fields directly. Missing salary, requirements or contacts do not reduce the score.

Each run stores an OUTPUT record in the run's default key-value store with totalVacancies, queriesRun, failedCount, the first 20 failedDetails, the first 20 queryStats and scrapedAt. The outcome is also in the run status message.

FAQ

How much does it cost to scrape Russian job vacancies?

On the Free plan, each Vacancy costs $0.00265 per event and Actor Start costs $0.00005 per event. For example, 25 results = $0.0663 on the Free plan. See Pricing for the Free plan rate.

What happens when no vacancies match?

The run succeeds with an empty dataset and explains the outcome in its status. No Vacancy events are charged; the Actor Start event is still charged.

Why did the Actor return fewer vacancies than requested?

The source may have fewer matches, a query may have failed or been rate-limited, the Free-plan cap may apply, or the API page limit may have been reached. Check the status and split large searches by region, date or keyword.

Do I need an API key, login, or my own proxy?

No source API key or login is required. A Russian residential proxy configuration is built in by default, so no key or login is required.

The Actor retrieves public vacancy data from the official Trudvsem / Работа России open-data API. Whether a particular use is legal or allowed depends on the source terms and applicable law for your use case; review them before use.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields

⌂ 换网址