
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape au.jora.com job listings across Australia: title, company, location, salary range, job type, work arrangement, category, posting date, source job board and full description. Search by keyword, location and filters, or paste Jora URLs.
Collect job listings from Jora Australia (au.jora.com) in seconds: title, company, location, salary range, job type, work arrangement, category, industry, posting date, original job board and the full description. Search by keyword and location with Jora's own filters, or paste Jora links. No login, no browser, from $0.85 per 1,000 jobs.
software developer, nurse, warehouse) and an optional location (Sydney, Melbourne VIC, QLD, 2000).https://au.jora.com/j?q=nurse&l=Perth or https://au.jora.com/Nurse-jobs-in-Melbourne-VIC, or single job pages.| Field | What it does |
|---|---|
searchQueries | Keywords, one Jora search each. |
location | City, suburb, state or postcode in Australia. Empty = all of Australia. With no keywords, every job in that location. |
startUrls | Jora search or job URLs. Filters in a search URL are kept. |
maxResults | Jobs to save in total (0 = no limit). |
maxResultsPerSearch | Optional cap per keyword or URL. |
postedWithin | any, 24h, 7d, 14d or 30d. |
jobType | full_time, part_time, permanent, contract, casual or internship. |
minSalary | Minimum yearly salary in AUD (Jora's salary filter). |
radiusKm | Distance from the location: 0, 5, 10, 25, 50 or 100 km. |
sortBy | relevance or date (newest first). |
includeDescription | Load the full description, source job board and apply link (on by default). |
splitLargeSearches | Go past Jora's ~500-jobs-per-search limit (on by default). |
{
"searchQueries": ["software developer", "data analyst"],
"location": "Sydney",
"postedWithin": "7d",
"jobType": "full_time",
"maxResults": 200
}
One row per job.
| Field | Description |
|---|---|
id, url | Jora job id and job page. |
title, company, location | As shown on Jora. |
salary, salaryMin, salaryMax, salaryPeriod, salaryCurrency | Salary text and parsed range (HOUR, DAY, WEEK, MONTH, YEAR; AUD). |
jobType, jobTypes | Full time, Part time, Contract, Casual/Temporary, Permanent, Internship. |
workArrangement, noExperienceRequired | Remote or Hybrid badge; "No experience required" badge. |
postedAgo, postedAt | Relative age (2d ago) and the approximate UTC time computed from it. |
category, industry | Jora's job sub-category and industry. |
sourceSite | Job board the listing comes from, for example seek.com.au. |
abstract | Jora's short summary bullets. |
descriptionText, descriptionHtml | Full description. |
applyUrl | Jora's apply link, which forwards to the employer or job board. |
sponsored | Promoted listing. |
searchQuery, searchLocation, searchPage, position, searchUrl | Which search found the job and where. |
scrapedAt | When the job was saved. |
Example (from a test run, description shortened):
{
"id": "60cb8f2ef6c4c326466c146544a0587f",
"url": "https://au.jora.com/job/Developer-Programmer-60cb8f2ef6c4c326466c146544a0587f",
"title": "Developer Programmer",
"company": "Mintwell",
"location": "Sydney CBD NSW",
"salary": "$90,000 - $100,000 a year",
"salaryMin": 90000,
"salaryMax": 100000,
"salaryPeriod": "YEAR",
"salaryCurrency": "AUD",
"jobType": "Full time",
"jobTypes": ["Full time"],
"workArrangement": null,
"noExperienceRequired": false,
"postedAgo": "2d ago",
"postedAt": "2026-10-19T12:43:46Z",
"category": "Developers/Programmers",
"industry": "Information & Communication Technology",
"sourceSite": "seek.com.au",
"abstract": "• Translate business requirements into technical solutions\n• Develop and maintain software applications, websites, and client portals\n• Bachelor’s degree in Computer Science or related field required",
"descriptionText": "Mintwell is a growing wealth and financial services organisation based in Sydney. We are seeking a skilled Developer Programmer ...",
"descriptionHtml": "<p>Mintwell is a growing wealth and financial services organisation based in Sydney. ...</p>",
"applyUrl": "https://au.jora.com/job/rd/60cb8f2ef6c4c326466c146544a0587f",
"sponsored": false,
"country": "AU",
"searchQuery": "software developer",
"searchLocation": "Sydney",
"searchPage": 1,
"position": 1,
"searchUrl": "https://au.jora.com/j?q=software+developer&l=Sydney",
"scrapedAt": "2026-10-21T12:43:46Z"
}
$0.85 per 1,000 jobs ($0.00085 per job), charged only for jobs saved to your dataset. Platform usage (compute and datacenter proxy traffic) is billed on top and is small: about $0.0015 for 100 jobs and about $0.01 for 1,000 jobs in our test runs.
Example: 1,000 jobs with full descriptions ≈ $0.85 + about $0.01 usage ≈ $0.86.
Set a maximum charge for a run and the scraper stops cleanly when it is reached, never charging beyond it.
Is it legal to scrape Jora? The scraper only reads public job listings that anyone can see without an account. Check that your use of the data follows the site's terms and the privacy laws that apply to you.
Do I need a Jora account or my own proxies? No. No login is used. The default datacenter proxy works; if Jora keeps refusing it, the run switches to Australian residential proxies by itself.
How many jobs can I get? Jora shows about 500 jobs per search. With "Go past Jora's 500-job limit" on, a bigger request is repeated per state, job type and sort order, and duplicates are removed. Narrow searches end when Jora has no more jobs, and the status message says so.
Why is a field empty? Jora only shows what the employer published: about half of all jobs have no salary, and Remote/Hybrid is only set when the listing says so. If a description could not be loaded after retries, the job is still saved with its search-card data and the status message counts it.
Which countries are covered? Australia. Jora closed its New Zealand, Singapore, Hong Kong, Indonesia and Malaysia sites; links to them are skipped with a clear message.
Can I schedule it or use the API? Yes. Schedule a daily run with "Last 24 hours" to collect new jobs, and fetch results through the API or integrations.
postedAt is computed from Jora's relative age ("3mo ago") and is approximate.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch keywords
Job titles, skills or companies to search for, one per line, for example software developer, nurse or warehouse. Each keyword is a separate Jora search.
locationstringOptionalLocation
Australian city, suburb, region, state or postcode, for example Sydney, Melbourne VIC, Perth WA, QLD or 2000. Leave empty to search all of Australia. With a location and no keywords, every job in that location is listed.
startUrlsarrayOptionalJora URLs
Jora search pages (au.jora.com/j?q=...&l=..., au.jora.com/Nurse-jobs-in-Melbourne-VIC) or single job pages (au.jora.com/job/...). Filters set on the site are kept.
maxResultsintegerOptionaldefault 20Max results
Maximum number of jobs to save in total, across all keywords and URLs. Use 0 for no limit.
maxResultsPerSearchintegerOptionaldefault 0Max results per search
Cap the jobs saved per keyword or search URL, so one broad search does not use up the whole limit. 0 means no cap.
postedWithinenumOptionaldefault "any"Date posted
Only jobs listed within this time.
jobTypeenumOptionaldefault "any"Job type
Only jobs of this work type, as Jora classifies them.
minSalaryintegerOptionalMinimum yearly salary (AUD)
Only jobs paying at least this much a year in Australian dollars, for example 90000. Jora's own salary filter (hourly pay is converted by Jora). Leave empty for any salary.
radiusKmenumOptionaldefault "default"Distance from location
How far from the location to search. Only used with a location.
sortByenumOptionaldefault "relevance"Sort by
Relevance (Jora's default order) or newest first.
includeDescriptionbooleanOptionaldefault trueFull job description
Load each job's full description (text and HTML), the original job board it came from and the apply link. Turn off for faster runs with the search-card data only (title, company, location, salary, job type, summary bullets).
splitLargeSearchesbooleanOptionaldefault trueGo past Jora's 500-job limit
Jora shows at most about 500 jobs per search. When you ask for more, the search is repeated per state (or per job type when a location is set) and duplicates are removed.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for Jora. The run switches to Australian residential proxies by itself if Jora keeps refusing datacenter addresses.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | null | Jora's job id (32 hex characters). |
| url | string | null | Job page on au.jora.com. |
| title | string | null | Job title. |
| company | string | null | Hiring company or recruiter. |
| location | string | null | Suburb, city and state as Jora shows it. |
| salary | string | null | Salary text as shown, for example $90,000 - $100,000 a year. |
| salaryMin | number | null | Lower salary bound parsed from the salary text. |
| salaryMax | number | null | Upper salary bound parsed from the salary text. |
| salaryPeriod | string | null | HOUR, DAY, WEEK, MONTH or YEAR. |
| salaryCurrency | string | null | AUD when a dollar salary is shown. |
| jobType | string | null | Work type(s), for example Full time or Contract. |
| jobTypes | array | null | Every work type badge on the job. |
| workArrangement | string | null | Remote or Hybrid when Jora shows it. |
| noExperienceRequired | boolean | null | True when Jora marks the job as needing no experience. |
| postedAgo | string | null | Relative age as shown, for example 2d ago. |
| postedAt | string | null | Approximate posting time (UTC) computed from the relative age. |
| category | string | null | Job sub-category, for example Developers/Programmers. |
| industry | string | null | Industry, for example Information & Communication Technology. |
| sourceSite | string | null | Job board the listing comes from, for example seek.com.au. |
| abstract | string | null | Jora's short summary bullets from the search card. |
| descriptionText | string | null | Full job description as plain text. |
| descriptionHtml | string | null | Full job description as HTML. |
| applyUrl | string | null | Jora's apply link, which forwards to the employer or job board. |
| sponsored | boolean | null | True for sponsored (promoted) listings. |
| country | string | null | Always AU. |
| searchQuery | string | null | Keyword of the search that found the job. |
| searchLocation | string | null | Location of the search that found the job. |
| searchPage | number | null | Result page the job was found on. |
| position | number | null | Rank of the job in the search results. |
| searchUrl | string | null | Jora search that found the job. |
| scrapedAt | string | null | When the job was saved (UTC). |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved job listing. | $0.00085 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/jora-scraper').call({
"searchQueries": [
"software developer"
],
"location": "Sydney",
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/jora-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/jora-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Keyword search over all of Australia with full descriptions.
Paste Jora search pages and single job pages.
Job type, minimum salary, distance and newest-first filters.
Every job in a location, search-card fields only.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.