Gupy Jobs Scraper: Brazil vagas (city, remote filters, alerts) avatar

Gupy Jobs Scraper: Brazil vagas (city, remote filters, alerts)

Pricing

from $0.40 / 1,000 result items

Go to Apify Store
Gupy Jobs Scraper: Brazil vagas (city, remote filters, alerts)

Gupy Jobs Scraper: Brazil vagas (city, remote filters, alerts)

Gupy jobs scraper for Brazil: search vagas across the thousands of companies that use Gupy as their ATS. One row per posting with company, city and state, remote/hybrid, employment type, published date, deadline, skills and full description. Keyword and city filters, monitor mode alerts. No login.

Pricing

from $0.40 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Search vagas across the thousands of Brazilian companies that use Gupy as their applicant-tracking system, and get one flat row per posting, full description included — no login, no proxy.

What you get

Real rows from the example dataset (keywords: ["python"]):

titlecompanycity / stateworkplaceType
AI Platform Engineer | LLM, Python e DatabricksSmarthisSão José dos Campos / São Paulohybrid
#Hckt 2026 - Desenvolvedor Full Stack (Python e React)Claro no Hacktown 2026— / —remote
DEV Backend (Python) Pleno (Presencial Recife-PE)Stefanini GroupRecife / Pernambucoon-site

Full row: jobId, url, title, company, companyId, companyUrl, companyLogo, city, state, country, workplaceType, isRemote, employmentType, publishedAt, applicationDeadline, disabilitiesFriendly, skills, badges, description, keyword, rank, scrapedAt.

Use cases

  • Job boards and aggregators for Brazil — ingest structured vagas with company, location and deadline instead of parsing career pages one by one.
  • Recruiting research — see which Brazilian companies hire for a role, in which cities, and how many postings are remote or hybrid.
  • Job alerts — run monitor mode on a schedule and get only the postings that appeared since the last run.

Try it in 10 seconds

Hit Start/Try it — the input already works: keywords: ["python"], maxPages: 1, maxItems: 20, nothing required. Swap in your own keyword, city or state and run again.

To track a role or city over time instead of a one-off pull: save the task, set Mode to monitor, and put it on a schedule (Apify → Schedules → cron 0 8 * * 1 for weekly). Each run then returns only postings that are new or changed since last time.

How it works

Gupy is the applicant-tracking system behind the career pages of thousands of Brazilian companies, so its own portal is where most Brazilian vagas are published first.

  1. Each keyword is searched on Gupy's public portal API, 50 postings per page, up to maxPages.
  2. city, state and workplaceType are applied as search filters; results from several keywords are merged and deduplicated on the Gupy job id.
  3. Every posting is normalised into one flat row, including the full description text and the application deadline.
  4. In monitor mode the run compares against the previous run of the same task and returns only new or changed postings, optionally posting a summary to a webhook or Telegram chat.

Input

FieldMeaningDefault
keywordsJob title / skill keywords, each paginated separately["python"]
cityCity filter, spelled as on Gupy (e.g. São Paulo)empty
stateState filter in full (e.g. Minas Gerais)empty
workplaceTypeany, remote, hybrid or on-siteany
maxPagesResult pages per keyword (50 jobs per page)4
maxItemsStop after this many postings20
modescrape or monitor (only new/changed since the previous run)scrape
monitorStateIdState key for monitor mode outside a saved taskempty
webhookUrlHTTPS endpoint for the monitor-mode change summaryempty
telegramBotToken / telegramChatIdSend the monitor-mode summary to Telegramempty

Pricing

EventPrice
result$0.0005 per job ($0.50 per 1,000)
monitor-check$0.005 per monitor run
change$0.0005 per new/changed job

Charged only for jobs actually pushed. No proxy needed.

Found it useful? A short review on the Store page helps other people find this actor and tells us what to improve. If something looks wrong, open an issue on the actor page — issues are answered within a day.

Why this actor

  • Reads Gupy's own portal API: no login, no browser, no proxy, so runs are fast and cheap.
  • Full description, application deadline and the PWD / disabilitiesFriendly flag on every row — fields that most job exports drop.
  • Location already split into city, state and workplaceType instead of one free-text line.
  • Several keywords in one run, deduplicated on the Gupy job id, so overlapping searches are never charged twice.
  • You pay per pushed row; an empty run costs nothing beyond platform usage, and RUN_SUMMARY says why (no_matches, blocked, rate_limited, invalid_input, upstream_error).
  • Monitor mode with webhook and Telegram alerts.

Limits

  • Salary is not published by Gupy, so there are no salary fields.
  • skills is often an empty list — Gupy fills it only for companies that tag their postings.
  • Only postings published on the Gupy portal are covered; a company's career page that is not listed on the portal is not reachable.
  • Text is in Portuguese as published, with no translation.
  • City and state must be spelled as Gupy spells them (Portuguese names, not two-letter state codes).

FAQ

Como extrair vagas do Gupy? / How do I scrape jobs from Gupy? Put your search terms in keywords, optionally set city, state or workplaceType, and run. Each posting comes back as one row with company, location, dates and the full description.

Can I filter only remote jobs (vagas remotas)? Yes — set workplaceType to remote. The row also carries isRemote and workplaceType so you can filter again downstream.

How do I get an alert when a new vaga is published? Save the actor as a task with mode: monitor, schedule it, and set webhookUrl or the Telegram fields; each run then returns only new or changed postings.

Changelog

  • 0.1: initial release.

If this actor helped, a review on its Apify Store page makes it findable for other people. For bugs or a field you need, open a ticket on the Issues tab of this actor.