Skip to content

Gupy Jobs Scraper

Try for free

Scrape gupy.io job listings in Brazil by keyword, state, city, remote/hybrid/on-site, job type or company, or from job, company and search URLs. Get the full description, requirements, benefits, address, hiring stages, deadlines and the employer's career page and social links.

💼 Gupy Jobs Scraper

Scrape job listings from Gupy (gupy.io), the Brazilian job board and career-page platform used by employers such as Stefanini, Moura and McDonald's (Arcos Dorados). Search by keyword, state, city, remote / hybrid / on-site, job type or company and get every job with its full description, requirements, benefits, address, hiring stages, deadlines and the employer's career page and social links. No login, no cookies, pay only for the jobs you get.

✨ Why use Gupy Jobs Scraper?

  • 📋 Full job records — description, requirements, responsibilities and benefits as HTML and clean text, plus address, district, contract type, deadlines and screening questions.
  • 🧭 Hiring stages in order — every published step of the selection process (registration, tests, interviews, offer) with its type and category.
  • 🏢 Employer data included — career page name, logo, website, LinkedIn, Instagram, Facebook and Glassdoor links, and Gupy's feedback badge.
  • 🎯 Gupy's own filters — state, city, workplace type, job type, company, jobs open to people with disabilities (PcD), posted within N days.
  • 🔗 Paste any Gupy link — job pages, company career pages (every open job of that company) or portal search pages with their filters.
  • ⚡ Fast and cheap — 100 jobs with full records in about 7 seconds, 10,000 in about 2 minutes, one flat price per job with details included.

🎯 Use cases

  • 📊 Labour-market research — track which roles, cities and contract types Brazilian employers are hiring for.
  • 🤝 Recruiting and lead generation — find companies that are hiring right now, with their website and LinkedIn page.
  • 🔔 Job alerts — schedule a daily run with "Posted within (days)" set to 1 and push new jobs to your sheet, Slack or CRM.
  • 🧪 Hiring-process analysis — compare how many stages and which tests companies use for the same role.
  • 🧑‍🦽 Inclusive hiring — list every job open to candidates with disabilities (PcD) in a state or city.

🚀 How to use

  1. Enter one or more search terms (e.g. analista, desenvolvedor, vendedor) or paste Gupy URLs.
  2. Optionally pick a state, cities, workplace type, job type or companies.
  3. Set Max jobs per search (0 = every job the search has).
  4. Click Start and wait a few seconds.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchTermsKeywords, one search each (e.g. analista, estágio). Empty = every job matching the filters.
startUrlsGupy job pages, company career pages (https://company.gupy.io/, every open job of that company) or portal search pages (their filters are kept).
maxResultsJobs per search term, company or URL (default 20, 0 = all).
fetchDetailsFull job record (on by default, same price).
state / citiesBrazilian state and city names as Gupy spells them.
workplaceTypesremote, hybrid, on-site.
jobTypesvacancy_type_effective (CLT), vacancy_type_internship, vacancy_legal_entity (PJ), vacancy_type_apprentice, ...
companiesEmployer names as shown on Gupy, or their career page address.
postedWithinDaysOnly jobs published in the last N days.
pwdOnly / friendlyBadgeOnlyOnly jobs open to PcD / only employers with the feedback badge.
sortBynewest, oldest or company.
{
  "searchTerms": ["analista de dados", "desenvolvedor"],
  "state": "São Paulo",
  "workplaceTypes": ["hybrid", "remote"],
  "jobTypes": ["vacancy_type_effective"],
  "postedWithinDays": 7,
  "maxResults": 50
}

Remote jobs on Gupy carry no city or state, so leave state and cities empty when you want remote work.

📤 Output

One row per job. The main fields:

FieldDescription
id, code, name, jobUrlJob ID, employer's code, title and link
description, descriptionPlainText, prerequisites, responsibilities, benefitsThe job text (HTML, plus a clean text version of all sections)
addressLine, addressDistrict, city, state, stateCode, country, countryCodeLocation
jobType, workplaceType, isRemoteWork, disabilities, quickApplyContract, workplace and application details
publishedDate, expiresAt, registerEndDate, applicationDeadline, expireDaysDates
jobSteps, jobRatingCriterias, applicationQuestions, requiredApplicationFieldsHiring stages, rated skills, screening questions, required documents
companyId, companySubdomain, careerPageName, careerPageUrl, careerPageLogo, careerPageWebsite, careerPageAboutEmployer and career page
companyLinkedin, companyInstagram, companyFacebook, companyGlassdoor, hasFriendlyBadgeEmployer links and badge
searchTerm, detailsFetched, scrapedAtWhich search found the job, whether the full record was added, and when

Example (long texts shortened):

{
  "id": 12612837,
  "code": "1061-12612837",
  "name": "Analista de Negócios",
  "jobUrl": "https://redemoura.gupy.io/job/eyJqb2JJZCI6MTI2MTI4MzcsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=?jobBoardSource=gupy_portal",
  "description": "<p>Há mais de 65 anos a Moura contribuí com novas ideias e tecnologias para termos as melhores soluções em energia e mover o futuro.</p>…",
  "descriptionPlainText": "Há mais de 65 anos a Moura contribuí com novas ideias e tecnologias para termos as melhores soluções em energia e mover o futuro.\n\nAqui, respeitamos e incentivamos a diversidade…",
  "benefits": "<p><strong><em>O que ofertamos?</em></strong></p>…",
  "addressLine": "Cais do Apolo, 222, Recife, Pernambuco, Brasil, 50030-230",
  "addressComplements": "15 ANDAR",
  "addressDistrict": "Recife",
  "city": "Recife",
  "state": "Pernambuco",
  "stateCode": "PE",
  "country": "Brasil",
  "countryCode": "BR",
  "jobType": "vacancy_type_effective",
  "workplaceType": "on-site",
  "isRemoteWork": false,
  "disabilities": true,
  "publishedDate": "2026-10-21T00:54:35.316Z",
  "expiresAt": "2026-11-25",
  "registerEndDate": "2026-11-27",
  "applicationDeadline": "2026-11-27T00:00:00.000Z",
  "quickApply": false,
  "jobSteps": [
    { "id": 82218045, "name": "Cadastro", "order": 0, "type": "register", "category": "registration" },
    { "id": 82218046, "name": "Entrevista Inteligente", "order": 1, "type": "offline", "category": "evaluation" },
    { "id": 82218047, "name": "Bate-Papo com o Time de Seleção", "order": 2, "type": "offline", "category": "interview" }
  ],
  "companyId": 1061,
  "companySubdomain": "redemoura",
  "careerPageId": 1588,
  "careerPageName": "Baterias Moura",
  "careerPageDisplayName": "Rede Moura",
  "careerPageUrl": "https://redemoura.gupy.io",
  "careerPageWebsite": "https://www.moura.com.br",
  "hasFriendlyBadge": true,
  "companyLinkedin": "https://www.linkedin.com/company/grupo-moura/",
  "companyInstagram": "https://www.instagram.com/bateriasmoura/",
  "searchTerm": "analista",
  "detailsFetched": true,
  "scrapedAt": "2026-10-21T05:34:36.748Z"
}

💰 Pricing

You pay $2.20 per 1,000 jobs ($0.0022 per job), full details included. Platform usage (compute and proxy) is billed on top and is tiny for this scraper: a typical run of 1,000 jobs uses well under one cent of usage, so 1,000 jobs ≈ $2.21. Rows the scraper cannot save are never charged, and you can cap any run with a maximum total charge.

❓ FAQ

Is it legal to scrape Gupy? The scraper only reads public job ads that Gupy publishes for anyone to see, without logging in. Make sure your use of the data complies with Brazil's LGPD and Gupy's terms, especially if you store or contact people.

Do I need a Gupy account or a proxy? No account, no cookies. The default datacenter proxy works well; switch to residential (Brazil) only if requests start failing.

How many jobs can I get? As many as Gupy lists. One search can page through up to 10,000 jobs; bigger searches are read from both ends and state by state, so a run with maxResults set to 0 can collect tens of thousands of jobs (we tested 30,000 unique jobs in one run).

Why is a field empty? Each employer decides what to publish. Benefits, district, social links, screening questions and images are often missing on the site itself. Remote jobs have no city or state.

Can I schedule it or use it from my code? Yes. Schedule runs in the console (e.g. daily with "Posted within (days)" = 1) and read the dataset through the API or an integration.

What if a company name does not match? Use the name exactly as it appears on the Gupy job card, or paste the company's career page address (e.g. redemoura.gupy.io). Unknown companies are listed in the run's status message.

⚠️ Limits

  • Only public job ads are scraped: no candidate data, no applications, nothing behind a login.
  • Jobs that employers publish only internally (internal mobility) are not on the public board.
  • Gupy's search lists at most 10,000 jobs per search. Bigger searches are read from both ends and state by state, which reaches up to 20,000 jobs per state: a run over every job on Gupy can miss part of São Paulo's 30,000+ jobs and non-Brazilian jobs without a state. Add a job type, city or search term to get them all.
  • City names must match Gupy's own spelling.
  • Salary is not a separate field on Gupy; when an employer publishes it, it is inside the description text.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.