Gupy Jobs Scraper: Brazil Company Vacancies | $1/1K avatar

Gupy Jobs Scraper: Brazil Company Vacancies | $1/1K

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Gupy Jobs Scraper: Brazil Company Vacancies | $1/1K

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

One Dollar Store

Maintained by Community

Actor 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.

Open it in Apify Console

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

VacanciesPrice
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 jobId or postedAt with 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

  1. Open the actor, type a job title such as desenvolvedor, press Start.
  2. Or paste this input:
{ "searchTerms": ["desenvolvedor"], "state": "São Paulo", "workplaceType": "remote", "maxItems": 100 }
  1. 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 ApifyClient
client = 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

FieldTypeDefaultWhat it does
searchTermslist of textnoneJob titles or keywords, one per line, up to 25. Each is searched on its own. Leave empty for the newest vacancies of any kind.
statechoiceanyOne of the 27 Brazilian states, spelled with accents as Gupy does (São Paulo, Paraná, Ceará).
citytextnoneA city, spelled in Portuguese, for example Campinas.
workplaceTypechoiceanyremote, hybrid or on-site.
jobTypechoiceanyeffective, internship, apprentice, temporary, talent_pool, autonomous, associate or legal_entity.
sortBychoicenewestnewest, oldest or relevance (Gupy's best match).
includeDescriptiontrue or falsetrueAdds the full vacancy text as plain text in description. Turn it off for smaller rows.
maxItemsnumber100Total 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

FieldMeaning
jobIdGupy's number for the vacancy. Stable, good for dropping repeats between runs.
titleJob title as posted.
companyName of the company career page that posted the vacancy. Some companies use a campaign name here. Confidential vacancies show the word Confidencial.
companyLogoLink to the company logo image.
jobTypeContract type: effective (regular contract), internship, apprentice, temporary, talent_pool, autonomous, associate or legal_entity.
workplaceTyperemote, hybrid or on-site.
city, statePlace of the vacancy. Empty for many remote vacancies.
postedAtWhen the vacancy was published, ISO 8601, UTC.
applicationDeadlineLast day to apply.
openToDisabilitiesTrue when Gupy marks the vacancy as open to people with disabilities.
urlThe vacancy on the company's own Gupy career site, where candidates apply.
searchTermThe keyword that found the vacancy. Empty when no keyword was used.
descriptionFull 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.
  • state must be one of the 27 state names. city is 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.
  • company is 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

Changelog

  • October 2026: first release.