s1jobs.com Jobs Scraper avatar

s1jobs.com Jobs Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
s1jobs.com Jobs Scraper

s1jobs.com Jobs Scraper

Scrape job listings from s1jobs.com – Scotland's largest job board. Collect titles, salaries, locations, company info, and contract types at scale. Input search URLs and export structured data in JSON, CSV, and more.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Share

S1jobs Scraper: UK and Scotland job listings with salary, skills and application details

S1jobs Scraper turns any filtered search on s1jobs.com into a spreadsheet of job listings. It is for recruiters, labour market researchers, job aggregators and anyone who tracks vacancies in Scotland and the wider UK. You get title, employer, location with coordinates, contract type, salary, publication and expiry dates, core skills and more. Optionally, it adds the application URL or email, postcode and closing date for each job.

  • Use the filters you already know. Set keywords, city, distance, full or part time and the other filters on s1jobs.com, copy the URL and paste it in. The Actor reads every page of that search.
  • Several searches in one run. Add as many search URLs as you like. Jobs that appear in more than one search are saved once, by jobId.
  • Structured salary and location. salaryText plus numeric salaryLow and salaryHigh, and city, county, country and coordinates.
  • Optional detail lookup. Turn on fetchDetails to add applicationUrl, applicationEmail, postcode, closingDate and jobSkills.
  • No login or browser. It reads the site's JSON responses directly. Export to JSON, CSV, Excel or Google Sheets. See the Pricing tab for the current price.

Scope: This Actor covers s1jobs.com only. For other job boards see Indeed Scraper or SEEK Job Scraper for Australia.

What can you do with S1jobs Scraper?

GoalHow
Build a Scottish job feedSchedule a search URL and collect new jobIds each day.
Salary benchmarkingCompare salaryLow, salaryHigh and salaryRate by jobTypes or city.
Find who is hiringGroup by company, companyType (agency or employer) and isFeatured.
Skills demandCount coreSkills across a search.
Lead lists for recruitersTurn on fetchDetails and use applicationEmail or applicationUrl.
Map vacanciesPlot coordinates and filter by geoDistance from your search location.
Spot public sector and graduate rolesFilter on isPublicSector, graduate, apprenticeship and immediateStart.

How it compares

What you needS1jobs ScraperManual copy-pastePage-by-page HTML scrapers
Whole filtered searchEvery page, up to maxPagesA page at a timeYes
Salary as numberssalaryLow, salaryHigh, hourly valuesText onlyOften text only
Application URL and emailOptional detail lookupOpen every jobVaries
MaintenanceUses the site's JSON, not page layoutNoneBreaks when layout changes

Input

{
"searchUrls": [
"https://www.s1jobs.com/jobs/?Keywords=Nurse&FullOrPartTime=Full&JobLocation.City=Glasgow&Distance=10"
],
"maxPages": 10,
"maxResults": 0,
"fetchDetails": false
}
FieldTypeDefaultEffect
searchUrlsArray of stringsRequireds1jobs.com search URLs (they must start with https://www.s1jobs.com/jobs/?).
maxPagesInteger50Maximum result pages per search URL. Each page has 20 jobs. Range 1 to 500.
maxResultsInteger0Maximum jobs across all URLs. 0 means no limit.
fetchDetailsBooleanfalseOne extra request per job for application, postcode, closing date and skills fields.

Output

Each job is one dataset item. Fields from the example below come from the search results. Fields marked with details are added only when fetchDetails is on.

{
"jobId": "example-id",
"vacancyId": 123456,
"url": "https://www.s1jobs.com/job/...",
"title": "Staff Nurse",
"description": "Plain text without HTML...",
"company": "Example Health Board",
"companyType": "Employer",
"location": "Glasgow",
"city": "Glasgow",
"county": "Lanarkshire",
"country": "Scotland",
"coordinates": null,
"contractType": "Permanent",
"fullOrPartTime": "Full",
"salaryText": "£30,000 - £35,000",
"salaryLow": 30000,
"salaryHigh": 35000,
"publicationDate": "2026-09-30",
"expiryDate": "2026-10-30",
"coreSkills": [],
"isFeatured": false,
"isPublicSector": true,
"requiresCv": false,
"applicationMethod": null
}

The example is illustrative: values depend on the job. Details-only fields: canonicalUrl, closingDate, applicationEmail, applicationUrl, jobReference, postcode, jobSkills, salaryType, primaryCoreSkill, companyConfidential, status and more.

Notes:

  • Missing values are null. List fields are empty arrays and flags are false.
  • description is stripped of HTML and whitespace.
  • Salary fields are annual figures where the site provides them. Hourly figures are in salaryHourlyLow and salaryHourlyHigh.

Track s1jobs.com over time with scheduled runs

Most of the value comes from running the same search again and comparing. Apify can run the Actor for you on a schedule and send the results wherever you need them.

1. Save your input as a task

Open the Actor, set your search and options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.

Watch how to schedule an Actor:

Or schedule a saved task:

Common schedules:

Use caseFrequencyCron expression
New job alertsDaily0 6 * * *
Hiring trend monitoringWeekly (Monday)0 6 * * 1
Fast-moving job marketsTwice a day0 6,18 * * *

3. Send the results to a spreadsheet

Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:

4. Compare runs

  • New jobs: jobIds that were not in the previous run.
  • Closed jobs: jobIds that disappeared, or whose expiryDate has passed.
  • Salary changes: salaryLow and salaryHigh per jobId.
  • Hiring by employer: count of jobs per company over time.

FAQ

How many jobs can I get?

All jobs in your search, up to maxPages x 20 per URL and maxResults overall.

Why did I get few or no results?

Open your search URL in a browser first. If it shows no jobs there, the Actor finds none. The URL must start with https://www.s1jobs.com/jobs/?.

Is it fast?

The Actor waits half a second between pages and 0.3 seconds between detail requests, so large detail runs take a while. Leave fetchDetails off for speed.

Do I need a proxy or login?

No. There is no proxy or account setting.

Does s1jobs.com have an official API?

Not a public one that this Actor relies on. It reads the same JSON the site's own search uses.

Job ads are public. You are responsible for following the site's terms and data protection law, especially for any contact details.

Other job boards?

See Indeed Scraper, Naukri Scraper, Naukrigulf Jobs Scraper and We Work Remotely Jobs Scraper.

Cost

Pricing is shown on the Actor's Pricing tab. Platform usage is small because the Actor makes plain HTTP requests.

Support

Found a problem or need a field added? Open an issue in the Issues tab and include the run ID and your input.

This Actor is not affiliated with or endorsed by s1jobs.com. All trademarks belong to their owners.