Catho Jobs Scraper avatar

Catho Jobs Scraper

Pricing

from $10.00 / 1,000 jobs

Go to Apify Store
Catho Jobs Scraper

Catho Jobs Scraper

Every job on Catho, Brazil's biggest job board, in one run: recruiters see who is hiring and at what salary, HR teams benchmark pay by role and city, and analysts track demand by area, contract type and work model. Full descriptions and benefits, 1,000 jobs in under a minute.

Pricing

from $10.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Norm Data

💼 Catho Jobs Scraper

Extract job listings from Catho, Brazil's biggest job board: title, company, salary (as shown and as numbers), city, state, CEP, contract type, working hours, full description and the benefits list. Search by keyword, state or city, and filter by work model, contract, salary band, area and posting date. About 1,000 jobs with full details in under a minute.

Catho lists more than 200,000 open jobs. This Actor reads the same public pages a job seeker sees, page by page with no result cap, and turns each job into a clean row ready for a spreadsheet, a CRM or a salary analysis.

🎯 Who uses it?

🧑‍💼 Recruiters and staffing agencies

See who is hiring for a role, in which city and at what salary, and spot companies hiring many people at once.

💰 HR and compensation teams

Benchmark pay by job title, city and contract type with real published salaries, already parsed into numbers.

📈 Labor market analysts and journalists

Track demand by area, work model (remote, hybrid, on-site) and contract type across Brazil, on a schedule.

🛠️ Job board and HR tech builders

Feed an aggregator, alert service or matching model with fresh, structured Brazilian jobs.

✨ What it does

  • Search by one or more keywords, in one or more states or cities, or across all of Brazil.
  • Filters Catho itself offers: work model, contract type, professional area (78), salary band, salary shown only, posting date, and sort order.
  • No result cap: walks every page of a search, not just the first few hundred jobs.
  • Full details by default: full description, contract type, working hours, benefits list, every location with street and CEP, and the exact posting date.
  • Salary as numbers: "R$ 5.500", "A partir de R$ 3.000,00" or "A combinar" become salaryMin, salaryMax and a salaryToBeAgreed flag.
  • Paste a search link: reuse a search you already filtered on catho.com.br.

🏆 Why this scraper

  • Fast without shortcuts. About 1,000 jobs with full details in under a minute, with no browser and no proxy.
  • Every filter, not just a keyword box. Work model, contract, area, salary band and date are real inputs, not something you have to build into a URL by hand.
  • Numbers you can sort by. Salaries are parsed from Brazilian formatting into numbers, and "A combinar" is flagged instead of mixed in.
  • Honest about what Catho shows. Confidential companies stay confidential (company is empty and confidentialCompany is true). The work model is only filled in when you filter by it, because that's the only time Catho tells you.

⚖️ How it compares

CapabilityThis actorscrapers_lat/catho-brasil-jobs-scrapershahidirfan/Catho-Jobs-Scraper
Several keywords and locations in one runyeskeywords onlyone of each
Work model, contract, area and salary filtersyesnono
Posting date filter and newest-first sortyesnodate only
Full job descriptionyesexcerptyes
Benefits listyescount onlyno
Salary parsed into min/max numbersyesnono
Every location with street and CEPyesnono
Working hoursyesnono
Proxynone neededresidential proxiesApify Proxy recommended
Published speed~1,000 jobs/min with detailsnot stated~500 jobs in ~2 min

scrapers_lat also sells optional AI add-ons (summary, skills, salary estimate, translation) and a remote/home-office flag on every row. Catho has no structured work-model field on job pages, so this actor tags workModel from Catho's own filter instead of guessing from the description.

📦 What data you get

FieldDescription
jobId, urlCatho's job ID and the job page.
title, company, confidentialCompanyJob title and hiring company; confidential listings have no company name.
vacanciesHow many openings the job offers.
city, additionalCitiesMain city, and how many more cities the job is open in.
salary, salaryMin, salaryMax, salaryCurrency, salaryToBeAgreedThe salary exactly as shown, the same as numbers in BRL, and whether it's "A combinar".
benefitsCountNumber of benefits shown on the listing.
sponsored, recruiterActivePaid placement, and Catho's "active recruiter" badge.
postedAtPosting date (YYYY-MM-DD).
workModelRemote, hybrid or presential. Only present when you filter by work model.
searchKeyword, searchLocation, sourceWhich search produced the row, and always Catho.
description, contractType, workHours, benefits, locations, state, postalCode, companyLogoFrom each job's own page. Present only when Full job details is on (the default).
scrapedAtWhen the row was collected (UTC).

💡 Use cases

💰 Salary benchmark for developers in São Paulo

{ "maxItems": 1000, "keywords": ["desenvolvedor"], "locations": ["SP"], "onlyWithSalary": true }

🏠 Remote jobs only, newest first

{ "maxItems": 300, "keywords": ["analista de dados", "desenvolvedor"], "workModels": ["remote"], "sortBy": "newest" }

📋 PJ contractor roles posted this week

{ "maxItems": 500, "contractTypes": ["6"], "postedWithin": "7" }

🔗 Reuse a search you built on the site

{ "maxItems": 200, "pageUrl": "https://www.catho.com.br/vagas/enfermeiro/rj/?faixa_sal_id=5" }

⚙️ How the input is organised

SectionWhat it's for
Maximum jobsAlways first, caps the whole run.
SearchKeywords, locations, or a pasted Catho search link.
Job filtersWork model, contract type, professional area, salary band, salary shown only, posting date, sort order.
DetailsFull job details on or off.

💰 Pricing

Pay-per-event: a one-time $0.003 when the run starts, plus a price per job saved to your dataset. The price depends on your Apify plan tier:

Your Apify planPrice per job
Free$0.014
Bronze$0.0125
Silver$0.011
Gold / Platinum / Diamond$0.01

Approximate total cost (includes the $0.003 start fee):

Jobs collectedFreeBronzeSilverGold+
100$1.40$1.25$1.10$1.00
1,000$14.00$12.50$11.00$10.00
10,000$140.00$125.00$110.00$100.00

New Apify accounts start with $5 in free credit.

🚀 Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Catho Jobs Scraper.
  3. Type a keyword (or keep the prefilled one), add locations or filters if you like, set Maximum jobs, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

🤖 Use with AI agents (MCP)

Give an AI agent live access to Catho jobs through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/catho-scraper"

Then prompt it in plain language to run the scraper and read back the results.

🔧 Troubleshooting

A location was skipped. Use a state code ("SP") or "City - UF" ("Campinas - SP"). If every location you gave is unrecognizable, the run stops with 0 results instead of searching all of Brazil.

Some jobs show another city than the one I searched. Those jobs are open in several cities (additionalCities); Catho lists them under each one. Every location is in locations.

There's no workModel column. Catho only says whether a job is remote, hybrid or on-site when you filter by it. Pick one or more work models and every row gets tagged.

company is empty. The employer posted it as confidential (confidentialCompany is true).

A row has an error field. That job's own page didn't load (it may have just closed); the row keeps everything from the search results.

❓ FAQ

QuestionAnswer
Do I need a Catho account?No. Only public job pages are read.
Does it need a proxy?No.
Is there a limit on results?No. Every page of a search is read, so big searches return every job.
Can I search several keywords and cities in one run?Yes. Each combination runs its own search, and rows from all of them are mixed fairly.
Are salaries numbers?Yes, salaryMin and salaryMax in BRL, plus the original text in salary.
Does it include recruiter contact details?No. Catho doesn't publish them on job pages.
Is the data live?Yes, read fresh on every run.
Can I schedule it?Yes, with Apify's built-in Scheduler, for example daily with Posted within set to Today.

🛡️ Limits & responsible use

This Actor reads only Catho's public job pages. It never signs in and never applies to jobs. Company names are business information; use the data in line with Catho's terms and applicable law (LGPD).

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

🧪 Local development

bun install
bun run typecheck
node test/qa.mjs
apify run

Local results are stored in storage/datasets/default.