Gupy Jobs Scraper: Brazil Company Vacancies | $1/1K
Pricing
from $1.00 / 1,000 results
Gupy Jobs Scraper: Brazil Company Vacancies | $1/1K
$1 per 1,000 results, platform usage included. Job vacancies from Gupy in Brazil: title, company, city, state, workplace type, contract type, posting date, deadline, apply link and full text. Filter by keyword, state, city and remote work. No login.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
One Dollar Store
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Gupy Jobs Scraper: job vacancies from Brazil's Gupy portal
$1 per 1,000 vacancies. Platform usage included. No rental, no minimum.
New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.Search the public Gupy job portal (portal.gupy.io) by keyword, state, city, workplace type and contract type, and get the vacancies as clean rows: title, company, city, state, remote or hybrid or on site, contract type, posting date, application deadline, the link where candidates apply, and the full vacancy text. One run covers every company that publishes on the portal. It reads the same public data the portal's own search page loads. There is no login and no API key.
What it costs
| Vacancies | Price |
|---|---|
| 1,000 | $1.00 |
| 10,000 | $10.00 |
| 100,000 | $100.00 |
Plus $0.001 per run. One flat price, platform usage included, so there is no separate compute or proxy bill. A daily run that collects the 300 newest vacancies for your keywords costs about $0.30, or about $9 a month.
Why use it
- Whole portal, not one company. You search every company that publishes on Gupy at once, instead of looking for each career site one by one.
- Filters that run before you pay. Keyword, state, city, workplace type and contract type are applied by Gupy itself, so you are charged only for vacancies that match.
- Newest first. The default order is by posting date, so a daily run picks up what appeared since yesterday. Compare
jobIdorpostedAtwith your last run. - Several keywords in one run. Give a list of job titles. Each is searched on its own and a vacancy found twice is returned once.
- Fast. A run of 25 vacancies finishes in about 3 seconds.
Quick start
- Open the actor, type a job title such as
desenvolvedor, press Start. - Or paste this input:
{ "searchTerms": ["desenvolvedor"], "state": "São Paulo", "workplaceType": "remote", "maxItems": 100 }
- Download the results as JSON, CSV or Excel, or read them through the API.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~gupy-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerms": ["analista de dados"], "maxItems": 50}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("one_dollar_store/gupy-jobs-scraper").call(run_input={"searchTerms": ["analista de dados"], "maxItems": 50})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["postedAt"], job["company"], job["title"], job["url"])
Use it from an AI assistant
Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:
https://mcp.apify.com?tools=one_dollar_store/gupy-jobs-scraper
Then ask, for example: "Find the 30 newest remote data analyst vacancies on Gupy and list the company and the link to apply."
Switching from another Gupy actor
Most Gupy actors take a search word and a result limit. Here they are searchTerms (a list, so one run can cover many searches) and maxItems. The core fields are title, company, city, state, workplaceType, postedAt and url.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
searchTerms | list of text | none | Job titles or keywords, one per line, up to 25. Each is searched on its own. Leave empty for the newest vacancies of any kind. |
state | choice | any | One of the 27 Brazilian states, spelled with accents as Gupy does (São Paulo, Paraná, Ceará). |
city | text | none | A city, spelled in Portuguese, for example Campinas. |
workplaceType | choice | any | remote, hybrid or on-site. |
jobType | choice | any | effective, internship, apprentice, temporary, talent_pool, autonomous, associate or legal_entity. |
sortBy | choice | newest | newest, oldest or relevance (Gupy's best match). |
includeDescription | true or false | true | Adds the full vacancy text as plain text in description. Turn it off for smaller rows. |
maxItems | number | 100 | Total vacancies for the run. Minimum 10, maximum 10,000. |
Example with filters:
{"searchTerms": ["engenheiro de dados", "analista de dados"],"state": "Minas Gerais","workplaceType": "hybrid","jobType": "effective","sortBy": "newest","includeDescription": false,"maxItems": 200}
Output fields
| Field | Meaning |
|---|---|
jobId | Gupy's number for the vacancy. Stable, good for dropping repeats between runs. |
title | Job title as posted. |
company | Name of the company career page that posted the vacancy. Some companies use a campaign name here. Confidential vacancies show the word Confidencial. |
companyLogo | Link to the company logo image. |
jobType | Contract type: effective (regular contract), internship, apprentice, temporary, talent_pool, autonomous, associate or legal_entity. |
workplaceType | remote, hybrid or on-site. |
city, state | Place of the vacancy. Empty for many remote vacancies. |
postedAt | When the vacancy was published, ISO 8601, UTC. |
applicationDeadline | Last day to apply. |
openToDisabilities | True when Gupy marks the vacancy as open to people with disabilities. |
url | The vacancy on the company's own Gupy career site, where candidates apply. |
searchTerm | The keyword that found the vacancy. Empty when no keyword was used. |
description | Full vacancy text as plain text, only when includeDescription is on. |
Sample results
Real rows from a test run on 20 October 2026 (descriptions cut after 110 characters, logo links left out).
[{"jobId": "12738083", "title": "DESENVOLVEDOR FULLSTACK PL", "company": "Stefanini Group", "jobType": "effective", "workplaceType": "hybrid", "city": "Brasília", "state": "Distrito Federal", "postedAt": "2026-10-19T19:37:28.398Z", "applicationDeadline": "2026-11-03T00:00:00.000Z", "openToDisabilities": true, "url": "https://stefanini.gupy.io/job/eyJqb2JJZCI6MTI3MzgwODMsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=", "searchTerm": "desenvolvedor", "description": "No Grupo Stefanini, acreditamos no poder da colaboração. Co-criamos soluções inovadoras em parceria com nossos..."},{"jobId": "12721072", "title": "Desenvolvedor(a) de Mercado | Varejo 5G", "company": "Brisanet", "jobType": "effective", "workplaceType": "on-site", "city": "João Pessoa", "state": "Paraíba", "postedAt": "2026-10-19T19:34:53.472Z", "applicationDeadline": "2026-12-13T00:00:00.000Z", "openToDisabilities": true, "url": "https://brisanet.gupy.io/job/eyJqb2JJZCI6MTI3MjEwNzIsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=", "searchTerm": "desenvolvedor", "description": "Estamos à procura de um(a) Desenvolvedor(a) de Mercado para realizar visitas aos Pontos de Vendas, inspecionar..."},{"jobId": "12748852", "title": "Desenvolvedor Java SR - 100% Remoto", "company": "Stefanini Group", "jobType": "effective", "workplaceType": "remote", "postedAt": "2026-10-19T20:06:11.501Z", "applicationDeadline": "2026-11-20T00:00:00.000Z", "openToDisabilities": true, "url": "https://stefanini.gupy.io/job/eyJqb2JJZCI6MTI3NDg4NTIsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=", "searchTerm": "desenvolvedor", "description": "No Grupo Stefanini, acreditamos no poder da colaboração. Co-criamos soluções inovadoras em parceria com nossos..."},{"jobId": "12733280", "title": "Desenvolvedor .NET Sênior (Backend)", "company": "Leega Consultoria", "jobType": "legal_entity", "workplaceType": "hybrid", "city": "São Paulo", "state": "São Paulo", "postedAt": "2026-10-19T13:32:26.913Z", "applicationDeadline": "2026-12-31T00:00:00.000Z", "openToDisabilities": true, "url": "https://leega.gupy.io/job/eyJqb2JJZCI6MTI3MzMyODAsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=", "searchTerm": "desenvolvedor", "description": "A Leega é uma empresa focada no atendimento eficiente e inovador em seus clientes. Isso não poderia ser difere..."}]
Limits
- The actor reads the portal's search. A vacancy that the portal does not list is not returned.
- The portal returns at most 10,000 results for one search. For a bigger pull, split the work by state, city, contract type or keyword.
- Gupy decides which vacancies match a keyword. When you need to be thorough, add a second wording of the same job title as another entry in
searchTerms. statemust be one of the 27 state names.cityis matched as Gupy spells it.- Salary is not part of the data the portal gives for a search, so there is no salary field. Applicant counts and recruiter names are not included either.
companyis the name of the career page. Some companies use a campaign name, and confidential vacancies show Confidencial.- The description is one block of plain text. Line breaks and bullet lists from the original posting are not kept.
- The data is read live when the run starts. A vacancy that the company closed no longer appears.
- The actor reads one page of up to 100 vacancies at a time with a short pause between pages, and it asks again a few times if the portal is busy.
FAQ
How much does it cost to scrape 10,000 Gupy vacancies? $10, plus $0.001 for each run.
Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price. The actor calls Gupy's public search directly and uses no proxy.
Where does the data come from? From the public search of the Gupy job portal, the same data its website shows to any visitor. It needs no key and no login.
How do I get only the new vacancies every day?
Schedule a daily run with sortBy set to newest and keep the jobId values you already have. You can also compare postedAt with yesterday's date.
Why did I get no rows? Your keyword, state, city or contract type matched nothing at that moment. The run still finishes without an error and the status line says "No results for this input." Try a shorter keyword or remove a filter.
Is it legal? The actor reads public data only, with no login. The vacancies are published so that anyone can read them and apply. How you use the data is up to you: follow Gupy's terms and the terms of each company, and the law where you live, including Brazil's data protection law (LGPD) if you combine the data with personal data. Do not use it to send unwanted messages.
Is this an official Gupy product? No. It is an independent tool and is not affiliated with or endorsed by Gupy.
Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.
Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.
More from The One Dollar Store
Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store
Jobs
- Foundit Jobs Scraper: Indian jobs with salary and experience filters.
- Naukri Jobs Scraper: Naukri.com jobs by keyword, city and experience.
- Greenhouse Jobs Scraper: Open roles from Greenhouse company boards.
- Lever Jobs Scraper: Open roles from Lever company boards.
- SmartRecruiters Jobs Scraper: Open roles from SmartRecruiters companies.
- Remote Jobs Scraper: Remote roles from two public job boards.
- Hirist Jobs Scraper: Tech job listings from hirist.tech.
Changelog
- October 2026: first release.