Jobgether Remote Jobs Scraper avatar

Jobgether Remote Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Jobgether Remote Jobs Scraper

Jobgether Remote Jobs Scraper

Find and export public Jobgether remote jobs with company, location, posting date, employment type, full description, requirements, responsibilities, skills, and source links.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Export public remote job listings from Jobgether into a clean, analysis-ready dataset. Search by keyword, use a Jobgether category or location URL, or extract one exact offer. Get job titles, companies, posting dates, remote locations, employment types, descriptions, qualifications, responsibilities, skills, and canonical links.

The Actor uses lightweight HTTP extraction rather than a browser. No Jobgether login or private API key is required. Results can be downloaded as JSON, CSV, Excel, XML, or RSS and connected to the Apify API, webhooks, schedules, and MCP.

What does Jobgether Remote Jobs Scraper do?

Jobgether Remote Jobs Scraper turns Jobgether's public remote-job pages into structured records. It supports both discovery and exact-URL workflows:

  • πŸ”Ž Search Jobgether jobs by keyword.
  • πŸ”— Scrape Jobgether search, category, location, or offer URLs.
  • 🌍 Filter by remote country or region.
  • πŸ’Ό Filter by employment type or role text.
  • πŸ—“οΈ Keep only jobs posted within a selected number of days.
  • πŸ“„ Fetch complete public job descriptions and enriched role facts.
  • 🧠 Extract qualifications, responsibilities, hard skills, and other skills.
  • ⚑ Skip detail pages when only a fast listing feed is needed.

Each successful item represents one Jobgether offer. Canonical URLs and offer IDs make repeated-run deduplication straightforward.

Who is it for?

Job aggregators and niche job boards

Refresh remote inventory daily, normalize records, and deduplicate them by offerId or canonicalUrl. Use detail mode when your product needs complete descriptions and skills.

Recruiters and talent sourcers

Find companies hiring for a role, country, or skill. Send new records to a CRM, spreadsheet, ATS, or sourcing queue.

Job-alert product teams

Schedule narrow keyword searches and notify users only about newly seen offer IDs. The postedAt field supports freshness rules.

Labor-market analysts

Track remote hiring volume, geography, employment types, role tags, and skill demand over time. Store daily datasets in a warehouse for longitudinal analysis.

Developers and AI-agent builders

Call the Actor through REST, JavaScript, Python, cURL, or MCP. Return structured evidence to an application instead of asking an agent to browse pages manually.

Why use this remote jobs extractor?

  • βœ… Source-specific data β€” fields are designed around Jobgether offers, not generic page text.
  • βœ… Useful detail records β€” descriptions, qualifications, responsibilities, and skills are available when exposed publicly.
  • βœ… Low compute β€” direct HTML and Schema.org data keep runs lightweight.
  • βœ… Strict scope β€” non-Jobgether start URLs are rejected instead of silently scraping unrelated pages.
  • βœ… Fail-closed filters β€” records without the requested date or filter evidence are excluded.
  • βœ… Automation-ready IDs β€” stable offer IDs simplify alerts and database upserts.
  • βœ… Standard exports β€” use JSON, CSV, Excel, XML, RSS, or the dataset API.

What Jobgether data can you extract?

FieldTypeMeaning
offerIdstringStable ID parsed from the Jobgether offer URL
titlestringPublic job title
companystringHiring organization
companyUrlstringPublic company website when supplied
companyLogoUrlstringPublic company logo URL
postedAtstringISO 8601 posting timestamp
locationsarrayApplicant countries or remote regions
remoteScopestringRemote-work classification
employmentTypesarrayFull-time, contract, part-time, or other source values
roleTagsarrayJobgether role/category labels
languagestringRole language when displayed
qualificationsarrayStructured qualification bullets
responsibilitiesarrayStructured responsibility bullets
hardSkillsarrayJobgether hard-skill tags
softSkillsarrayOther skill labels
descriptionstringClean full public description
canonicalUrlstringCanonical Jobgether offer URL
applyUrlstringPublic apply link when exposed without login
scrapedAtstringISO 8601 extraction time

Optional fields are omitted when the source does not expose them. Array fields stay arrays in JSON exports.

How to scrape Jobgether remote jobs

  1. Open the Actor input page.
  2. Enter a keyword such as software engineer, or add Jobgether URLs.
  3. Optionally set category, location, employment type, or recency filters.
  4. Keep Include full job details enabled for rich records.
  5. Choose a small maxItems for a first run.
  6. Click Start.
  7. Review the Dataset tab and export or integrate the records.

For recurring monitoring, save the task and attach an Apify schedule. Compare offerId values with the previous run before sending alerts.

Input parameters

InputTypeDefaultDescription
keywordstringsoftware engineer prefillSearch title, company, and role labels
startUrlsarrayemptyJobgether search, category, location, or offer URLs
categorystringemptyRequired text in role title or tags
locationstringemptyRequired text in remote location
employmentTypestringemptyRequired employment-type text
recencyDaysintegeremptyMaximum age in days
includeDetailsbooleantrueFetch every selected offer page
maxItemsinteger10Maximum saved jobs, up to 1,000
proxyConfigurationobjectdirectOptional Apify/custom proxy settings

When startUrls is supplied, it overrides generated keyword discovery. A keyword still acts as a strict local filter if both are supplied.

Input examples

Keyword search with full details

{
"keyword": "data engineer",
"includeDetails": true,
"maxItems": 20
}

Country page with freshness filter

{
"startUrls": [{ "url": "https://jobgether.com/remote-jobs/united-states" }],
"recencyDays": 7,
"includeDetails": true,
"maxItems": 25
}

Fast listing-only feed

{
"keyword": "sales",
"includeDetails": false,
"maxItems": 50
}

Output example

{
"offerId": "6a4e26bcac00a71a5a8101cb",
"title": "Channel Development Manager, Lenovo",
"company": "Absolute Software",
"postedAt": "2026-07-08T10:30:20.000Z",
"locations": ["US"],
"remoteScope": "Remote",
"employmentTypes": ["FULL_TIME"],
"roleTags": ["Channel Development Manager"],
"hardSkills": ["Customer Engagement", "Sales Planning", "Project Management"],
"softSkills": ["Communication", "Decision Making", "Teamwork"],
"canonicalUrl": "https://jobgether.com/offer/6a4e26bcac00a71a5a8101cb-channel-development-manager-lenovo",
"scrapedAt": "2026-07-16T03:00:00.000Z"
}

The exact public inventory changes frequently. Example values illustrate the schema rather than guaranteeing that an offer remains active.

How much does it cost to scrape Jobgether jobs?

This Actor uses pay-per-event pricing:

  • A small one-time Actor start charge covers run setup.
  • A job-extracted event is charged only for records saved to the dataset.
  • Account tiers receive the prices displayed in the Apify Console before a run starts.

The current source package starts at $0.005 per run plus $0.000072217 per job on the BRONZE tier. Other account tiers use the prices displayed by Apify before the run starts. Final account-specific pricing is always shown by Apify. A five-job smoke test is intentionally inexpensive. Detail mode makes more requests but does not create shell or error items.

Listing mode versus detail mode

Set includeDetails to false for a fast feed containing card-level fields such as title, company, location, employment type, role tags, logo, and URL.

Keep includeDetails at true to add:

  • πŸ“… Posting timestamps
  • 🏒 Company links
  • πŸ“„ Full descriptions
  • πŸŽ“ Qualifications
  • 🧭 Responsibilities
  • πŸ› οΈ Hard skills
  • 🀝 Other skills

A recencyDays filter requires posting dates, so the Actor reads detail pages even if detail mode is disabled.

Filtering behavior

Filters are case-insensitive text matches. They are intentionally strict:

  • A location filter excludes jobs without a matching location.
  • An employment filter excludes jobs without a matching source value.
  • A category filter checks role tags and titles.
  • A recency filter excludes jobs without a parseable posting timestamp.
  • A total extraction failure makes the run fail rather than return a misleading empty success.

If a narrow combination returns no jobs, remove one filter and try again.

Scheduling a remote job monitor

  1. Save a task with a focused keyword and recencyDays.
  2. Add a daily or hourly schedule in Apify Console.
  3. Send the completed dataset to a webhook or automation platform.
  4. Upsert records using offerId as the key.
  5. Notify only when an ID has not appeared before.

For market analysis, retain dated datasets instead of deduplicating them. That produces a historical snapshot series.

Integrations

Google Sheets and Excel

Export CSV/XLSX manually or use Make to append newly discovered offers to a hiring tracker.

Slack and email alerts

Attach a run-success webhook, compare IDs in your automation, and send only unseen matching jobs.

Airtable, Notion, and databases

Map offerId to a unique key and update changing descriptions or dates without creating duplicates.

Data warehouses

Load JSON records into BigQuery, Snowflake, or PostgreSQL for geography and skill-trend analysis.

AI recruiting agents

Provide structured qualifications and responsibilities to a ranking workflow. Keep human review in the loop for employment decisions.

API usage

Run the Actor programmatically with your Apify API token, then read records from its default dataset. The examples below cover JavaScript, Python, and cURL.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/jobgether-remote-jobs-scraper').call({
keyword: 'cybersecurity',
includeDetails: true,
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/jobgether-remote-jobs-scraper').call(run_input={
'keyword': 'product manager',
'includeDetails': True,
'maxItems': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~jobgether-remote-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"python","includeDetails":true,"maxItems":10}'

Fetch the dataset using the defaultDatasetId from the completed run. Do not place long-lived tokens in source control.

Use Jobgether Remote Jobs Scraper with MCP

Connect Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/jobgether-remote-jobs-scraper"

Claude Desktop, Cursor, and VS Code can use this JSON configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/jobgether-remote-jobs-scraper"
}
}
}

Example prompts:

  • β€œFind ten recent remote data engineering jobs on Jobgether and summarize required skills.”
  • β€œExtract this Jobgether offer and compare its responsibilities with my role rubric.”
  • β€œCreate a table of remote cybersecurity roles by company and location.”

Performance and reliability tips

  • πŸš€ Use listing mode for broad discovery and detail mode only when rich fields matter.
  • 🎯 Start with one filter, then narrow it after confirming source terminology.
  • πŸ”’ Keep scheduled runs bounded with maxItems.
  • 🌐 Leave proxy settings empty unless direct access is restricted in your environment.
  • 🧩 Store offerId rather than title alone for deduplication.
  • πŸ“† Use recencyDays for alerts, not for long-term historical backfills.

The Actor batches detail requests conservatively to reduce pressure on the source. Transient failure of an optional detail page preserves its listing fields unless a requested filter depends on detail data.

Limitations

  • Jobgether can change HTML structure, labels, inventory, or public access.
  • Search pages expose a bounded current result set; the Actor does not claim to mirror all advertised jobs in one run.
  • Match scores and features requiring a Jobgether account are excluded.
  • An external apply URL is returned only when it is public in the fetched page.
  • Some offers omit language, company website, or structured skill sections.
  • Source labels can differ across employers.

This Actor extracts publicly accessible job information. Scraping legality depends on jurisdiction, purpose, contractual terms, and how results are used.

Use the Actor responsibly:

  • Review Jobgether's current terms and robots guidance.
  • Avoid excessive request rates.
  • Do not collect restricted account-only data.
  • Respect privacy, employment, anti-discrimination, and database-rights rules.
  • Keep a lawful basis for storing or redistributing records.
  • Do not use scraped attributes to make unlawful automated employment decisions.

This section is general information, not legal advice.

FAQ

Does this Jobgether scraper require login?

No. Version 0.1 targets public search, category, location, and offer pages. Login-only match scoring is not included.

Can I scrape one exact Jobgether offer?

Yes. Put its /offer/... URL in startUrls. The Actor validates that it belongs to Jobgether.

Why did my filtered run return no records?

The filter combination may be narrower than the current source inventory or may use different terminology. Try removing location, category, or employment type one at a time.

Why is a field missing?

Optional values are omitted when Jobgether does not expose them publicly for that offer. Enable detail mode for the richest record.

Can I run it every day?

Yes. Use an Apify task and schedule, then deduplicate by offerId. Small focused runs are best for alerts.

Does it support proxies?

Yes. Configure Apify Proxy or custom proxies through proxyConfiguration. Direct access is the default because it avoids unnecessary proxy cost.

What happens if Jobgether returns an error page?

The Actor fails on invalid responses or total extraction failure rather than reporting an empty successful run. Check the run log and retry after confirming the source is available.

Combine this source with other automation-lab job datasets when your workflow needs broader coverage:

Use source-specific IDs separately; IDs from different job boards are not interchangeable.

Support

If a Jobgether page no longer parses, open an issue from the Actor page. Include the run URL, sanitized input, expected record, and observed output. Do not include API tokens, personal credentials, or confidential candidate data.