VietnamWorks Jobs Scraper avatar

VietnamWorks Jobs Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
VietnamWorks Jobs Scraper

VietnamWorks Jobs Scraper

Scrape live job listings from VietnamWorks.com, Vietnam's largest job board. Browse curated trending job feeds, run a real-time keyword search, or fetch full job details from listing URLs. No login, no cookies, no paid proxy required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape live job listings from VietnamWorks.com, Vietnam's largest job board (part of Navigos Group). Browse curated trending job feeds, run a real-time keyword search, or fetch full job details from listing URLs. No login, no cookies, no paid proxy required.

What this actor does

  • Three modes: trending (curated feeds, most results), search (real-time keyword/location/industry search), and byUrls (direct listing fetch)
  • 6 curated feeds — best jobs, urgent hiring, featured, part-time, high-salary, headhunter/executive-search
  • 63 provinces/cities and 157 industries available as search filters
  • Filters: minimum salary, location-contains (client-side, applied on top of any mode)
  • Rich fields per job: company info, salary (when disclosed), skills, requirements, description
  • Empty fields are omitted — every record only contains data actually present on the listing

Output per job

  • jobId — VietnamWorks' internal listing ID
  • title, companyName, companyId, companyLogoUrl
  • locations[], country
  • jobLevel, jobLevelId, typeWorking, typeWorkingId (mode=byUrls / detail-enriched only)
  • salaryText, salaryMin, salaryMax (only when disclosed)
  • skills[], benefits[] (mode=byUrls only, best-effort — see FAQ)
  • descriptionSnippet (trending/search modes) or descriptionText (byUrls, full text)
  • requirementText
  • postedText, createdOn, expiredOn/expiredDate
  • sourceUrl — canonical listing URL
  • recordType: "job", scrapedAt

Input

FieldTypeDefaultDescription
modeselecttrendingtrending / search / byUrls
feedTypeselectbestJobsCurated feed to pull (mode=trending): bestJobs, urgentJobs, featuredJobs, partTimeJobs, highSalaryJobs, headhunterJobs
keywordstringdeveloperFree-text search query (mode=search)
locationIdsarray (select)One or more of 63 Vietnamese provinces/cities (mode=search)
industryIdsarray (select)One or more of 157 VietnamWorks industries (mode=search)
locationContainsstringClient-side filter: keep only jobs whose location text contains this
minSalaryintegerDrop jobs with disclosed salary below this (VND/month). Undisclosed-salary jobs always pass.
fetchFullDetailsbooleanfalseVisit each job's detail page for the complete description, employer profile, skills, and benefits
jobUrlsarrayVietnamWorks job listing URLs (mode=byUrls)
maxItemsinteger30Hard cap on emitted records (1–500)
{
"mode": "trending",
"feedType": "highSalaryJobs",
"locationContains": "Ho Chi Minh",
"maxItems": 50
}
{
"mode": "search",
"keyword": "accountant",
"locationIds": ["29"],
"maxItems": 5
}

Example: fetch specific listings

{
"mode": "byUrls",
"jobUrls": [
"https://www.vietnamworks.com/hcm-senior-recruitment-consultant-real-estate-2091602-jv"
]
}

Use cases

  • Recruitment intelligence — track live Vietnamese vacancies by industry/location
  • Salary benchmarking — aggregate disclosed salary bands across roles
  • Labour-market research — analyze demand by industry/city over time
  • Talent sourcing — bulk-collect employer and job data for outreach

FAQ

What's VietnamWorks? Vietnam's largest job board and recruitment platform, part of Navigos Group, with 11,000+ active listings across every province and industry. See vietnamworks.com.

Is a login or API key required? No — all three modes use fully public endpoints.

Why does mode=search only return up to 5 results, even with a high maxItems? VietnamWorks' real-time keyword search endpoint is the same one that powers a small "top results" widget on their homepage — it's genuinely capped at 5 results server-side for every query, including no filter at all. This is a real upstream limit, not a bug. For bulk data, use mode=trending, which returns up to ~75 real listings per curated feed with no such cap.

Why is descriptionSnippet truncated in trending/search modes? Both data sources are VietnamWorks' own homepage-widget feeds, which intentionally return a ~450-character preview rather than the full description (to keep their homepage payload light). Use fetchFullDetails: true, or mode: byUrls directly, to get the complete, un-truncated descriptionText.

Why are skills/benefits sometimes missing from byUrls results? VietnamWorks' detail pages are built with React Server Components; most job fields (title, company, salary, requirement text, dates) are embedded directly and always populate, but skills and benefits are occasionally streamed as further nested references this actor doesn't resolve. When that happens the fields are simply omitted — never fabricated.

How does the locationContains filter work? It's a case-insensitive substring match against each job's parsed location list, applied client-side on top of any mode (including search's own server-side locationIds filter, which uses real Vietnamese city IDs).

Why did my mode=search run with locationIds/industryIds return 0 jobs? VietnamWorks' search API geo-fences those two filters to Vietnam-based request IPs — they silently return an empty result (not an error) for requests from outside Vietnam, which is where Apify's cloud infrastructure runs by default. The actor automatically retries once through proxyConfiguration (Vietnam-country RESIDENTIAL) when a location/industry-filtered search comes back empty — turn that input on if you plan to use either filter. Unfiltered or keyword-only searches are unaffected and never need a proxy.

How fresh is the data? Real-time — every run hits VietnamWorks' live homepage, search API, and detail pages directly.