Jora Scraper
Pricing
$0.89 / 1,000 result scrapeds
Jora Scraper
Scrape job listings from Jora across Australia, New Zealand, Singapore, Hong Kong and Malaysia. Returns title, company, location, salary, job type and description. Jora aggregates listings from hundreds of job boards and company career pages.
Pricing
$0.89 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
11 days 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
| Field | Type | Default | Description |
|---|---|---|---|
country | string | au | Country site: au, nz, sg, hk, my |
keyword | string | — | Job title or skill to search. Leave empty for all jobs. |
location | string | — | City or region filter, e.g. Sydney, Auckland. |
jobType | string | — | full_time, part_time, casual_temporary, contract, permanent |
postedWithin | string | — | 24h, 7d, 14d, or 30d |
sortBy | string | relevance | relevance or date |
fetchPanel | boolean | true | Fetch full description panel per job. Disable for faster/cheaper SERP-only runs. |
maxPages | integer | 10 | Max SERP pages. Each page yields ~10–15 jobs. |
maxJobs | integer | — | Hard 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.
| Field | Type | Source | Description |
|---|---|---|---|
jobId | string | SERP | Hex unique ID from the job URL |
title | string | SERP | Job title |
company | string | SERP | Hiring company |
location | string | SERP | City/region |
salary | string|null | SERP | Salary badge, e.g. $80,000 – $100,000 a year |
jobType | string|null | SERP+Panel | Full time, Part time, Contract, Casual/Temporary, Permanent |
workArrangement | string|null | Panel | Hybrid, Remote, or Office |
descriptionBullets | string[] | SERP | Key selling points shown on search results card |
fullDescription | string|null | Panel | Full plain-text job description |
datePosted | string|null | SERP+Panel | Human-readable age, e.g. Posted 2d ago |
isSponsored | boolean | SERP | True if promoted/sponsored listing |
abstractType | string|null | SERP | original or extended_llm (AI-rewritten description) |
applyType | string|null | Panel | quick_apply, company_site, or unknown |
verifiedEmployer | boolean|null | Panel | True if employer has Verified Employer badge |
companyRating | number|null | Panel | Company rating score, e.g. 4.3 |
companyReviewCount | integer|null | Panel | Number of reviews behind the rating |
companyReviewSource | string|null | Panel | Review source, e.g. SEEK |
country | string | SERP | Country code: au, nz, sg, hk, my |
url | string | SERP | Clean canonical URL of the job listing |
scrapedAt | string | — | ISO 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
BUYPROXIES94952custom 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-payloadJSON attributes (stable, no CSS dependency). Full descriptions fetched from/job/description/{id}panel endpoint. - Domain change (May 2026) — Jora migrated from
www.jora.com.autoau.jora.comsubdomain pattern across all markets. - Panel endpoint —
GET /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. abstractTypefield — Jora uses AI (extended_llm) to rewrite some job descriptions. TheabstractTypefield 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
| Code | Domain |
|---|---|
au | au.jora.com |
nz | nz.jora.com |
sg | sg.jora.com |
hk | hk.jora.com |
my | my.jora.com |
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl