Gupy.io – Public Jobs, Companies & Hiring Badges avatar

Gupy.io – Public Jobs, Companies & Hiring Badges

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
Gupy.io – Public Jobs, Companies & Hiring Badges

Gupy.io – Public Jobs, Companies & Hiring Badges

Scrape public jobs from Gupy.io. Search by keyword, state, city, workplace type, job type, company, PWD, and feedback badge. Returns rich job, company, deadline, and badge fields.

Pricing

from $1.00 / 1,000 job results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

Share

Gupy.io Jobs Scraper

Scrape public job listings from Gupy.io. The actor supports keyword search, Brazilian state and city filters, workplace model, job type, exact Gupy career page name, PWD-only listings, feedback-badge companies, URL mode, optional detail enrichment, and newest/oldest/company sorting.

Pricing

Pay per event:

EventPrice
Actor start$0.08
Job result$0.002
Detail enrichment$0.0008

Base result pricing is $2.00 per 1,000 saved jobs plus the run-start event. Detail enrichment adds $0.80 per 1,000 enriched jobs when enabled.

Input

Use Search mode for filters:

{
"searchTerm": "developer",
"state": "São Paulo",
"workplaceTypes": ["remote"],
"sortBy": "newest",
"fetchDetails": true,
"maxItems": 20
}

Use URL mode for portal search URLs or company job URLs:

{
"mode": "url",
"urls": [
"https://portal.gupy.io/job-search/term=developer",
"https://sejaesm.gupy.io/job/eyJqb2JJZCI6MTE1MjA0MzksInNvdXJjZSI6Imd1cHlfcG9ydGFsIn0=?jobBoardSource=gupy_portal"
],
"maxItems": 5
}

maxItems is the only finite default cap and means the maximum matching rows to save. Fewer rows may be returned when the selected source, keyword, and filters match fewer live records. maxPages has no page limit by default; leave it empty (or 0) to walk every result page, or set it to stop after a fixed number of API pages.

🔁 Resume & recurring updates

ParameterTypeDefaultDescription
resumeFromRunIdstring(empty)A previous run ID or dataset ID to continue a full-catalogue walk across separate runs. Jobs already collected there (matched by job id) are skipped, so this run only saves the new ones.
incrementalModebooleanfalseTurn on for scheduled/recurring monitoring of the same search. The first run returns everything as NEW; later runs return only NEW/UPDATED/REAPPEARED (and, optionally, UNCHANGED/EXPIRED) jobs.
stateKeystring(empty)Optional. Name an incremental-mode monitoring campaign explicitly, or keep two schedules with identical filters from sharing one baseline. Leave empty to derive a key automatically from the mode, keyword, state, cities, workplace/job types, companies, PWD/badge flags, URLs, and Fetch details.
emitUnchangedbooleanfalseIncremental mode only. Also return (and bill) jobs that have not changed since the last run, marked UNCHANGED.
emitExpiredbooleanfalseIncremental mode only. Also return (and bill) jobs present in a previous run but no longer found, marked EXPIRED. Only produced when a run fully scans the tracked search (not capped by Max items, not maxPages-truncated, not a resume).

Resuming a full-catalogue walk

To pull a large catalogue across several separate runs without re-saving jobs you already have, paste a prior run ID or dataset ID into Resume from a previous run. The new run reads that dataset's job ids, skips any job already collected there, and appends only new jobs. An invalid or unreadable run/dataset id fails the run immediately, before any scraping starts.

Incremental mode (recurring monitoring)

resumeFromRunId and incrementalMode solve two different problems: Resume continues one specific interrupted run; Incremental mode is for scheduling this same search again and again (e.g. daily) and getting only what changed, without pasting any run/dataset id.

Turn on incrementalMode and each run classifies every job against the state from the last run on the same search (kept internally, keyed by the search filters, or by your own stateKey) and adds a changeType field:

  • NEW — not seen before.
  • UPDATED — seen before, and at least one field changed (changedFields lists which).
  • UNCHANGED — seen before, nothing changed. Suppressed (not returned or billed) unless emitUnchanged is on.
  • REAPPEARED — was previously marked EXPIRED, now found again.
  • EXPIRED — was previously seen, not found in a run that fully scanned the tracked search. Only emitted when emitExpired is on.

Every job also carries firstSeenAt / lastSeenAt in incremental mode. The detail-enrichment surcharge is billed only for jobs that actually reach the dataset — a suppressed UNCHANGED job's detail page may still be fetched (needed to compute the fingerprint) but is never charged.

Export to your apps (MCP connectors)

Optionally pipe results into Notion, Linear, Airtable, or any Apify-supported MCP server. Authorize a connector once under Apify → Settings → Integrations, then select it in the Export to your apps input. Each connector receives a condensed, human-readable summary per job (title + key fields); the full record always stays in the dataset. For Notion, also set Notion parent page. Use Max jobs to export per connector to cap how many jobs are written per run. This is a fail-safe side channel — connector errors never affect the scrape or the dataset.

Output

Each result includes job identifiers, title, URL, HTML and plain-text description, location, job type, workplace type, remote flag, publication and application deadline dates, company/career page metadata, badge/PWD flags, source fields, and a scrape timestamp. With Incremental mode on, each result also carries changeType (NEW/UPDATED/UNCHANGED/REAPPEARED/EXPIRED), changedFields (which fields changed, for UPDATED), firstSeenAt, and lastSeenAt — see Incremental mode above.

Proxy Guidance

Works on every plan, including Free. Apify Proxy is recommended for reliability and is the default; if you see repeated source errors, enable it.

Notes

The actor extracts public job data. Users are responsible for compliance with applicable laws, platform terms, and privacy obligations.