Scrape vietnamworks.com — one of Vietnam's largest job boards. Titles · companies · salaries · geo coordinates · bilingual VI/EN descriptions, filtered by job level, employment type or industry. Incremental mode tracks new and changed jobs.
workingDays: the working days as weekday names, e.g. ["Monday", ..., "Friday"].
isWorkingOnWeekend: true when the job includes weekend work.
hasShuttle and shuttleCityIds: whether the employer runs a staff shuttle bus, and the
VietnamWorks city ids it serves. Fields are null (or []) when the site does not say.
workingDays keeps the exact days from the search results (e.g. Monday, Thursday, Friday)
rather than the broader day range shown on the job page.
shuttleCities: the shuttle pickup cities by name (e.g. ["Hà Nội", "Hải Dương"]).
2026-11-09
Maintenance: job detail pages
Reviewed new fields VietnamWorks added to job detail pages. They are internal ad-delivery
data with no value for your results, so the output is unchanged. No action needed.
2026-11-05
Added: jobPriceVnd; isTopPriority follows the site's current flag
New output field jobPriceVnd: the price (VND) of the employer's VietnamWorks posting
package, as reported by the site. Filled on promoted listings, null otherwise.
isTopPriority is now also true for listings the site marks as top priority under its
newer flag. Before, many paid top-priority listings showed false.
2026-10-22
Fixed: VietnamWorks' own listing URLs as Start URLs
startUrls now accepts the site's all-jobs listing
(https://www.vietnamworks.com/tim-viec-lam/tim-tat-ca-viec-lam, also /tim-viec-lam?q=...)
and keyword pages such as https://www.vietnamworks.com/python-kv. Before, these
stopped the run with a generic "please try again later" error.
A Start URL that still is not a recognized search page now says so in the run status
instead of the generic error.
2026-10-21
Fixed: wrong employmentType labels
The employmentType output field used a made-up label list (Permanent, Temporary,
Contract, ...). It now uses VietnamWorks' own list: Full-time, Part-time, Internship,
Freelancer, Seasonal, Other, Online Jobs. If you filter on the old labels (for example
"Permanent"), switch to "Full-time".
Added: job level, employment type, industry and salary filters
New optional inputs jobLevel, employmentType, industry (pick one or several;
several means any of them) and salaryVisibleOnly (skip jobs with a hidden salary).
Filters combine with each other and with query and location. An unknown value stops
the run and lists the valid ones.
2026-10-19
Fixed: location: "Vietnam" searches the whole country
A country-level location (Vietnam, Việt Nam, VN, Toàn quốc,
nationwide) used to stop the run as an unknown location. It now searches
every city, the same as leaving the location empty. City names work as before,
and a location the site does not know still stops the run with the list of
valid cities.
The run's final status now reliably reaches our monitoring before the run
exits.
A search with no matching jobs, or a job URL that no longer exists, now ends
with a machine-readable reason (no_results / filtered_out) in addition to
the readable status message.
When VietnamWorks itself reports zero matching jobs for every search, the run
says so (source_empty), and an unknown location reports validation_error.
Results and the readable status messages are unchanged.
2026-10-08
Fixed — location now filters results
The location field (and workingLocations in pasted search URLs) was not
applied: every search returned jobs from all of Vietnam. It is now resolved to
the VietnamWorks city and filtered by the site itself. Accepts English or
Vietnamese names with or without accents (Ho Chi Minh, Hồ Chí Minh,
hanoi, HCMC, Saigon) or a numeric city id.
An unrecognised location now stops the run with a clear message listing valid
city names, instead of silently searching nationwide.
A run that returns no jobs now states why in its final status (no matches for
the keyword/location, or none within the requested radius).
0.1.1 — 2026-05-01
Added — startUrls (multi-search-URL support)
Paste raw search URLs from vietnamworks.com — each URL becomes one search
task; results merged and deduped by JobId across all tasks.
Recognized formats: /jobs?q=...&workingLocations=... and /viec-lam?...
(Vietnamese alias).
Per-record searchQuery field correctly attributes the originating task in
multi-task runs.
Detail URLs (path with 6+ digit id) are explicitly rejected.
0.1.0 — Initial release
First release of vietnamworks.com Scraper.
Search jobs by keyword and city with full incremental change detection.
Output includes titles, companies, salaries, locations with coordinates, skills, benefits, and bilingual Vietnamese/English job descriptions.