Gupy.io Jobs Scraper
Pricing
from $0.80 / 1,000 jobs
Gupy.io Jobs Scraper
Fast HTTP-only scraper for Gupy.io, Brazil's largest hiring platform. Extracts full job descriptions, company info, and location data via Gupy's internal API — no browser required.
Pricing
from $0.80 / 1,000 jobs
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Gupy.io Jobs Scraper
Extract job postings from Gupy.io, Brazil's largest hiring and recruitment platform. This is a fast, HTTP-only scraper: no Chrome, no browser rendering, no waiting for JavaScript. It talks directly to Gupy's internal job-search API to pull titles, full descriptions, company info, and location data in seconds.
| Search by keyword, city, or state — or paste a Gupy portal search URL directly — and get full job descriptions, company and career-page details, job type, work model (on-site/hybrid/remote), and location, ready for analysis or integration. |
Copy to your AI assistant
Gupy.io Jobs Scraper on Apify (actor ID: parsebird/gupy-io-jobs-scraper) scrapes portal.gupy.io, Brazil's largest hiring platform, via its internal HTTP API — no browser required. Call it with the ApifyClient: `client.actor("parsebird/gupy-io-jobs-scraper").call(run_input={"keyword": "Social Media", "location": "Sao Paulo - SP", "results_wanted": 30, "max_pages": 2})`. Key inputs: url (string, a Gupy search URL copied from portal.gupy.io/job-search — if provided, its filters are used first and keyword/location are ignored), keyword (string, job title or keyword), location (string, city or state such as "Sao Paulo, Sao Paulo - SP", "Sao Paulo - SP", or "Pernambuco"), sortBy (select: publishedDate|relevance|company, default publishedDate), results_wanted (integer, default 20, max jobs to collect), max_pages (integer, default 1, safety cap on search pages fetched), proxyConfiguration (Apify Proxy, off by default — Gupy's search API is public). Output per job: jobId, title, company, companyId, careerPageId, careerPageName, careerPageLogoUrl, careerPageUrl, descriptionHtml, descriptionText, jobType, jobTypeLabel, publishedDate, applicationDeadline, isRemoteWork, workplaceType, workplaceTypeLabel, city, state, country, location, jobUrl, acceptsDisabilities, skills, sourceUrl. Full API spec: https://apify.com/parsebird/gupy-io-jobs-scraper/api. Get an API token at https://console.apify.com/settings/integrations.
What does Gupy.io Jobs Scraper do?
Gupy.io Jobs Scraper is a Gupy API alternative for anyone who needs structured Brazilian job-market data — recruiters sourcing candidates, HR-tech tools indexing listings, or researchers tracking the labor market. It talks to Gupy's own internal job-search endpoint instead of rendering pages in a browser, which makes it fast and cheap to run at scale.
- 🔍 Keyword + location search — search by job title/keyword, and filter by Brazilian city or state.
- 🔗 URL mode — paste any
portal.gupy.io/job-search/...URL you've already filtered in your browser and the actor uses those exact filters. - 📄 Full job descriptions — complete posting text (HTML and plain-text versions), not just a search-result snippet.
- 🏢 Company and career-page info — company name, logo, career page URL, and IDs for joining against other data.
- 🧭 Job type and work model — employment type (effective, intern, trainee, temporary, and more) and work model (on-site, hybrid, remote).
- ↕️ Sort by date, relevance, or company — newest postings first by default.
Runs on the Apify platform, so results are available via API, can be scheduled to run daily or weekly to track new postings, and can feed directly into Zapier, Make, Google Sheets, and 1,000+ integrations. Every new Apify account includes free trial credits.
What data can you extract from Gupy.io?
| Field | Description |
|---|---|
jobId / title / company | Unique Gupy job identifier, job title, and employer name |
descriptionHtml / descriptionText | Full job description, as returned by Gupy and as cleaned plain text |
jobType / jobTypeLabel | Raw vacancy type code (e.g. vacancy_type_effective) and a readable label (e.g. "Effective") |
workplaceType / workplaceTypeLabel | Raw work-model code and readable label: On-site, Hybrid, or Remote |
city / state / country / location | Job location, individually and as a combined string |
publishedDate / applicationDeadline | When the job was posted, and its application deadline |
careerPageName / careerPageUrl / careerPageLogoUrl | The employer's Gupy career page name, URL, and logo |
acceptsDisabilities | Whether the vacancy is flagged for PWD (Pessoa Com Deficiência) applicants |
jobUrl | Direct link to the vacancy on the employer's Gupy career page |
How to scrape Gupy.io with this actor
- Click Try for free on the Gupy.io Jobs Scraper page (a free Apify account includes trial credits).
- Either paste a Gupy search URL you've already filtered at portal.gupy.io/job-search, or enter a Keyword and Location.
- Pick a Sort by order — published date (newest first), relevance, or company name.
- Set Max results and Max pages, then click Start.
- Open the Dataset tab when the run finishes and export as JSON, CSV, or Excel, or pull it via the Apify API.
How much does it cost to scrape Gupy.io?
Gupy.io Jobs Scraper uses Pay Per Event (PPE) pricing with a single job-scraped event that fires once for every job returned.
| Event | Free | Bronze / Silver / Gold |
|---|---|---|
job-scraped (per 1,000) | $0.90 | $0.80 |
A run collecting 1,000 jobs costs about $0.90 on the Free plan, or $0.80 on a paid Apify plan. Every new Apify account starts with free trial credits, enough to test the actor at no cost.
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | No | https://portal.gupy.io/job-search/sortBy=publishedDate | Gupy search URL from portal.gupy.io/job-search. If provided, its filters are used first. |
| keyword | string | No | — | Optional job keyword when you do not want to use a full URL |
| location | string | No | — | Optional city or state, e.g. "Sao Paulo, Sao Paulo - SP", "Sao Paulo - SP", or "Pernambuco" |
| sortBy | string | No | publishedDate | publishedDate, relevance, or company |
| results_wanted | integer | No | 20 | Maximum number of jobs to collect |
| max_pages | integer | No | 1 | Safety cap for pagination |
| proxyConfiguration | object | No | Off | Optional Apify Proxy settings |
See the Input tab for the full schema.
Output example
{"jobId": 11331333,"title": "ATENDENTE RESTAURANTE 12X36 ( CENTRO - BELFORD ROXO/RJ)","company": "McDonald's Restaurante - Arcos Dorados","companyId": 68123,"careerPageId": 164080,"careerPageName": "McDonald's Restaurante - Arcos Dorados","careerPageLogoUrl": "https://attachments.gupy.io/production/companies/68123/career/164080/images/2023-07-20_22-47_companyLogoUrl.png","careerPageUrl": "https://restaurantemc.gupy.io/eyJzb3VyY2UiOiJndXB5X3BvcnRhbCJ9","descriptionHtml": "A gente vai amar muito se voce...","descriptionText": "A gente vai amar muito se voce... Responsabilidades e atribuicoes...","jobType": "vacancy_type_effective","jobTypeLabel": "Effective","publishedDate": "2026-05-21T03:00:25.306Z","applicationDeadline": "2026-07-20","isRemoteWork": false,"workplaceType": "on-site","workplaceTypeLabel": "On-site","city": "Belford Roxo","state": "Rio de Janeiro","country": "Brasil","location": "Belford Roxo, Rio de Janeiro, Brasil","jobUrl": "https://restaurantemc.gupy.io/job/eyJqb2JJZCI6MTEzMzEzMzMsInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=?jobBoardSource=gupy_portal","acceptsDisabilities": true,"skills": [],"sourceUrl": "https://portal.gupy.io/job-search/sortBy=publishedDate"}
Download results as JSON, CSV, Excel, HTML, or XML from the Dataset tab, or pull them programmatically via the API.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/gupy-io-jobs-scraper").call(run_input={"keyword": "Social Media","location": "Sao Paulo - SP","results_wanted": 30,"max_pages": 2,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["company"], item["jobUrl"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/gupy-io-jobs-scraper').call({location: 'Pernambuco',sortBy: 'publishedDate',results_wanted: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- Source candidates by pulling structured job data for open roles at target companies
- Monitor a competitor's or industry's hiring activity by keyword, city, or state
- Build a job-aggregator or labor-market analytics tool with structured Brazilian job data
- Track new postings over time with a schedule, using
sortBy: publishedDate - Feed job postings into an ATS, CRM, or recruiting pipeline via the API
Is it legal to scrape Gupy.io?
Yes. Gupy.io Jobs Scraper only collects publicly available data that anyone can see by visiting portal.gupy.io. Scraping publicly accessible web data is generally legal, as established in cases such as hiQ Labs v. LinkedIn — see Apify's blog post on the legality of web scraping for details. Respect Gupy's terms of use and avoid republishing scraped data in ways that infringe their rights. This actor is not affiliated with, endorsed by, or sponsored by Gupy.
Related actors
- InfoJobs Job Scraper — extract job listings from InfoJobs, another major job board used in Brazil and Spain
- Greenhouse Jobs Scraper — pull listings from companies hiring through Greenhouse
- Workday Jobs Scraper with Emails — extract listings from companies hiring through Workday
FAQ
Does this actor use a browser? No. It's a fast, HTTP-only scraper that talks directly to Gupy's internal job-search API — no Chrome, no rendering delay.
How do I search by both keyword and location? Fill in both Keyword and Location — the actor combines them so only jobs matching both are returned.
What's the difference between using URL and Keyword/Location? URL lets you paste any filtered search link from portal.gupy.io/job-search (including filters this actor doesn't expose directly, like work model or job type) and reuses those exact filters. Keyword/Location is a simpler way to build a basic search without visiting the site first. When URL is set, it always takes priority.
Why is location sometimes not matched exactly?
Gupy's search treats a full Brazilian state name (or its 2-letter code, like "SP") as a state filter, and anything else as a city filter. City names combined with a keyword must match Gupy's stored capitalization — the actor title-cases city input automatically, but unusual spellings may still return no results. Using URL mode with a filter you built directly on the Gupy portal avoids this entirely.
Can I monitor new postings over time?
Yes — set Sort by to publishedDate and run the actor on a schedule to track newly posted jobs.
Something broken or missing? Open an issue on the actor's Issues tab in Apify Console — reports are reviewed regularly.