Daemon Data

Gupy Brazil jobs as JSON API

Gupy Jobs Scraper is a pay-per-record Apify Actor by Daemon Data that returns Brazil jobs from the Gupy portal with full descriptions, city, state, workplace type and contract type as JSON, CSV or Excel. It costs $0.0008 per job with the default options ($0.80 per 1,000); no login to the source site and no proxy or browser to set up on your side, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.

Daemon Data Gupy Jobs Scraper on Apify   Listing as plain text

Checked on 30 Oct 2026

the default run (the 50 newest jobs with descriptions) took 3.5 seconds on the Apify platform and cost $0.04 plus the $0.001 start fee. A full pull of every job the portal listed (9,879 jobs from 1,571 employers, published 26–29 October) took 308 seconds: 91.8% on-site, 6.7% hybrid, 1.5% remote; 85.4% regular CLT jobs, 3.7% apprenticeships, 3.5% temporary, 3.0% internships, 1.2% PJ; 76% marked open to people with disabilities (PcD; an earlier 240-job sample was misread as 30%); 42% in São Paulo state; every job had a description and deadline, 98% a city and state. Results come newest first. The full numbers, by state, city, employer and role, are in Brazil job postings on Gupy: what 9,879 new jobs in October 2026 show.

Who uses it, for what

You areWhat you get
Job aggregators and job boardsEvery new posting on Brazil's largest ATS portal as a daily feed (about 2,700 a day), with stable ids, full description text, location, workplace and vacancy type, de-duplicated across keywords and runs. Same conventions as the Welcome to the Jungle, Foundit, Apna and Shine Actors by the same publisher.
Recruiters and staffing agenciesWho is hiring for which roles, where and on which terms (CLT, PJ, estágio), refreshed daily, with the application deadline.
HR-tech and career-platform buildersA clean, structured job feed to show in your app, match against candidate profiles or power job alerts.
Labour-market analysts and employer-branding teamsPostings per company, state, city and workplace type; the share of remote and hybrid roles; PcD-inclusive vacancies.
Job-alert services and communitiesA daily list of new postings for a keyword and a state, delivered to Google Sheets, Slack, Telegram or a webhook.
AI agents (MCP)Ask Claude or ChatGPT "remote data analyst jobs on Gupy posted this week in São Paulo" and let it call this Actor through Apify's MCP server.

Output fields

The most useful top-level fields with values from a real record; the full list is id, title, url, company, companyUrl, companyLogo, careerPage, jobType, jobTypeRaw, workplaceType, isRemote, city, state, locationText, acceptsPwd, postedAt, applicationDeadline, description, searchTerm, scrapedAt. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idnumber12774503
titlestring"22463-Arquiteto Devops"
urlstring"https://globalhitss.gupy.io/job/eyJqb2JJZCI6MTI3NzQ1MDMsInNvdXJjZS...
companystring"Hitss Brasil"
companyUrlstring"https://globalhitss.gupy.io/"
companyLogostring"https://attachments.gupy.io/production/companies/57061/career/1425...
careerPagestring"globalhitss"
jobTypestring"effective"
jobTypeRawstring"vacancy_type_effective"
workplaceTypestring"remote"
isRemotebooleantrue
citynullnull
statenullnull
locationTextstring"Remote"
acceptsPwdbooleantrue

Input and how to call it

Example input. Fields and pricing were checked against the public listing on 2026-11-09; this build does not run paid example searches.

{
  "searchTerms": [
    "analista de dados"
  ],
  "states": [
    "São Paulo"
  ],
  "postedWithinDays": 7,
  "includeDescription": true,
  "maxResultsPerSearch": 50
}

One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~gupy-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["analista de dados"], "states": ["São Paulo"], "postedWithinDays": 7, "includeDescription": true, "maxResultsPerSearch": 50}'

Python: ApifyClient(token).actor("data_daemon/gupy-jobs-scraper").call(run_input=...). Python example · Node.js example · n8n workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/gupy-jobs-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

All input fields

FieldTypeMeaning
searchTermsarrayOptional. Gupy matches them against job titles and descriptions, e.g. analista de dados, python, vendedor, enfermeiro. Each keyword is one search. Leave empty to get every job on the portal, newest first (about 2,700 new jobs a day in late October 2026).
statesarrayBrazilian states, e.g. São Paulo, Minas Gerais, Rio de Janeiro, Paraná. Accent-less names (Sao Paulo) and two-letter codes (SP, MG, RJ) work too and are mapped to Gupy's spelling. Each state is one search (combined with every keyword). Applied by Gupy before anything is downloaded.
citiesarrayCity names, e.g. São Paulo, Curitiba, Belo Horizonte. Each city is one search (combined with every keyword). Applied by Gupy before anything is downloaded.
workplaceTypesarrayOnly jobs with these workplace types (checked on each job; on 30 Oct 2026 about 96% of the newest jobs were on-site). Empty = any.
jobTypesarrayOnly these Gupy vacancy types (checked on each job). Empty = any. effective is a regular (CLT) job; legal_entity is a PJ contract.
pwdOnlybooleanOnly jobs the employer marked as open to people with disabilities (acceptsPwd).
postedWithinDaysintegerOnly jobs published on Gupy in the last N days (e.g. 1 for a daily feed, 7 for weekly). Jobs come newest first, so the search stops at the first page of older jobs. 0 or empty = any date.
locationsarrayOnly jobs whose city or state contains one of these words (accent-insensitive), e.g. Campinas, Paraná. remote matches remote jobs. Unlike states and cities, this is checked after download; use it to combine a keyword search with several places in one run.
includeDescriptionbooleanFull job description as plain text (description). It costs the same either way; turn it off for smaller files.
maxResultsPerSearchintegerCap for each keyword × place search. Newest jobs come first. 0 = no cap (the portal lists its newest 10,000 jobs, about six days of postings on 30 Oct 2026).
maxResultsintegerStop after this many saved jobs. 0 or empty = no total cap (the run's maximum cost still applies).
onlyNewSinceLastRunbooleanFor schedules: remember delivered job ids (in a named key-value store in your account) and save only jobs that earlier runs with the same settings did not deliver. Skipped jobs are not charged.
stateNamestringName of the only-new memory. Empty = derived from the keywords, places and filters. Give two schedules the same name to share one memory.
skipIdsarrayGupy job ids you already have (the id field). They are neither saved nor charged.

Price

$0.0008 per job ($0.80 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.

EventPricePer 1,000Charged when
Job$0.0008$0.80One Gupy job saved to the dataset: id, URL, title, company and career site, city, state, workplace type (remote/hybrid/on-site), job type (CLT, internship, apprentice, temporary, PJ, ...), PcD flag, published date, application deadline and the full description. Skipped or filtered jobs are never charged.
Actor Start$0.001Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).

Cost example: 50 jobs with default options cost $0.041, including any start fee. This is an illustrative record count; set explicit row and total-charge caps for your run. Apify's free plan includes $5 of usage a month, about 6,250 jobs before start fees; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.

Ready-made example pages

Saved inputs you can run with one click on Apify (Examples tab); each has its own page:

Questions buyers ask

Is there an official Gupy jobs API?

Gupy offers no public job-search API. This Actor reads the JSON page data that portal.gupy.io's own search page loads (robots.txt allows the whole portal), and exposes it as a REST API with schedules, webhooks and only-new runs, so you do not maintain a scraper or proxies yourself.

How much does it cost to scrape Gupy?

$0.0008 per job with its description plus $0.001 per run, so 50 jobs cost about $0.04, every job posted on the portal in a day about $2.20, and a weekly keyword × state feed a few cents a month.

Is it legal to scrape Gupy?

The Actor only reads job postings that Gupy shows to anyone without a login, through pages its robots.txt allows, and it collects no data about candidates or recruiters. Public job-posting data is generally collected for aggregation, research and recruiting; you remain responsible for complying with Gupy's terms of use and the law that applies to you (including the LGPD, which this Actor's output, company job postings, does not concern).

Can I get every job posted on Gupy today?

Yes: leave the keywords empty, set postedWithinDays: 1 and maxResultsPerSearch: 0. That was about 2,700 jobs (about $2.20) on 29 Oct 2026. Switch on only-new mode so a daily schedule delivers each job once.

Does it return the salary?

No. The Gupy portal does not show salaries; the description sometimes mentions one.

Can I filter by remote jobs or by internships?

Yes, with workplaceTypes: ["remote"] and jobTypes: ["internship"]. Both are checked on each job after download (the portal's search cannot filter them), so combine them with a keyword or a state to keep the run short. Of the 9,879 jobs the portal listed on 29 Oct 2026, 1.5% were remote, 6.7% hybrid and 3.0% internships.

How many jobs are posted on Gupy per day, and what do they look like?

About 2,700 on a weekday in late October 2026 (2,692 on Tuesday 27 and 2,793 on Wednesday 28 October). Shares by workplace type, vacancy type, PcD flag, state, city, employer and role, with the analysis code, are in the study Brazil job postings on Gupy: what 9,879 new jobs in October 2026 show (FAQ in English and Portuguese).

Can I export Gupy jobs to Excel or Google Sheets?

Yes. Every run's dataset downloads as CSV, Excel, JSON, XML or HTML, and the task's Integrations tab appends rows to a Google Sheet after each run.

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
Gupy job portal (portal.gupy.io)Search and apply as a candidateNo export; one job page at a time
Other Gupy Actors on Apify StoreSame sourceCompare description coverage, only-new memory and price per 1,000
Build your own scraperFull controlThe portal's build ID changes; you maintain pagination, de-duplication and scheduling

Published by Daemon Data (data_daemon on Apify Store). Prices, fields and example pages read from the live Apify listing on 2026-11-09; the listing is the canonical description of the Actor.