ASVA Jobs Scraper avatar

ASVA Jobs Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
ASVA Jobs Scraper

ASVA Jobs Scraper

Scrape the asva.co.uk Scottish visitor-attraction jobs board. RSS + detail-page enrichment: organisation, salary (parsed), location, job type, role type, full description. Castles, museums, distilleries, hotels — hospitality and tourism hiring. JSON or CSV out.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Turn the asva.co.uk visitor-attraction jobs board into structured Scottish hospitality & tourism hiring data. Reads the public RSS feed for fast listing, then enriches each row by fetching the detail page for organisation, salary, location, job type, and role-type taxonomies. JSON or CSV out, no compute charge per run, just per result.

How it works

How ASVA Jobs Scraper works

✨ Why use this scraper?

The Association of Scottish Visitor Attractions (ASVA) hosts a jobs board for its members — galleries, museums, castles, distilleries, gardens, hotels, parks. Tracking who's hiring across Scottish tourism? Benchmarking visitor-attraction pay? Sourcing for seasonal openings?

  • 🎯 Two starting points. The /jobs/feed/ RSS feed (default), the /jobs/ archive page, or any single /jobs/<slug>/ URL.
  • RSS feed as the primary source. One HTTP call returns the 10 most recent jobs with title, link, pubDate, author, description, and full content HTML — no pagination needed.
  • 🏛️ Detail-page enrichment (one-fetch-per-job). .job-header block carries organisation (e.g. National Galleries of Scotland), salary (e.g. £27,362 per annum), and location (e.g. Edinburgh). Body class carries job-type + role-type taxonomies.
  • 💰 Salary parsed. Free-text salary strings are decomposed into {currency, min, max, raw} when possible — salary.raw always preserves the original.
  • 🇬🇧 Scottish visitor attractions. National Trust Scotland, NGS, Historic Environment Scotland, distilleries, gardens, castles, museums, hotels.
  • 📤 Clean exports. One row per vacancy with merged RSS + detail-page enrichment. JSON + CSV exported automatically.

🎯 Use cases

TeamWhat they build
Visitor attractions (NGS, NTS, HES, distilleries)Cross-sector seasonal hiring intelligence
Hospitality recruitmentDaily new-vacancy feeds for visitor-services / catering / cleaning roles
Tourism researchersScottish tourism labour-market datasets
Workforce strategy / fundersVisitor-attraction pay benchmarks across the sector
Sector publicationsAuto-populate "jobs in Scottish tourism" landing pages

📥 Supported inputs

URL patternBehaviour
https://www.asva.co.uk/jobs/feed/RSS feed (default) — 10 most recent items
https://www.asva.co.uk/jobs/Jobs archive page — routed to the RSS feed for consistency
https://www.asva.co.uk/jobs/<slug>/Single job — synthetic RSS stub + detail-page fetch

Leave startUrls empty for the default RSS feed.

Not supported: filtering via the archive's ?role= / ?job= query strings (RSS doesn't paginate this way); hosts outside asva.co.uk.

🔄 How it works

  1. Bucket each startUrl as RSS feed vs direct detail URL.
  2. Fetch the RSS feed — get up to 10 items per request with title, link, pubDate, author, full content HTML.
  3. For each item, optionally fetch the /jobs/<slug>/ detail page (one HTTP call per job).
  4. Parse .job-header for Organisation, Salary, Location — labelled text extraction.
  5. Pull body classes job-type-<type> and role-type-<role> — humanised back to "Full Time" / "Visitor Services" etc.
  6. Push one merged row per vacancy with RSS + detail-page enrichment.

⚙️ Input parameters

ParameterTypeDefaultDescription
startUrlsarray["https://www.asva.co.uk/jobs/feed/"]RSS feed, archive page, or single-job URLs. Empty = default feed.
enrichDetailbooleantrueWhen true, fetches each /jobs/<slug>/ page for organisation/salary/location/job-type/role-type. Disable for RSS-only output.
postedWithinHoursinteger(none)Only return rows posted in the last N hours (24 = last day, 72 = last 3 days). Empty/0 = all. Ideal for daily monitoring runs that only want fresh postings.
maxItemsinteger1000Hard cap on rows pushed (RSS returns the 10 most recent).
maxConcurrency / minConcurrencyinteger5 / 1Parallel detail-page fetch limits.
maxRequestRetriesinteger5Retries before a failed request is given up.
proxyobjectNo proxySite does not anti-bot — proxy optional.

📊 Output overview

Each scraped vacancy is one single dataset row of type: "job". RSS-derived fields (title, link, pubDate, content HTML) are merged with detail-page enrichment (organisation, salary, location, taxonomies).

📦 Output sample

{
"type": "job",
"source": "asva.co.uk",
"jobId": "19998",
"slug": "security-attendant-5",
"jobUrl": "https://www.asva.co.uk/jobs/security-attendant-5/",
"title": "Security Attendant",
"description": "<p>Full-time and Permanent<br />Salary £27,362 per annum plus 20% shift allowance…</p>",
"descriptionText": "Full-time and Permanent\nSalary £27,362 per annum plus 20% shift allowance…",
"companyName": "National Galleries of Scotland",
"companyWebsite": null,
"companyDomain": null,
"companyTagline": null,
"location": "Edinburgh",
"remote": false,
"salary": {
"currency": "GBP",
"min": 20,
"max": 27362,
"raw": "£27,362 per annum plus 20% shift allowance of £5,472 per annum"
},
"salaryRaw": "£27,362 per annum plus 20% shift allowance of £5,472 per annum",
"categories": ["Visitor Services"],
"employmentTypes": ["Full Time"],
"contractType": "Full Time",
"roleType": "Visitor Services",
"status": "publish",
"postedDate": "2026-05-19T15:45:02.000Z",
"modifiedDate": null,
"applyType": "internal",
"applyUrl": "https://www.asva.co.uk/jobs/security-attendant-5/",
"applyEmail": null,
"externalApplyUrl": null,
"authorName": "Pauline Martin",
"scrapedAt": "2026-05-20T00:13:00.000Z"
}

🗂 Key output fields

GroupFields
Identifierstype, source, jobId, slug, jobUrl, scrapedAt
Contenttitle, description (HTML, from RSS content:encoded), descriptionText (plain)
DatespostedDate (ISO from RSS pubDate), modifiedDate
EmployercompanyName (from .job-header > Organisation), companyTagline
Locationlocation (from .job-header > Location), remote
Compensationsalary.{currency, min, max, raw}, salaryRaw (always preserves original)
Taxonomiescategories[] (from role-type-* body class), employmentTypes[] (from job-type-*), contractType, roleType
Apply flowapplyType, applyUrl, applyEmail, externalApplyUrl
WordPress metaauthorName (RSS dc:creator)

❓ FAQ

Why is salary.min/max sometimes weird (e.g. picks up 20% as a number)? The salary parser extracts ALL numbers from the raw string. For "£27,362 per annum plus 20% shift allowance" you'll see min: 20, max: 27362. The salary.raw field is always correct — use it when the structured parse looks off.

Why only 10 jobs per run? ASVA's RSS feed returns the 10 most recent. The actor doesn't walk the archive's HTML pagination because the markup is inconsistent. For more, watch the feed daily and dedup downstream.

Why is applyType usually "internal"? ASVA job posts often don't include an mailto: or outbound URL in the body — applicants click the "Apply" button on the ASVA page itself which routes via JS. The actor preserves the ASVA URL in applyUrl for downstream redirect.

Can I scrape private pages or applicant data? No. Only the public RSS feed and public /jobs/<slug>/ pages.

How do I limit results? Set maxItems. Disable enrichDetail to skip per-job HTTP calls (10 jobs in 1 fetch).

💬 Support

🛠 Additional services

  • Custom output shape, additional fields, or one-off datasets: muhamed.didovic@gmail.com
  • Similar scrapers for other regional Scottish job boards (highlandjobs.scot, s1jobs, Goodmoves): 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 the Association of Scottish Visitor Attractions (ASVA), asva.co.uk, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.

The scraper accesses only the publicly available RSS feed and public job pages on asva.co.uk — no authenticated endpoints, recruiter-only features, or content behind a login. Users are responsible for ensuring their use complies with asva.co.uk's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.


SEO Keywords

asva scraper, scrape asva.co.uk, asva jobs api, association of scottish visitor attractions scraper, scottish visitor attractions jobs api, scottish hospitality jobs scraper, scottish tourism jobs scraper, Apify asva, national trust scotland jobs scraper, national galleries scotland jobs api, scottish heritage jobs scraper, scottish seasonal jobs data, visitor attraction recruitment data, rss feed scraper, scottish museum jobs api, scottish distillery jobs scraper, highlandjobs alternative scraper, s1jobs alternative scraper, goodmoves alternative scraper, scottish hiring trends data