Caterer.com Scraper – UK Hospitality Jobs, Salaries & Details avatar

Caterer.com Scraper – UK Hospitality Jobs, Salaries & Details

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
Caterer.com Scraper – UK Hospitality Jobs, Salaries & Details

Caterer.com Scraper – UK Hospitality Jobs, Salaries & Details

Scrape UK hospitality jobs from Caterer.com, including chef, hotel, restaurant, bar, and events roles. Search by keyword, location, filters, or URLs. Returns salary, employer, logo, location, skills, and 35+ fields, with optional full description, GPS, and company profile.

Pricing

from $1.00 / 1,000 job results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Caterer.com Hospitality Jobs Scraper

Scrape UK hospitality jobs from Caterer.com at scale: chef, restaurant, hotel, bar, and events roles. Search by keyword, location, and filters, or paste search URLs to paginate. Every job comes back with 35+ structured fields straight from the listing, and an optional detail pass adds the full description, GPS coordinates, structured address, employment type, valid-through date, and company profile.

Why this scraper

  • 35+ fields per job from the listing page alone, no detail fetch required: title, parsed salary, employer, logo, location, posting source, skills, snippet, and more.
  • Two ways to run: build a search from keyword + location + filters, or paste any Caterer.com search URL and walk it forward.
  • Real server-side filters: job type, advertiser type (direct employer vs agency), minimum salary by period (year / day / hour), posted-within window, and sort order.
  • Parsed salary: the free-text salary string is split into min, max, currency, and period (year / day / hour), including hourly rates common in hospitality.
  • Optional full details: GPS lat/lng, structured address, full description, employment type, valid-through date, and company profile.
  • Cost control built in: a residential request budget cap and a single clear result limit so a run never overspends.
  • Send results straight into Notion, Linear, Airtable, or Apify via optional MCP connectors.

Data you get

Sample shape, values are illustrative placeholders, not from a live listing.

FieldExample
jobId100000001
titleHead Chef
jobUrlhttps://www.caterer.com/job/head-chef/sample-agency-job100000001
applyUrlhttps://www.caterer.com/job/head-chef/sample-agency-job100000001
sourceSiteCaterer.com
datePosted2026-01-01T00:00:00.000Z
employer.nameSample Restaurant Group
employer.logoUrlhttps://www.caterer.com/CompanyLogos/00000000000000000000000000000000.png
location.textSoho, Central London (W1)
location.postalCodeW1
location.latitude51.5000
location.longitude-0.1300
salary.rawTextFrom £14 to £18 per hour
salary.min14
salary.max18
salary.currencyGBP
salary.periodhour
skillsMenu planning, Food safety
textSnippetWe are looking for an experienced head chef to lead our kitchen team.
isSponsoredfalse
description (detail)Full job description text appears here when fetchDetails is enabled.
employmentType (detail)FULL_TIME
industry (detail)Catering, Catering-Chef
validThrough (detail)2026-02-01T00:00:00.000Z
location.locality (detail)Soho
location.region (detail)London
location.country (detail)GB

How to use

Basic search in one city:

{
"mode": "search",
"locations": ["London"],
"keywords": "chef",
"maxListings": 20,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}

Search with filters (permanent chef roles, at least £30,000/year, posted in the last 7 days, newest first):

{
"mode": "search",
"locations": ["Manchester", "Leeds"],
"keywords": "chef",
"jobType": "permanent",
"minSalary": 30000,
"salaryType": "annual",
"postedWithin": 7,
"sortBy": "date",
"maxListings": 100,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}

Full details (adds description, GPS, employment type, company profile):

{
"mode": "search",
"locations": ["London"],
"keywords": "restaurant manager",
"fetchDetails": true,
"maxListings": 50,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}

Paginate pasted URLs (filter fields are ignored in URL mode):

{
"mode": "url",
"urls": [
"https://www.caterer.com/jobs/chef/in-london",
"https://www.caterer.com/jobs/in-edinburgh"
],
"maxPages": 5,
"maxListings": 200,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}

Input parameters

ParameterTypeDefaultDescription
modestringsearchsearch builds URLs from filters; url paginates URLs you paste.
locationsarray["London"]Towns, cities, counties, or regions (search mode). One search per location.
keywordsstring(empty)Role, skill, or employer to search for. Empty lists all hospitality jobs in the location.
jobTypestringanyany / permanent / contract / temporary / part-time / work-from-home.
companyTypestringanyany / employer (direct) / agency.
minSalaryinteger(empty)Lowest salary to include, paired with the salary period.
salaryTypestringannualannual / daily / hourly.
postedWithinstring00 (any) / 1 / 3 / 7 / 14 days.
sortBystringrelevancerelevance / date / salary-desc / salary-asc / distance.
urlsarray(example)Caterer.com search URLs to paginate (url mode).
fetchDetailsbooleanfalseFetch detail pages to add description, GPS, employment type, valid-through, company profile.
maxListingsinteger20Total jobs to collect across all searches. The main limit. 0 = unlimited.
maxPagesinteger0Optional page cap per search (25 jobs/page). 0 = no page limit; the run stops at maxListings.
maxResidentialRequestsinteger0Safety cap on residential requests per run. 0 = unlimited.
proxyobjectResidential GBConnection settings.

Output example

Sample shape, values are illustrative placeholders, not from a live listing.

{
"rowType": "job",
"scrapedAt": "2026-01-01T00:00:00.000Z",
"jobId": 100000001,
"jobUrl": "https://www.caterer.com/job/head-chef/sample-agency-job100000001",
"applyUrl": "https://www.caterer.com/job/head-chef/sample-agency-job100000001",
"sourceSite": "Caterer.com",
"title": "Head Chef",
"datePosted": "2026-01-01T00:00:00.000Z",
"employer": {
"id": 1000000,
"name": "Sample Restaurant Group",
"url": "https://www.caterer.com/jobs/sample-restaurant-group?cmpId=1000000",
"logoUrl": "https://www.caterer.com/CompanyLogos/00000000000000000000000000000000.png",
"isAnonymous": false
},
"location": {
"text": "Soho, Central London (W1)",
"postalCode": "W1",
"locality": "Soho",
"region": "London",
"country": "GB",
"latitude": 51.5000,
"longitude": -0.1300
},
"salary": { "rawText": "From £14 to £18 per hour", "min": 14, "max": 18, "currency": "GBP", "period": "hour" },
"skills": ["Menu planning", "Food safety"],
"textSnippet": "We are looking for an experienced head chef to lead our kitchen team.",
"isSponsored": false,
"description": "Full job description text appears here when fetchDetails is enabled.",
"employmentType": ["FULL_TIME"],
"industry": "Catering, Catering-Chef",
"validThrough": "2026-02-01T00:00:00.000Z",
"directApply": true,
"applyType": "DirectApply",
"detailFetched": true
}

Send results into your apps (MCP connectors)

Optionally pipe results into the apps you already use. Authorize a connector once under Apify, Settings, Integrations, then select it in the input. Set notionParentPageUrl for Notion. Each connector receives a condensed, human-readable summary per item (title plus key fields), not the full JSON; the complete record always stays in the Apify dataset. Supported: Notion, Linear, Airtable, Apify.

Plan requirement

Caterer.com accepts Apify Residential with country GB most reliably, which is the prefilled default. Listing pages occasionally work on Datacenter but are frequently refused, and full job details (fetchDetails) always need Residential GB. Datacenter and non-GB residential are refused on job pages. Apify Residential is available on the Starter plan and above. On the free plan a run may return few or no results; set proxy.apifyProxyGroups to ["RESIDENTIAL"] with apifyProxyCountry "GB" after upgrading.