Skillshouse Jobs Scraper
Pricing
from $1.99 / 1,000 results
Skillshouse Jobs Scraper
Scrape skillshouse.co.uk — Bradford district employment & skills hub powered by Alcium ATS. SSR HTML cards parsed in one HTTP fetch: ~100 vacancies with title, employer, location, contract type, logo. Optional detail fetch for salary + closing date. JSON or CSV out.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Share
SkillsHouse Bradford Jobs Scraper
Scrape the SkillsHouse Bradford jobs board at skillshouse.co.uk. Powered by Alcium Software ATS — but contrary to first appearances, the jobs page is fully server-rendered at /jobseeker/jobs-apprenticeships/. ~100 vacancies in one HTML fetch with title, employer, location, contract type, teaser description, employer logo, and per-job apply URL. Optional one-fetch-per-job detail enrichment for full HTML body + salary + closing date. JSON or CSV out, no compute charge per run, just per result.
How it works

✨ Why use this scraper?
SkillsHouse is the Bradford district's employment + skills hub — connecting residents to local employers across care, construction, retail, NHS, charity sector, and apprenticeships. Tracking Bradford labour-market openings? Building a regional jobs aggregator? Sourcing for apprenticeships?
- 🎯 Two starting points. The full listing URL (
/jobseeker/jobs-apprenticeships/) or any direct/vacancy-details/<id>/<slug>URL. - ⚡ One HTTP call for ~100 jobs. The listing page (321 KB) renders every vacancy as
.card-title+.user-name+.user-location+.card-buttoncards — no JavaScript needed. - 🏷️ Card-level structured data. Title, vacancy ref number, employer name, location, contract type (
Permanent/Contract/Apprenticeship), employer logo URL, short description teaser. - 📋 Detail-page enrichment (opt-in). Fetch each
/vacancy-details/<id>/<slug>for the full HTML body + labelledSalary/Closing Date/Hoursfields. - 🇬🇧 Bradford district focus. Bradford, Keighley, Shipley, Bingley, Ilkley — district-wide employer base across many sectors.
- 📤 Clean exports. One row per vacancy. JSON + CSV exported automatically.
🎯 Use cases
| Team | What they build |
|---|---|
| Bradford employment-and-skills programmes | Cross-employer daily hiring intelligence |
| Apprenticeship platforms | Auto-discover apprenticeship vacancies in the district |
| Recruiters | Bradford candidate-sourcing feeds across sectors |
| Sector publications | Auto-populate Bradford jobs landing pages |
| Local council / DWP | Labour-market tracking dashboards |
📥 Supported inputs
| URL pattern | Behaviour |
|---|---|
https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/ | Full listing (default — ~100 jobs) |
https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/vacancy-details/<id>/<slug> | Single job — fetches detail directly |
Leave startUrls empty for the full listing.
Not supported: the /jobs/ hub page (it's just menu navigation, no real listings); hosts outside skillshouse.co.uk.
🔄 How it works
- Fetch
/jobseeker/jobs-apprenticeships/— Alcium ATS SSR HTML (~321 KB). - For each
.card-button[href*="/vacancy-details/"]anchor, walk up to the parent card container. - Extract:
.card-title→ title.card-mid-text(skipping "Vacancy Ref" lines) → contract type.user-name→ employer.user-location→ location (title-cased).card-desc→ teaser descriptionimg→ logo URL
- For each (when
enrichDetail: true), fetch/vacancy-details/<id>/<slug>for the full description HTML + labelled fields. - Push one row per vacancy to the dataset.
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | ["https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/"] | Listing URL or single-job URLs. Empty = listing. |
enrichDetail | boolean | true | When true, fetches each /vacancy-details/<id>/<slug> page for the full HTML description + labelled Salary/Closing/Hours fields. Disable for listing-only output (still ~100 rows with title, employer, location). |
maxItems | integer | 1000 | Hard cap on rows pushed. |
maxConcurrency | integer | 3 | Parallel detail-page fetch limit. |
maxRequestRetries | integer | 5 | Retries before a failed request is given up. |
proxy | object | No proxy | Site does not anti-bot. |
📊 Output overview
Each scraped vacancy is one single dataset row of type: "job". Listing fields (title, employer, location, contract type) merged with optional detail-page enrichment (full description, salary, closing date, hours).
📦 Output sample
{"type": "job","source": "skillshouse.co.uk","sourceProvider": "alcium","jobId": "223915","slug": "223915","jobUrl": "https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/vacancy-details/223915/Support-Worker-%E2%80%93-16-hours-Keighley","applyUrlInternal": "https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/vacancy-details/223915/Support-Worker-%E2%80%93-16-hours-Keighley?apply=true","title": "Support Worker – 16 hours, Keighley","description": "<div>Are you ready to embark on a fulfilling…</div>","descriptionText": "Are you ready to embark on a fulfilling…","descriptionTeaser": "Are you ready to embark on a fulfilling…","companyName": "Catholic Care - Keighley","companyLogoUrl": "https://bradfordees.evolutive.co.uk/store/logos/490+1516922.jpg","location": "Keighley","remote": false,"salary": { "currency": "GBP", "min": 23000, "max": 25000, "raw": "£23,000 – £25,000" },"salaryRaw": "£23,000 – £25,000","hours": "16 hours","categories": [],"employmentTypes": ["Permanent"],"contractType": "Permanent","status": "publish","postedDate": null,"closingDate": "Friday 30 May 2026","modifiedDate": null,"applyType": "internal","applyUrl": "https://skillshouse.co.uk/jobseeker/jobs-apprenticeships/vacancy-details/223915/Support-Worker-%E2%80%93-16-hours-Keighley?apply=true","applyEmail": null,"externalApplyUrl": null,"scrapedAt": "2026-05-22T19:45:00.000Z"}
🗂 Key output fields
| Group | Fields |
|---|---|
| Identifiers | type, source, sourceProvider (alcium), jobId (Alcium vacancy ref), slug, jobUrl, applyUrlInternal, scrapedAt |
| Content | title, description (HTML, from detail), descriptionText (plain), descriptionTeaser (from listing card) |
| Dates | closingDate (raw text), modifiedDate |
| Employer | companyName, companyLogoUrl (from card img — hosted on bradfordees.evolutive.co.uk) |
| Location | location (title-cased), remote |
| Compensation | salary.{currency, min, max, raw}, salaryRaw, hours |
| Work pattern | contractType, employmentTypes[] |
| Apply flow | applyType (always internal), applyUrl (with ?apply=true), applyEmail (null), externalApplyUrl (null) |
❓ FAQ
Why is applyType always "internal"?
Skillshouse uses Alcium's internal apply flow — applicants click "Apply" on the listing and go through Alcium's form. The actor preserves the URL with ?apply=true in applyUrl for downstream redirect.
Why is salary sometimes null?
Salary is in the detail page, not the card. Enable enrichDetail: true (default) to fetch each vacancy detail and pick up the labelled Salary field.
Why are there sometimes duplicate-looking titles (e.g. 4× "Support Worker – 16 hours, Keighley")?
Each is a separate vacancy reference at the same employer — Alcium creates one record per role/shift even when titles match. Use jobId (numeric ref) as the unique key.
Can I scrape private pages or applicant data?
No. Only the public /jobseeker/jobs-apprenticeships/ listing and public /vacancy-details/<id>/<slug> pages.
How do I limit results?
Set maxItems. With ~100 jobs typically listed, maxItems: 150 covers everything safely.
💬 Support
- For issues or feature requests, please use the Issues tab on the actor's Apify Console page.
- Author's website: https://muhamed-didovic.github.io/
- Email: muhamed.didovic@gmail.com
🛠 Additional services
- Custom output shape, additional fields, or one-off datasets: muhamed.didovic@gmail.com
- Build a similar actor for other Alcium-Software-powered job boards in your area: drop an email.
- For API access (no Apify fee, just usage): muhamed.didovic@gmail.com
🔎 Explore more scrapers
See other scrapers at memo23's Apify profile — covering job boards, real estate, social media, and more.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by SkillsHouse Bradford, City of Bradford Metropolitan District Council, Alcium Software, Evolutive, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only the publicly available /jobseeker/jobs-apprenticeships/ listing page and public /vacancy-details/<id>/<slug> pages on skillshouse.co.uk — no authenticated endpoints, recruiter-only features, or content behind a login. Users are responsible for ensuring their use complies with skillshouse.co.uk's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.
SEO Keywords
skillshouse scraper, scrape skillshouse.co.uk, skillshouse bradford jobs api, alcium software ats scraper, bradford jobs scraper, bradford apprenticeships scraper, keighley jobs scraper, bradford employment skills hub api, Apify skillshouse, west yorkshire jobs scraper, bradford labour market data, bradford district recruitment data, evolutive ats scraper, bradford care jobs scraper, bradford nhs jobs scraper, charityjob alternative scraper, snicket alternative scraper, doing good leeds alternative scraper, uk regional jobs scraper, alcium ssr html scraper