S1jobs.com Scraper avatar

S1jobs.com Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
S1jobs.com Scraper

S1jobs.com Scraper

[๐Ÿ’ฐ $2.5 / 1K] Extract every job on s1jobs.com, Scotland's largest job board. Search by keyword, town, sector, contract and salary, or paste ready-made links. Get title, salary, location, coordinates, employer, skills, full description and recruiter apply emails.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract every live vacancy from s1jobs.com, Scotland's largest job board โ€” job title, full advert text, salary band, contract type, employer, skills, map coordinates, and the advert's own apply route โ€” a recruiter email or the employer's application link. Search by keyword, town, sector, employer or salary from plain form fields, or paste s1jobs.com links and let the run do the rest. Built for Scottish recruitment agencies, UK labour-market analysts, job-aggregator and ATS teams, and lead-generation teams targeting actively hiring employers who need a clean, structured feed of Scottish vacancies without hand-crafting search URLs or paying an enrichment vendor to guess contact details.

Why This Scraper?

  • Latitude and longitude on every job collected from a search, plus a UK postcode on every enriched one โ€” 600 out of 600 on both counts in a live test run. Plot Scottish vacancies on a map, run travel-time or radius analysis, roll up by postcode district, and join to census geographies immediately. No separate geocoding pass, no per-address geocoding bill.
  • A working apply route on 599 of 600 jobs in a live test run โ€” either applyEmail, the address the advertiser actually put on the listing (427 of 600), or applyUrl, the employer's own application page on their careers site or ATS (172 of 600). Neither is a pattern guessed by a third-party enrichment service.
  • All 40 s1jobs sectors, each verified live โ€” Accountancy, Agriculture / Fishing / Forestry, Energy / Renewables, Tech / Digital / IT, Social Care / Social Services / Housing and 35 more. 74 filter values were tested against real result counts in total, with zero dead options.
  • Up to 60 fields per job, including the complete advert text โ€” the whole job description, not a truncated preview: salary band, specialisms, skill tags, employer accreditations, the employer's own profile blurb, and the employer's internal job reference on roughly five adverts in six.
  • Six role highlights the board itself flags โ€” apprenticeships, graduate-suitable roles, immediate start, public-sector roles, accredited employers, and listings that include a video.
  • Five sort orders and eleven search radii โ€” order by newest, best match, highest salary, lowest salary, or closest first; search a single town exactly, or fan out in steps from 5 up to 50 miles around it.
  • Verified duplicate-free output โ€” s1jobs republishes roughly 109 promoted listings on every page of results, and its own result pages overlap between pages. Duplicates are removed run-wide, so you never pay twice for the same vacancy. A 155-row test run returned 155 unique job IDs.
  • Whole-board coverage of ~3,100+ live Scottish vacancies โ€” leave every field blank for a full sweep, or narrow by employer name, annual salary band, permanent/contract/temporary, full or part time, direct employer vs recruitment agency, and four working arrangements including home working.
  • No URL-crafting needed, but pasted links still work โ€” mix s1jobs search pages and individual job pages in one list; pasted job links are always processed first so a broad search can never crowd them out of your result limit.

Use Cases

Recruitment & Staffing

  • Track competitor agency postings across Glasgow, Edinburgh and Aberdeen day by day
  • Build candidate-matching pipelines from full job descriptions and skill tags
  • Spot which employers are hiring directly and which are going through agencies
  • Monitor apprenticeship and graduate openings for early-careers placement desks

Labour-Market Research

  • Measure hiring volume across all 40 sectors in Scotland over time
  • Map vacancy density by council area, town, and coordinates
  • Compare public-sector vs private-sector hiring using the public-sector flag
  • Quantify the real spread of hybrid, remote, home-working and on-site roles

Salary Benchmarking

  • Build sector-by-sector pay bands from advertised annual minimums and maximums
  • Compare permanent vs contract vs temporary compensation for the same role titles
  • Track how advertised pay for a given job title moves month over month
  • Identify which sectors publish salary openly and which withhold it

Lead Generation

  • Reach hiring managers using the apply email or application link published on the advert
  • Build prospect lists of employers hiring in a target sector and radius
  • Prioritise accredited employers and public-sector bodies as higher-value accounts
  • Enrich CRM records with employer profile URLs, logos and descriptions

Job Aggregators & ATS Platforms

  • Populate a Scotland-focused job board with structured, ready-to-index listings
  • Feed vacancy data into an applicant tracking system with stable job IDs
  • Run scheduled newest-first pulls to keep an aggregator index fresh
  • Deduplicate reliably using the job ID that stays constant across pages

Getting Started

Simple: nursing jobs in Glasgow

{
"searchKeyword": "nurse",
"location": "Glasgow",
"maxResults": 100
}

Filtered: well-paid permanent tech and engineering roles near Edinburgh

{
"location": "Edinburgh",
"distanceMiles": "20",
"sectors": ["Tech / Digital / IT", "Engineering / Technical"],
"contractTypes": ["Permanent"],
"jobTypes": ["Full"],
"minSalary": 35000,
"sortBy": "newest",
"maxResults": 500
}

Advanced: hybrid public-sector energy roles around Aberdeen, highest paid first

{
"searchKeyword": "project manager",
"location": "Aberdeen",
"distanceMiles": "30",
"sectors": ["Energy / Renewables"],
"workingLocations": ["Hybrid working", "Home working"],
"advertiserType": "Employer",
"roleFlags": ["is_public_sector"],
"minSalary": 40000,
"maxSalary": 80000,
"sortBy": "salary",
"includeJobDetails": true,
"maxResults": 1000
}
{
"startUrls": [
"https://www.s1jobs.com/jobs/glasgow/",
"https://www.s1jobs.com/job/field-officer-127131934"
],
"maxResults": 0
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchKeywordstring""Word or phrase matched against job titles, employer names and descriptions, e.g. "HGV driver". Blank collects everything matching your filters.
locationstring""Scottish town or city, e.g. "Glasgow", "Inverness". Blank searches all of Scotland.
distanceMilesstring""Search radius around the town: "0" (that town only) or "5" through "50" in 5-mile steps. Only applies when a town is set.
startUrlsarray[]Paste s1jobs.com links โ€” search/browse pages, individual job pages, or both mixed together. When set, the keyword, place and filters are ignored because each link carries its own. Search links return the full field set; single job pages carry a slightly smaller one, because s1jobs publishes expiryDate, county, workingLocation, durationMessage and the video flags only on its search pages.

Filters

ParameterTypeDefaultDescription
sectorsarray[]Restrict to any of 40 sectors, e.g. "Healthcare / Pharmaceuticals". Picking several returns jobs from any of them.
jobTypesarray[]"Full" or "Part". Empty includes both.
contractTypesarray[]"Permanent", "Temporary", "Contract". Empty includes all.
workingLocationsarray[]"Onsite working", "Hybrid working", "Remote working", "Home working". Jobs that state no arrangement are excluded when you pick a value.
advertiserTypestring"""Employer" for direct employers only, "Agency" for recruitment agencies only.
companyNamestring""Restrict to one employer, spelled exactly as it appears on s1jobs.
minSalaryintegernoneMinimum advertised annual salary in GBP, e.g. 30000. Jobs without a published salary are excluded.
maxSalaryintegernoneMaximum advertised annual salary in GBP, e.g. 50000. Jobs without a published salary are excluded.
roleFlagsarray[]Any of apprenticeship, graduate, immediate_start, is_public_sector, has_accreditation, has_video. Picking several means a job must match all of them.

Results

ParameterTypeDefaultDescription
sortBystring"newest""newest", "best", "salary" (highest first), "_salary" (lowest first), or "closest" (needs a town).
includeJobDetailsbooleantrueOpens each vacancy's own page to add the UK postcode, the apply route (applyEmail or applyUrl), the employer's job reference, the employer description and accreditations. Costs no extra per job. If s1jobs is unusually slow, a job that has not answered within two and a half minutes simply keeps its standard information โ€” the job itself is never dropped.
maxResultsinteger100Total jobs to collect. Set to 0 to collect everything that matches (capped at 20,000 per run as a safety limit).

Output

Every job is one flat row. Fields with no value are omitted from that row, so results stay compact. The example below shows the full shape; a real row carries either applyEmail or applyUrl depending on how that employer takes applications, never both.

{
"jobId": "127131934",
"vacancyId": "1042288",
"jobUrl": "https://www.s1jobs.com/job/field-officer-127131934",
"jobTitle": "Field Officer",
"description": "We are looking for an experienced Field Officer to join our Glasgow team...",
"postedDate": "2026-07-24T09:41:03Z",
"closingDate": "2026-08-21T00:00:00Z",
"salaryText": "ยฃ32,000 - ยฃ36,000 per annum",
"salaryRate": "annual",
"salaryMin": 32000,
"salaryMax": 36000,
"salaryAnnualMin": 32000,
"salaryAnnualMax": 36000,
"contractType": "Permanent",
"jobType": "Full",
"workingHourPattern": "Regular working hours",
"workingLocation": "Hybrid working",
"location": "Glasgow, Glasgow City",
"city": "Glasgow",
"county": "Glasgow City",
"country": "Scotland",
"postcode": "G2 4JR",
"latitude": 55.8609,
"longitude": -4.2514,
"companyName": "Aberdeen City Council",
"companyUrl": "https://www.s1jobs.com/company/aberdeen-city-council",
"companyDescription": "One of Scotland's largest local authorities...",
"advertiserType": "Employer",
"coreSkills": ["Social Care / Social Services / Housing"],
"primaryCoreSkill": "Social Care / Social Services / Housing",
"specialisms": ["Housing Support"],
"skills": ["Case Management", "Safeguarding"],
"applicationMethod": "email",
"applyEmail": "recruitment@example-employer.co.uk",
"applyUrl": "https://careers.example-employer.co.uk/vacancies/1188",
"jobReference": "ACC-2026-1188",
"isPublicSector": true,
"requiresCv": true,
"hasVideo": false,
"scrapedAt": "2026-07-31T09:12:44Z"
}

Core Job Fields

FieldTypeDescription
jobIdstringStable s1jobs identifier โ€” use this to deduplicate across runs
vacancyIdstringSecondary vacancy identifier used by the board
jobUrlstringDirect link to the vacancy page
jobTitlestringAdvertised job title
descriptionstringFull advert text, not a truncated snippet
postedDatestringPublication date (ISO)
firstLiveDatestringDate the advert first went live (ISO)
closingDatestringApplication closing date (ISO)
expiryDatestringDate the advert is removed from the board (ISO)
durationMessagestringFree-text duration note, e.g. a fixed-term length
searchUrlstringThe s1jobs page this job was collected from
scrapedAtstringTimestamp the row was collected (ISO)

Location & Coordinates

FieldTypeDescription
locationstringHuman-readable location label as shown on the listing
citystringTown or city name
countystringCouncil area
districtstringDistrict within the council area
countrystringAlways Scotland for board listings
postcodestringUK postcode (with full job details on)
latitudenumberDecimal latitude, ready for mapping
longitudenumberDecimal longitude, ready for mapping

Salary

FieldTypeDescription
salaryTextstringSalary exactly as advertised, e.g. ยฃ32,000 - ยฃ36,000 per annum
salaryRatestringPay period, e.g. annual, hourly
salaryMinnumberLower bound at the advertised rate
salaryMaxnumberUpper bound at the advertised rate
salaryAnnualMinnumberLower bound normalised to an annual figure
salaryAnnualMaxnumberUpper bound normalised to an annual figure

Contract & Hours

FieldTypeDescription
contractTypestringPermanent, Temporary or Contract
jobTypestringFull or Part time
workingHourPatternstringWorking-hours pattern, e.g. Regular working hours, Shift work. Only a minority of employers publish it, and the share varies a lot by sector and sort order
workingLocationstringOnsite working, Hybrid working, Remote working or Home working

Employer & Apply Contacts

FieldTypeDescription
companyNamestringEmployer or advertising agency name
companyIdstringEmployer identifier on s1jobs
companyUrnstringEmployer reference used on the employer profile
companyUrlstringLink to the employer's s1jobs profile
companyLogoUrlstringEmployer logo image URL
companyDescriptionstringEmployer's own "about us" text
companyAccreditationsarrayEmployer accreditations, e.g. Living Wage, Disability Confident
advertiserTypestringEmployer (direct) or Agency
advertTypestringAdvert product type used for the listing
applicationMethodstringHow this advert takes applications: email or url
applyEmailstringRecruiter apply email as published on the advert, when applicationMethod is email
applyUrlstringThe employer's own application page on their careers site or ATS, when applicationMethod is url
jobReferencestringThe employer's own internal job reference, published on roughly seven adverts in eight
externalReferencestringReference used by the source ATS or feed

Classification & Skills

FieldTypeDescription
coreSkillsarraySectors the job belongs to, from the 40 s1jobs sectors
primaryCoreSkillstringThe single main sector for the role
specialismsarraySub-specialisms within the sector
skillsarrayIndividual skill tags attached to the advert
jobAccreditationsarrayAccreditations attached to this specific vacancy
publicSectorTypestringKind of public body, when the role is public sector

Role Flags & Media

FieldTypeDescription
isApprenticeshipbooleanAdvertised as an apprenticeship
isGraduateSuitablebooleanMarked suitable for graduates
isImmediateStartbooleanImmediate-start marker as published by s1jobs. The board does not currently populate this marker, so filter with the immediate_start role highlight instead of reading this field
isPublicSectorbooleanPublic-sector role
requiresCvbooleanA CV is required to apply
hasAccreditationbooleanEmployer holds at least one accreditation
hasVideobooleanListing includes a video
videoUrlstringLink to the listing's video, when present
isFeaturedbooleanFeatured listing on the board
isSponsoredbooleanPromoted listing

Tips for Best Results

  • Role highlights combine with AND, not OR. Ticking apprenticeship and graduate together returned just 3 jobs across the whole board. Pick one highlight at a time unless you deliberately want a razor-thin set.
  • immediate_start filters correctly even though the matching output flag stays false. The board narrows the result set server-side but never sets the field, so use the role highlight to filter and ignore isImmediateStart when analysing rows.
  • "Closest first" needs a town or city to measure from. Choose it without one and the run quietly switches to newest first and says so in the log โ€” set location to get the ordering you actually wanted.
  • For scheduled runs, pair "sortBy": "newest" with a small maxResults. s1jobs has no "posted in the last X hours" filter, so newest-first with a cap of 50โ€“100 is the cheapest way to pick up only fresh vacancies on a daily schedule.
  • maxResults is a floor, never a ceiling. Results arrive 20 at a time and the final page is kept whole, so a cap of 30 gives you 40 rows. You will never receive fewer than you asked for because of trimming.
  • Salary filters silently drop every job without a published salary. A large share of Scottish adverts withhold pay, so run once without minSalary/maxSalary to see how much of your target market advertises it before you filter.
  • Keep includeJobDetails on unless you are in a hurry. It is what adds the apply route, the UK postcode and the employer job reference โ€” and it does not change what you are charged, because billing is per job either way.
  • Build lead lists from applyEmail and applyUrl together. About seven adverts in ten publish a recruiter email and the other three send applicants to the employer's own site, so reading only applyEmail quietly drops a third of your reachable list. The split shifts with the sector you filter on.

Pricing

From $2.50 per 1,000 results โ€” cheaper than the alternatives on the store, with real search fields instead of hand-built URLs. Bronze, Silver and Gold subscribers pay progressively less; the table shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.30$0.28$0.27$0.25
1,000$3.00$2.80$2.65$2.50
10,000$30.00$28.00$26.50$25.00
100,000$300.00$280.00$265.00$250.00

A "result" is one unique job row in your dataset โ€” duplicates the board repeats across pages are removed before you are billed. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger your own APIs when a run finishes
  • Apify API โ€” Full programmatic access

This actor is built for legitimate recruitment research, labour-market analysis, salary benchmarking and job aggregation. You are responsible for complying with applicable laws, including UK GDPR, and with s1jobs.com's Terms of Service. Contact details published on job adverts are provided by employers for applications and recruitment enquiries โ€” do not use them for spam, harassment, or unsolicited bulk marketing, and honour any opt-out request you receive.