Jora Jobs Scraper (AU, NZ, SG & More) avatar

Jora Jobs Scraper (AU, NZ, SG & More)

Pricing

from $0.79 / 1,000 jobs

Go to Apify Store
Jora Jobs Scraper (AU, NZ, SG & More)

Jora Jobs Scraper (AU, NZ, SG & More)

Scrape job listings from Jora across Australia, New Zealand, Singapore, Hong Kong, Malaysia, and Indonesia by keyword, location, or a direct search URL.

Pricing

from $0.79 / 1,000 jobs

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Jora Jobs Scraper (AU, NZ, SG & More)

Scrape job listings from Jora — a job search engine covering Australia, New Zealand, Singapore, Hong Kong, Malaysia, and Indonesia — by keyword and location, or by pasting a public Jora search URL. Get structured titles, companies, locations, salaries, job types, posting dates, and full job descriptions as clean JSON, CSV, or Excel.

Search any of Jora's six country sites by keyword, location, and posting date, or start from a Jora search URL — every job comes back with its full description text and HTML, salary and job-type when Jora shows one, and a stable job ID for deduplication.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this Actor.

Actor: parsebird/jora-jobs-scraper (Apify). Scrapes job listings from Jora (au.jora.com, nz.jora.com, sg.jora.com, hk.jora.com, my.jora.com, id.jora.com). Call it with ApifyClient.
Input (all optional): startUrl (string, a public Jora search URL, overrides keyword/location/country when set), keyword (string, job title/skill/phrase, default ""), location (string, city/region, default ""), country (enum: Australia|Hong Kong|Indonesia|Malaysia|New Zealand|Singapore, default "Australia"), posted_date (enum: anytime|24h|7d|30d, default "anytime"), results_wanted (integer, default 20), max_pages (integer, default 10), proxyConfiguration (object, default Jora residential preset — required, Jora blocks the default datacenter proxy).
Output: one row per job — title, company, location, salary, job_type, date_posted, description_text, description_html, url, source, job_id, sponsored, country, search_keyword, search_location, search_page.
Pricing: pay-per-event, $1.09 per 1,000 jobs on the Free plan (cheaper on paid plans). API docs: https://apify.com/parsebird/jora-jobs-scraper/api

What does Jora Jobs Scraper do?

This Actor extracts job postings from Jora, a job search engine used across Australia, New Zealand, Singapore, Hong Kong, Malaysia, and Indonesia. It reads Jora's own server-rendered search results for the fast-moving fields (salary, job type, posting date), then opens each job's page to pull the complete description, so you don't just get a truncated summary.

  • 🌏 Six country sites — Australia, Hong Kong, Indonesia, Malaysia, New Zealand, and Singapore, selectable with one input field.
  • 🔎 Keyword + location search — search any role or skill (software engineer, data analyst, warehouse) combined with a city or region, or leave both blank for an unfiltered feed.
  • 🔗 Start URL mode — paste a public Jora search URL (with any filters you've already applied in the browser) and the Actor scrapes from there instead of rebuilding the search.
  • 📅 Posting-date filter — restrict results to the last 24 hours, 7 days, or 30 days.
  • 💰 Salary and job type — parsed from Jora's own badges whenever the listing shows them (hourly, monthly, or annual, in each site's local currency).
  • 📝 Full job descriptions — every result includes the complete description_text and description_html from the job's detail page, not just the search-result snippet.
  • 🚦 Reliable by default — ships with a residential proxy preset, because Jora blocks Apify's default datacenter proxy outright.

How is this different from browsing Jora by hand?

Jora's search results page only shows a two- or three-bullet summary per job. This Actor pages through the search results, then opens each job individually to capture the real description, salary, and job type — and returns everything as structured data you can filter, sort, or pipe into another system, instead of copy-pasting from the browser.

Input parameters

Every field is optional. With no keyword, location, or start URL, the Actor scrapes Jora's default Australia feed.

ParameterTypeRequiredDefaultDescription
startUrlstringNoEmptyPublic Jora search URL to use as the starting point.
keywordstringNoEmptyJob title, skill, or phrase to search for when startUrl is empty. Leave blank for an unfiltered search.
locationstringNoEmptyCity, region, or other location filter. Leave empty for a broader search.
countrystringNoAustraliaJora site to search when startUrl is empty: Australia, Hong Kong, Indonesia, Malaysia, New Zealand, or Singapore.
posted_datestringNoanytimePosting-date filter: anytime, 24h, 7d, or 30d.
results_wantedintegerNo20Maximum number of jobs to save, from 1 upward.
max_pagesintegerNo10Maximum number of search result pages to process, from 1 upward.
proxyConfigurationobjectNoJora residential presetApify Proxy settings. Jora blocks Apify's default datacenter proxy, so residential routing ships preset.

Input example

{
"keyword": "software engineer",
"location": "Sydney",
"results_wanted": 20
}

Start URL example

{
"startUrl": "https://au.jora.com/j?sp=search&q=software+engineer&l=Melbourne",
"results_wanted": 50,
"max_pages": 20
}

Output example

{
"title": "Senior Software Engineer",
"company": "Acme Tech",
"location": "Sydney NSW",
"salary": "$130,000 - $160,000 per year",
"job_type": "Full time",
"date_posted": "2 days ago",
"description_text": "We are looking for a Senior Software Engineer to join our platform team.",
"description_html": "<div><p>We are looking for a Senior Software Engineer to join our platform team.</p></div>",
"url": "https://au.jora.com/job/Senior-Software-Engineer-abcdef1234567890abcdef1234567890",
"source": "jora",
"job_id": "abcdef1234567890abcdef1234567890",
"sponsored": false,
"country": "Australia",
"search_keyword": "software engineer",
"search_location": "Sydney",
"search_page": 1
}

What data can you extract from Jora?

FieldTypeDescription
titlestringJob title.
companystringCompany name when available.
locationstringListing location when available.
salarystringSalary or compensation text when Jora shows one.
job_typestringEmployment type when available (e.g. Full time, Casual/Temporary).
date_postedstringDate or relative posting age when available.
description_textstringPlain-text job description from the job's detail page.
description_htmlstringHTML job description from the job's detail page.
urlstringDirect Jora job URL.
sourcestringListing source label (jora).
job_idstringJob identifier when available.
sponsoredbooleanSponsored-listing indicator when available.
countrystringSelected Jora country site.
search_keywordstringKeyword used in the run.
search_locationstring or nullLocation used in the run.
search_pageinteger or nullSearch result page the job was found on.

How to scrape Jora jobs

  1. Open the Jora Jobs Scraper on Apify and click Try for free.
  2. Enter a keyword (e.g. data analyst) and a location (e.g. Sydney), or paste a full Jora search URL into Start URL.
  3. Pick a country if you're not searching Australia, and optionally set a posted date filter.
  4. Set Results wanted and Max pages — start small (e.g. 20 and 5) for a fast, cheap test run.
  5. Leave the proxy on the Jora residential preset — Jora blocks Apify's default datacenter proxy.
  6. Click Start, then download results as JSON, CSV, or Excel from the Storage tab, or pull them from the API.

For recurring searches, schedule the Actor to run daily or weekly and feed new listings into a sheet, database, or alert.

How much does it cost to scrape Jora?

This Actor uses the pay-per-event model — you are charged per job saved to the dataset, with lower rates on paid Apify plans.

PlanPrice per jobPrice per 1,000 jobs
Free$0.00109$1.09
Bronze$0.00099$0.99
Silver$0.00089$0.89
Gold$0.00079$0.79

Scraping 1,000 jobs on the Free plan costs about $1.09. Your monthly Apify platform credits typically cover several thousand jobs on top of that.

How it works

  1. The Actor builds a Jora search URL from your keyword, location, country, and posted-date filter — or uses your Start URL directly.
  2. It requests each search results page and parses every job card for title, company, location, salary, job type, posting date, sponsorship flag, and job ID.
  3. It stops paginating once results_wanted is reached, max_pages is hit, or Jora returns no further new results.
  4. For each collected job, it opens the job's own detail page to extract the complete description as both plain text and HTML.
  5. Jobs are pushed to the dataset page by page, so partial results are available even on a long run.

Using the Actor via API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("parsebird/jora-jobs-scraper").call(run_input={
"keyword": "data analyst",
"country": "Singapore",
"posted_date": "7d",
"results_wanted": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], "—", item.get("company"), "—", item.get("salary"))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('parsebird/jora-jobs-scraper').call({
keyword: 'software engineer',
location: 'Melbourne',
results_wanted: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

The Actor runs on the Apify platform, so you also get scheduling, a full REST API, webhooks, and native integrations with Make, Zapier, Google Sheets, and Slack. Results export as JSON, CSV, Excel, XML, or RSS.

Use cases

  • Job market research — track how many roles for a given title are posted across Australia, New Zealand, and Southeast Asia.
  • Recruiting and sourcing — pull fresh, structured listings for a role or region into an ATS or spreadsheet.
  • Salary benchmarking — collect the salary lines Jora exposes across job types and locations.
  • Competitor monitoring — watch a company's or industry's hiring activity over time with scheduled runs.
  • Job aggregation — feed a niche job board or newsletter with structured Jora listings.

FAQ

Do I need a Jora account? No. The Actor reads only public job listings. You need an Apify account to run it.

Why is a residential proxy required? Jora is behind Cloudflare and blocks Apify's default datacenter proxy outright. The Actor ships with a residential proxy preset and automatically rotates sessions if one is blocked, so you don't need to configure anything.

Which countries does this Actor support? Australia (au.jora.com), New Zealand (nz.jora.com), Singapore (sg.jora.com), Hong Kong (hk.jora.com), Malaysia (my.jora.com), and Indonesia (id.jora.com).

Why is salary or job type empty for some jobs? Jora only shows a salary badge when the employer or listing source provided one, and only shows a job-type badge when it's stated. Both fields are null when Jora itself doesn't display them.

Can I use a Jora search URL I already built in my browser? Yes. Paste it into Start URL — the Actor keeps your filters and only adds pagination and the posted-date filter on top.

Can I schedule recurring runs? Yes. Use Apify's scheduler to run this Actor daily or weekly and export new results automatically. Found a problem? Open an issue on the Issues tab.

This Actor collects only publicly available job listings from Jora — data any visitor can view without logging in. It does not access private data or bypass authentication. You are responsible for using the scraped data lawfully, including respecting each country's privacy laws (such as Australia's Privacy Act or GDPR where relevant) and any purpose limitations that apply to personal data. Do not use the output to spam candidates or employers. If you plan to scrape at scale or redistribute the data commercially, seek legal advice first. See Apify's guide on the legality of web scraping.