Totaljobs Scraper: UK Jobs, Salaries & Descriptions

The NanoScrape Totaljobs Scraper is an Apify actor that extracts job listings from totaljobs.com. It returns 53 fields per result including title, company, location, description, postcode, priced at $5/1k result, with no API key or monthly subscription required.

TotalJobs (General, UK): 30+ fields including salary min/max/currency/period and posting date (source platform). UK job board covering all sectors and regions. Pay-per-result.

Open on Apify →
Pricing
$5.00 / 1,000 detail result
Runtime
Cloud (Apify)
Proxy
Search: datacenter · Details: residential
Coverage
UK

What you can scrape — 53 fields per result

FieldTypeExampleGroupFill %
_typestringjobCore100%
idstring108224074Core100%
titlestringSoftware Engineer, ObservabilityCore100%
job_urlstringhttps://www.totaljobs.com/job/software-engineer-observability/oxford-nanopore-technolog...Core100%
source_urlstringhttps://www.totaljobs.com/job/software-engineer-observability/oxford-nanopore-technolog...Core100%
company_namestring | nullOxford Nanopore TechnologiesCore100%
company_logo_urlstring | nullhttps://tjgliveassets.s3.eu-west-1.amazonaws.com/company-logos/43965e54a6004fc090b7eb41...Core88%
company_idinteger | null1434103Core100%
company_urlstring | nullhttps://www.totaljobs.com/jobs/oxford-nanopore-technologies?cmpId=1434103&cmp=1Core100%
apply_urlstring | null(populated when data available)Core—
contact_urlsarray[]Core4%
source_platformstringtotaljobs.comCore100%
harmonised_idstring | nullbacf5b09-d160-4e12-9bfd-2c2e91d542deCore100%
companystring | nullOxford Nanopore TechnologiesCompany100%
company_websitestring | null(populated when data available)Company—
company_benefitsarray[]Company—
locationstringOxfordLocation100%
countrystringUKLocation100%
postcodestring | nullLocation48%
regionstring | nullSouth EastLocation32%
descriptionstring | nullWe are looking for a Software Engineer with an observability focus to join our Operatio...Description40%
description_fullstring | nullWe are looking for a Software Engineer with an observability focus to join our Operatio...Description40%
description_htmlstring | null<p>We are looking for a Software Engineer with an observability focus to join our Opera...Description40%
description_mdstring | nullWe are looking for a Software Engineer with an observability focus to join our Operatio...Description40%
description_snippetstring | nullWe are looking for a Software Engineer with an observability focus to join our Operatio...Description100%
salary_minnumber | null(populated when data available)Salary28%
salary_maxnumber | null(populated when data available)Salary28%
salary_currencystring | null(populated when data available)Salary28%
salary_periodstring | null(populated when data available)Salary28%
salary_textstring | nullUnspecifiedSalary92%
employment_typestring | nullFull-timeEmployment40%
working_patternstring | null(populated when data available)Employment—
remote_optionstring | null(populated when data available)Employment—
requirementsarray[]Requirements—
skillsarray[]Requirements—
posted_at_textstring | null2026-10-21T19:32:12.637ZMetadata100%
posted_at_datetimestring | null2026-10-21T19:32:12.637ZMetadata100%
scraped_atstring2026-10-22T05:29:25ZMetadata100%
is_cross_postedbooleanfalseMetadata100%
expires_atstring | null2026-12-02T20:32:12.637ZOther100%
contact_emailsarray[]Other—
contact_phonesarray[]Other—
search_querystring | nullSoftware EngineerOther100%
detail_statusstring | nullokOther80%
workload_mininteger | null100Other28%
workload_maxinteger | null100Other28%
work_from_homestring | nullOther—
is_sponsoredbooleanfalseOther100%
is_top_jobbooleanfalseOther100%
is_highlightedbooleanfalseOther100%
labelsarray[]Other—
is_partnershipbooleanfalseOther100%
is_backfilledbooleanfalseOther100%

Input example — showcase (full detail)

{
  "searchQueries": [
    "Software Engineer",
    "Data Analyst"
  ],
  "maxResults": 30,
  "maxResultsPerQuery": 10,
  "includeJobDetails": true,
  "includeCompanyDetails": true,
  "maxConcurrency": 3
}

Output example — real dataset item (PII scrubbed)

{
  "_type": "job",
  "id": "108224074",
  "title": "Software Engineer, Observability",
  "job_url": "https://www.totaljobs.com/job/software-engineer-observability/oxford-nanopore-technologies-job108224074",
  "source_url": "https://www.totaljobs.com/job/software-engineer-observability/oxford-nanopore-technologies-job108224074",
  "company_name": "Oxford Nanopore Technologies",
  "company": "Oxford Nanopore Technologies",
  "company_logo_url": "https://tjgliveassets.s3.eu-west-1.amazonaws.com/company-logos/43965e54a6004fc090b7eb41cd6ab1fd.png",
  "company_id": 1434103,
  "company_url": "https://www.totaljobs.com/jobs/oxford-nanopore-technologies?cmpId=1434103&cmp=1",
  "company_website": null,
  "location": "Oxford",
  "country": "UK",
  "postcode": "",
  "region": "South East",
  "salary_min": null,
  "salary_max": null,
  "salary_currency": null,
  "salary_period": null,
  "salary_text": "Unspecified",
  "employment_type": "Full-time",
  "working_pattern": null,
  "remote_option": null,
  "description": "We are looking for a Software Engineer with an observability focus to join our Operational Software Engineering team. As part of a cross-functional team supporting ONT’s R&D, Tech Transfer and Manufacturing operations, you will build and improve observability systems across multiple applications and deployment environments including on-prem VMs, HPC compute and storage systems, Kubernetes and AWS Elastic Container Service.\nThis role would suite someone with an interest in application observability, site reliability, and measuring user experience. There will also be opportunities to contribute to Python application development. \nA successful candidate will have a solid understanding of key observability concepts: metrics, logs, traces, dashboards, and alerts. They will be able to combine these with SQL data sources to build indicators measuring service quality and user behaviour.\nSome knowledge of Python APIs and web applications, AWS Services, CI/CD automation and container orchestration would be an advantage. \nKey Responsibilities\nApplication & Service ObservabilityBuild and improve observability systems with Grafana Cloud and CloudWatch.\nDevelop user experience indicators that connect service behaviour to the businesses value streams.\n\nApplication DevelopmentContribute to development of Python applications.\nContribute through GitLab merge requests, ensuring clean, efficient, and maintainable code.\nApply Infrastructure as Code principles and software security standards.\n\nOperational Support & Continuous ImprovementProvide second-line support for operational systems, working directly with internal users to resolve issues.\nImprove team documentation, processes, and working practices to raise delivery standards.\n\n#LI-Hybrid\n#LI-ZP1\n \n About Us\n Oxford Nanopore Technologies: Our goal is to bring the widest benefits to society through enabling the analysis of anything, by anyone, anywhere. The company has developed a new generation of nanopore-based sensing technology for faster, information rich, accessible and affordable molecular analysis. The first application is DNA/RNA sequencing, and the technology is in development for the analysis of other types of molecules including proteins. The technology is used to understand and characterise the biology of humans and diseases such as cancer, plants, animals, bacteria, viruses, and whole environments. With a thriving culture of ambition and strong innovation goals, Oxford Nanopore is a UK headquartered company with global operations and customers in more than 125 countries.",
  "description_full": "We are looking for a Software Engineer with an observability focus to join our Operational Software Engineering team. As part of a cross-functional team supporting ONT’s R&D, Tech Transfer and Manufacturing operations, you will build and improve observability systems across multiple applications and deployment environments including on-prem VMs, HPC compute and storage systems, Kubernetes and AWS Elastic Container Service.\nThis role would suite someone with an interest in application observability, site reliability, and measuring user experience. There will also be opportunities to contribute to Python application development. \nA successful candidate will have a solid understanding of key observability concepts: metrics, logs, traces, dashboards, and alerts. They will be able to combine these with SQL data sources to build indicators measuring service quality and user behaviour.\nSome knowledge of Python APIs and web applications, AWS Services, CI/CD automation and container orchestration would be an advantage. \nKey Responsibilities\nApplication & Service ObservabilityBuild and improve observability systems with Grafana Cloud and CloudWatch.\nDevelop user experience indicators that connect service behaviour to the businesses value streams.\n\nApplication DevelopmentContribute to development of Python applications.\nContribute through GitLab merge requests, ensuring clean, efficient, and maintainable code.\nApply Infrastructure as Code principles and software security standards.\n\nOperational Support & Continuous ImprovementProvide second-line support for operational systems, working directly with internal users to resolve issues.\nImprove team documentation, processes, and working practices to raise delivery standards.\n\n#LI-Hybrid\n#LI-ZP1\n \n About Us\n Oxford Nanopore Technologies: Our goal is to bring the widest benefits to society through enabling the analysis of anything, by anyone, anywhere. The company has developed a new generation of nanopore-based sensing technology for faster, information rich, accessible and affordable molecular analysis. The first application is DNA/RNA sequencing, and the technology is in development for the analysis of other types of molecules including proteins. The technology is used to understand and characterise the biology of humans and diseases such as cancer, plants, animals, bacteria, viruses, and whole environments. With a thriving culture of ambition and strong innovation goals, Oxford Nanopore is a UK headquartered company with global operations and customers in more than 125 countries.",
  "description_html": "<p>We are looking for a Software Engineer with an observability focus to join our Operational Software Engineering team. As part of a cross-functional team supporting ONT’s R&amp;D, Tech Transfer and Manufacturing operations, you will build and improve observability systems across multiple applications and deployment environments including on-prem VMs, HPC compute and storage systems, Kubernetes and AWS Elastic Container Service.</p><p>This role would suite someone with an interest in application observability, site reliability, and measuring user experience. There will also be opportunities to contribute to Python application development. </p><p>A successful candidate will have a solid understanding of key observability concepts: metrics, logs, traces, dashboards, and alerts. They will be able to combine these with SQL data sources to build indicators measuring service quality and user behaviour.</p><p>Some knowledge of Python APIs and web applications, AWS Services, CI/CD automation and container orchestration would be an advantage. </p><p><b>Key Responsibilities</b></p><ul><li><b>Application &amp; Service Observability</b><ul><li>Build and improve observability systems with Grafana Cloud and CloudWatch.</li><li>Develop user experience indicators that connect service behaviour to the businesses value streams.</li></ul></li><li><b>Application Development</b><ul><li>Contribute to development of Python applications.</li><li>Contribute through GitLab merge requests, ensuring clean, efficient, and maintainable code.</li><li>Apply Infrastructure as Code principles and software security standards.</li></ul></li><li><b>Operational Support &amp; Continuous Improvement</b><ul><li>Provide second-line support for operational systems, working directly with internal users to resolve issues.</li><li>Improve team documentation, processes, and working practices to raise delivery standards.</li></ul></li></ul><p>#LI-Hybrid</p><p>#LI-ZP1</p> <br> <p><b>About Us</b></p> <p>Oxford Nanopore Technologies: Our goal is to bring the widest benefits to society through enabling the analysis of anything, by anyone, anywhere. The company has developed a new generation of nanopore-based sensing technology for faster, information rich, accessible and affordable molecular analysis. The first application is DNA/RNA sequencing, and the technology is in development for the analysis of other types of molecules including proteins. The technology is used to understand and characterise the biology of humans and diseases such as cancer, plants, animals, bacteria, viruses, and whole environments. With a thriving culture of ambition and strong innovation goals, Oxford Nanopore is a UK headquartered company with global operations and customers in more than 125 countries.</p>",
  "description_md": "We are looking for a Software Engineer with an observability focus to join our Operational Software Engineering team. As part of a cross-functional team supporting ONT’s R&D, Tech Transfer and Manufacturing operations, you will build and improve observability systems across multiple applications and deployment environments including on-prem VMs, HPC compute and storage systems, Kubernetes and AWS Elastic Container Service.\n\nThis role would suite someone with an interest in application observability, site reliability, and measuring user experience. There will also be opportunities to contribute to Python application development. \n\nA successful candidate will have a solid understanding of key observability concepts: metrics, logs, traces, dashboards, and alerts. They will be able to combine these with SQL data sources to build indicators measuring service quality and user behaviour.\n\nSome knowledge of Python APIs and web applications, AWS Services, CI/CD automation and container orchestration would be an advantage. \n\n**Key Responsibilities**\n\n- Application & Service ObservabilityBuild and improve observability systems with Grafana Cloud and CloudWatch.Develop user experience indicators that connect service behaviour to the businesses value streams.\n- Application DevelopmentContribute to development of Python applications.Contribute through GitLab merge requests, ensuring clean, efficient, and maintainable code.Apply Infrastructure as Code principles and software security standards.\n- Operational Support & Continuous ImprovementProvide second-line support for operational systems, working directly with internal users to resolve issues.Improve team documentation, processes, and working practices to raise delivery standards.\n\n#LI-Hybrid\n\n#LI-ZP1\n\n \n **About Us**\n\n Oxford Nanopore Technologies: Our goal is to bring the widest benefits to society through enabling the analysis of anything, by anyone, anywhere. The company has developed a new generation of nanopore-based sensing technology for faster, information rich, accessible and affordable molecular analysis. The first application is DNA/RNA sequencing, and the technology is in development for the analysis of other types of molecules including proteins. The technology is used to understand and characterise the biology of humans and diseases such as cancer, plants, animals, bacteria, viruses, and whole environments. With a thriving culture of ambition and strong innovation goals, Oxford Nanopore is a UK headquartered company with global operations and customers in more than 125 countries.",
  "posted_at_text": "2026-10-21T19:32:12.637Z",
  "posted_at_datetime": "2026-10-21T19:32:12.637Z",
  "expires_at": "2026-12-02T20:32:12.637Z",
  "apply_url": null,
  "contact_emails": [],
  "contact_phones": [],
  "contact_urls": [],
  "search_query": "Software Engineer",
  "scraped_at": "2026-10-22T05:29:25Z",
  "source_platform": "totaljobs.com",
  "detail_status": "ok",
  "workload_min": 100,
  "workload_max": 100,
  "description_snippet": "We are looking for a Software Engineer with an observability focus to join our Operational Software Engineering team. As part of a cross-functional team supporting ONT’s R&D, Tech Transfer and Manufacturing operations, you will build and improve observability systems across multiple applications",
  "requirements": [],
  "company_benefits": [],
  "work_from_home": "",
  "harmonised_id": "bacf5b09-d160-4e12-9bfd-2c2e91d542de",
  "is_sponsored": false,
  "is_top_job": false,
  "is_highlighted": false,
  "labels": [],
  "skills": [],
  "is_partnership": false,
  "is_backfilled": false,
  "is_cross_posted": false
}

Cost math

Priced at $0.0050 per detail result. 10 detail results ≈ $0.05, 100 ≈ $0.50, 1,000 ≈ $5.00. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.

Who should use this

UK job board operators use TotalJobs as one of their primary sources for the full UK market inventory, relying on the native JSON API path and streaming output to keep their feeds current without rate-limit risk.

HR analytics teams tracking UK salary trends and location distributions get structured salary_min / salary_max / salary_period fields on every row, unlike raw HTML scrapers that embed pay in description text.

Lead generation teams use contact_emails and contact_urls extracted from employer job postings to reach hiring managers directly, with the deny-list ensuring only genuine employer domains surface.

Integrations

Run this actor directly on Apify (no code)

Click Open on Apify above to run totaljobs-scraper in your browser - no code, no install. In the Apify console you get:

Get your Apify API token

To run this actor from your own code you need an Apify API token. Get one in about a minute:

  1. Sign up for a free Apify account (Google, GitHub, or email).
  2. Go to Settings → Integrations → API tokens.
  3. Click Create a new API token. Copy it and keep it secret.

Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully. How many results that covers depends on the actor's price per result.

Call from code

Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~totaljobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/totaljobs-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/totaljobs-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)
// dotnet add package Apify.Client
using Apify.Client;

var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/totaljobs-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();
// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;

ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/totaljobs-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();

Use with AI agents (MCP)

This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.

https://mcp.apify.com?tools=santamaria-automations/totaljobs-scraper

Example prompt once connected:

"Use <code>totaljobs-scraper</code> to run a scrape on my target list and give me the results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Use with no-code platforms

Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.

  1. Add the n8n Apify node (installed by default on n8n Cloud; on self-hosted install @apify/n8n-nodes-apify).
  2. Set Actor to santamaria-automations/totaljobs-scraper.
  3. Choose operation Run Actor and get dataset, paste your input JSON, and connect a downstream node (Google Sheets, Postgres, webhook, ...).
  1. Create a new Zap with any trigger.
  2. Add a Webhooks by Zapier POST action to https://api.apify.com/v2/acts/santamaria-automations~totaljobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Body: your input JSON. Content-Type: application/json.
  1. Create a new scenario.
  2. Add an HTTP module: URL https://api.apify.com/v2/acts/santamaria-automations~totaljobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.
  3. Parse the response with a JSON module to iterate items downstream.
  1. Create a new workflow.
  2. Add an HTTP Request step: POST to https://api.apify.com/v2/acts/santamaria-automations~totaljobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Access steps.http.$return_value in subsequent steps.
  1. Install the API Connector plugin.
  2. Add a new API: POST https://api.apify.com/v2/acts/santamaria-automations~totaljobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.
  3. Initialize the call with your input, then reference the response array in workflow actions.

FAQ

How much does the totaljobs-scraper cost?

$5.00 / 1,000 detail result, billed per result on Apify. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.

What fields does it return?

53 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.

Is scraping this site legal?

Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.

Do I need an API key from the source platform?

No. This actor reads public pages over HTTP: search pages with datacenter proxies, detail pages with residential proxies. No API key, no OAuth, no rate-limit management on your side.

How fresh is the data?

Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.

Related actors in this category

Related tutorials

Open on Apify →