Jora Jobs Scraper avatar

Jora Jobs Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Jora Jobs Scraper

Jora Jobs Scraper

Scrape job listings from Jora.com across Australia, New Zealand, and Singapore. Extract titles, companies, salaries, locations, job types, full descriptions, employer ratings, and posting dates. Pay only per result with proxies included. Supports deduplication.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

2

Bookmarked

17

Total users

4

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

Jora Scraper | Australian Jobs, Salaries and Employers (2026)

by SilentFlow

Turn Jora, the Australian job search engine, into a clean jobs dataset. Search by keyword and location, keep only the jobs posted in the last 24 hours, filter by work type, minimum salary and radius, and get every job as one row: title, normalised title, employer, advertiser, location, remote or hybrid, work types, category, industry, salary as numbers, posting time and company rating.

Why use this scraper?

  • A daily feed of new jobs: filter by date posted (last 24 hours, 3, 7, 14 or 30 days) and sort newest first, so each run only brings the jobs you have not seen yet
  • Jora's own filters: work type (full time, part time, contract, permanent, casual), minimum yearly salary, and a radius around your location
  • Past Jora's 500-job page limit: ask for 2,000 or 10,000 jobs and broad searches are split into narrower ones automatically, without duplicates
  • Salary you can analyse: the salary text plus its lower and upper bounds as numbers, the currency and the pay period (hour, day, week, month or year)
  • Remote, hybrid or on-site: the work arrangement Jora shows on the listing
  • Category and industry on every job: for example "Developers/Programmers" in "Information & Communication Technology", ready for market analytics
  • Normalised job title: Jora's standard title ("Data Analyst") next to the advertised one ("Senior AML Systems and Data Analyst"), so jobs group cleanly
  • Advertiser separate from employer: tell recruitment agencies and job boards apart from the hiring company
  • Company reputation: company rating, number of reviews and a link to the reviews
  • Flexible input: keywords, Jora search links copied with their filters, or single job links to refresh a list of postings

Use cases

TeamWhat they do with it
Recruiting and staffing agenciesA morning feed of the jobs posted in the last 24 hours in their specialty, with the direct employer and the advertiser to spot competing agencies
Sales teams selling to employersFind companies hiring right now, by industry, city and work type
Labour market researchSalary bands by role, city and work type, with numeric salary bounds and normalised titles
HR and compensation analystsBenchmark advertised pay for a role across Australia
Job boards and aggregatorsKeep a fresh, deduplicated list of postings, then refresh known jobs from their links
Data scienceBuild Australian job market datasets for classification, trend and skills analysis

Input parameters

ParameterTypeDescription
startUrlsarrayJora search links (read page after page, with their own filters) or single job links
searchesstring[]Job keywords, one search each (e.g. "registered nurse", "data analyst")
locationstringCity, suburb or state (e.g. "Sydney NSW", "Melbourne VIC"); empty for all of Australia
maxItemsintegerHow many jobs to collect in total (default 50, up to 10,000)

Filters

ParameterTypeDefaultDescription
postedWithinselectanytime24h, 3d, 7d, 14d or 30d
sortselectrelevancerelevance or date (newest first)
workTypeselectanyfull-time, part-time, contract, permanent or casual
salaryMinintegernoneMinimum yearly salary in AUD; keeps only jobs that list a salary reaching it
distanceKmintegernoneRadius around the location: 0, 5, 10, 25, 50 or 100 km

The filters also apply to the Jora search links you paste, unless the link already sets that filter.

Output

ParameterTypeDefaultDescription
scrapeDetailsbooleanfalseOpen each job page to add the full description, the advertiser, the review count, the reviews link and the apply link

Advanced

ParameterTypeDefaultDescription
countryselectauJora site. Jora now lists jobs in Australia only: its New Zealand and Singapore sites have closed
maxPagesintegernoneStop each search after this many result pages; empty lets maxItems decide
debugModebooleanfalseShow detailed logs

Output data

Job listing example

{
"jobId": "9096479f1ed6af63c3f614895157c7c3",
"url": "https://au.jora.com/job/Data-Business-Analyst-9096479f1ed6af63c3f614895157c7c3",
"title": "Senior Data Business Analyst",
"normalisedTitle": "Data Business Analyst",
"company": "Building and Plumbing Commission",
"advertiser": "Victorian Government",
"companyRating": 3,
"companyReviewsCount": 3,
"companyReviewsUrl": "https://www.seek.com.au/companies/175149330764070/reviews",
"location": "Melbourne VIC",
"workArrangement": "Hybrid",
"jobType": "Contract, Full time",
"workTypes": ["Contract", "Full time"],
"category": "Business/Systems Analysts",
"industry": "Information & Communication Technology",
"salary": "$142,790 - $191,084 a year",
"salaryMin": 142790,
"salaryMax": 191084,
"salaryCurrency": "AUD",
"salaryPeriod": "year",
"summary": "Develop enterprise data models and improve data quality and governance | Strong SQL and Power BI skills",
"description": "The Building and Plumbing Commission is seeking a Senior Data Business Analyst...",
"postedAt": "2026-11-09T11:55:00Z",
"postedDate": "2026-11-09",
"postedDateRaw": "25m ago",
"isSponsored": false,
"isNewJob": true,
"isEarlyApplicant": false,
"hasQuickApply": false,
"applyUrl": "https://au.jora.com/job/rd/9096479f1ed6af63c3f614895157c7c3?sp=viewjob",
"abstractType": "extended_llm",
"searchRank": 2,
"country": "au",
"searchQuery": "data analyst",
"scrapedAt": "2026-11-09T12:32:57Z",
"dataType": "jobListing"
}

advertiser, companyReviewsCount, companyReviewsUrl, applyUrl and description come with Full job details on. A value Jora does not show for a job is null.

Data fields

CategoryFields
IdentityjobId, url, title, normalisedTitle
Employercompany, advertiser, companyRating, companyReviewsCount, companyReviewsUrl
Joblocation, workArrangement, jobType, workTypes, category, industry
Paysalary, salaryMin, salaryMax, salaryCurrency, salaryPeriod
Contentsummary, description
TimepostedAt, postedDate, postedDateRaw
ListingisSponsored, isNewJob, isEarlyApplicant, hasQuickApply, applyUrl, abstractType, searchRank
Metadatacountry, searchQuery, scrapedAt, dataType

Examples

Daily feed of new nursing jobs in Sydney

{
"searches": ["registered nurse"],
"location": "Sydney NSW",
"postedWithin": "24h",
"sort": "date",
"maxItems": 200
}

Full-time data roles above a salary, with full details

{
"searches": ["data analyst", "data engineer"],
"location": "Melbourne VIC",
"workType": "full-time",
"salaryMin": 100000,
"distanceKm": 25,
"scrapeDetails": true,
"maxItems": 100
}

A large market study past the 500-job limit

{
"searches": ["nurse"],
"maxItems": 3000
}

Refresh a list of known postings

{
"startUrls": [
{ "url": "https://au.jora.com/job/Data-Business-Analyst-9096479f1ed6af63c3f614895157c7c3" },
{ "url": "https://au.jora.com/job/Reporting-Analyst-603d17530573093a9d0331cceac9c6fd" }
]
}
{
"startUrls": [
{ "url": "https://au.jora.com/Software-Developer-jobs" }
],
"postedWithin": "7d",
"maxItems": 50
}

Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"searches": ["Software Developer"],
"location": "Melbourne VIC",
"postedWithin": "24h",
"sort": "date",
"maxItems": 100,
}
run = client.actor("silentflow/jora-scraper-ppe").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['title']} at {item['company']} - {item['location']} ({item.get('workArrangement') or 'on-site or not stated'})")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const input = {
searches: ['Software Developer'],
location: 'Melbourne VIC',
workType: 'full-time',
salaryMin: 120000,
maxItems: 100,
};
const run = await client.actor('silentflow/jora-scraper-ppe').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`${item.title} at ${item.company}: ${item.salaryMin} to ${item.salaryMax} a ${item.salaryPeriod}`);
});

Performance and limits

MetricValue
Jobs per results pageabout 8 to 15
Typical speed (search only)about 15 to 25 pages a minute
Typical speed (with full details)about 10 jobs a minute
Jobs per runup to 10,000
CoverageJora Australia

Tips for best results

  1. Monitor new jobs: run a scheduled search with postedWithin: "24h" and sort: "date" every day
  2. Add a location to get local results, then widen or narrow with distanceKm
  3. Use several keywords in one run to cover related roles; duplicates are removed
  4. Turn on full job details when you need the description, the advertiser or the apply link
  5. Use salaryMin for salary studies: every job you get lists a salary
  6. Start small (50 to 100 jobs) to check the results, then scale up

FAQ

Which countries are covered? Australia. Jora has closed its New Zealand and Singapore sites, which now return no jobs; the actor tells you so in the log instead of returning other countries' jobs.

How do I get only the jobs posted today? Set postedWithin to 24h. Add sort: "date" to get the newest first.

Can I get more than 500 jobs for one search? Yes. Jora stops showing results after about 500 jobs per search. When you ask for more, the actor splits the search into narrower searches (by work type, date posted and newest first) and keeps collecting, removing duplicates, up to 10,000 jobs per run.

How does the minimum salary filter work? It keeps jobs whose advertised salary reaches your yearly amount, using the top of the advertised range. Hourly, daily, weekly and monthly pay is converted to a year. Jobs that do not show a salary are left out, so every row has a salary.

What is the difference between company and advertiser? company is the hiring employer. advertiser is who posted the job on Jora: often the employer itself, sometimes a recruitment agency, a government jobs portal or a job board. It comes with full job details.

What is the normalised title? Jora's standard name for the role: "Senior AML Systems and Data Analyst" becomes "Data Analyst" and "Data Insights and Reporting Analyst" becomes "Reporting Analyst", which makes counting and grouping jobs much easier.

What does workArrangement contain? "Remote" or "Hybrid" when Jora shows it on the listing. The actor never guesses: the value is null when Jora does not say.

Does the scraper get full job descriptions? Yes, with scrapeDetails on. Without it you get Jora's short summary of the job.

What is abstractType? How Jora wrote the summary: extended_llm is an AI-written summary, original is the employer's own text.

Can I start from job links? Yes. Paste job page links in startUrls to refresh a known list of postings; each link gives one row with all its details.

Support

Need help? We're here for you:

  • Feature requests: let us know what you need
  • Custom solutions: contact us for enterprise integrations or high-volume needs

Check out our other scrapers: SilentFlow on Apify