Jora Scraper avatar

Jora Scraper

Pricing

$0.89 / 1,000 result scrapeds

Go to Apify Store
Jora Scraper

Jora Scraper

Scrapes job listings from Jora (AU, NZ, SG, HK, MY). No proxy required. No browser.

Pricing

$0.89 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Jora Jobs Scraper

Scrapes job listings from Jora across five Asia-Pacific markets: Australia, New Zealand, Singapore, Hong Kong, and Malaysia.

Architecture: JSON-HTML hybrid — job card metadata extracted from server-side embedded JSON attributes (data-jd-payload, data-impression-*), full descriptions fetched from the lightweight /job/description/{id} panel endpoint (6–16 KB vs 90 KB full page). No proxy required. No browser.

Pricing: $0.89 / 1,000 results


Input

FieldTypeDefaultDescription
countrystringauCountry site: au, nz, sg, hk, my
keywordstringJob title or skill to search. Leave empty for all jobs.
locationstringCity or region filter, e.g. Sydney, Auckland.
jobTypestringfull_time, part_time, casual_temporary, contract, permanent
postedWithinstring24h, 7d, 14d, or 30d
sortBystringrelevancerelevance or date
fetchPanelbooleantrueFetch full description panel per job. Disable for faster/cheaper SERP-only runs.
maxPagesinteger10Max SERP pages. Each page yields ~10–15 jobs.
maxJobsintegerHard stop after N jobs.

Example input

{
"country": "au",
"keyword": "data analyst",
"location": "Melbourne",
"jobType": "full_time",
"postedWithin": "7d",
"sortBy": "date",
"maxPages": 20,
"fetchPanel": true
}

Output

Each result is a flat JSON object stored in the default dataset.

FieldTypeSourceDescription
jobIdstringSERPHex unique ID from the job URL
titlestringSERPJob title
companystringSERPHiring company
locationstringSERPCity/region
salarystring|nullSERPSalary badge, e.g. $80,000 – $100,000 a year
jobTypestring|nullSERP+PanelFull time, Part time, Contract, Casual/Temporary, Permanent
workArrangementstring|nullPanelHybrid, Remote, or Office
descriptionBulletsstring[]SERPKey selling points shown on search results card
fullDescriptionstring|nullPanelFull plain-text job description
datePostedstring|nullSERP+PanelHuman-readable age, e.g. Posted 2d ago
isSponsoredbooleanSERPTrue if promoted/sponsored listing
abstractTypestring|nullSERPoriginal or extended_llm (AI-rewritten description)
applyTypestring|nullPanelquick_apply, company_site, or unknown
verifiedEmployerboolean|nullPanelTrue if employer has Verified Employer badge
companyRatingnumber|nullPanelCompany rating score, e.g. 4.3
companyReviewCountinteger|nullPanelNumber of reviews behind the rating
companyReviewSourcestring|nullPanelReview source, e.g. SEEK
countrystringSERPCountry code: au, nz, sg, hk, my
urlstringSERPClean canonical URL of the job listing
scrapedAtstringISO 8601 timestamp

Example output record

{
"jobId": "abe57823441443462a26c9dc4bc7bded",
"title": "Customer Service Officer",
"company": "Australian Financial Complaints Authority",
"location": "Melbourne VIC",
"salary": null,
"jobType": "Full time",
"workArrangement": "Hybrid",
"descriptionBullets": [],
"fullDescription": "Fairness feels good\nMake a real impact at AFCA...",
"datePosted": "1h ago",
"isSponsored": false,
"abstractType": "original",
"applyType": "company_site",
"verifiedEmployer": false,
"companyRating": 4.3,
"companyReviewCount": 36,
"companyReviewSource": "SEEK",
"country": "au",
"url": "https://au.jora.com/job/Customer-Service-Officer-abe57823441443462a26c9dc4bc7bded",
"scrapedAt": "2026-05-16T05:00:00.000Z"
}

Technical notes

  • Custom proxy used — Jora blocks Apify's shared datacenter IPs. The actor uses the BUYPROXIES94952 custom US proxy pool (27 IPs) to reliably bypass this.
  • No browser — pure got + cheerio. No Playwright.
  • JSON-HTML hybrid — SERP card data comes from embedded data-jd-payload JSON attributes (stable, no CSS dependency). Full descriptions fetched from /job/description/{id} panel endpoint.
  • Domain change (May 2026) — Jora migrated from www.jora.com.au to au.jora.com subdomain pattern across all markets.
  • Panel endpointGET /job/description/{jobId}?sp=serp&sponsored=false&cp=1&sr=1 — no authentication, no tk token required, returns 6–16 KB HTML fragment with full description, work arrangement, company rating, and apply type.
  • abstractType field — Jora uses AI (extended_llm) to rewrite some job descriptions. The abstractType field lets you distinguish original employer copy from AI-rewritten content.
  • Deduplication — Job IDs tracked in-memory via Set; each listing pushed once per run.
  • Rate limiting — 600 ms between SERP pages, 300 ms between panel fetches. 3-retry backoff on 429/5xx.

Supported countries

CodeDomain
auau.jora.com
nznz.jora.com
sgsg.jora.com
hkhk.jora.com
mymy.jora.com