JustJoin.it Scraper — Tech Jobs & Salaries avatar

JustJoin.it Scraper — Tech Jobs & Salaries

Pricing

from $2.00 / 1,000 justjoin.it job returneds

Go to Apify Store
JustJoin.it Scraper — Tech Jobs & Salaries

JustJoin.it Scraper — Tech Jobs & Salaries

Scrape public JustJoin.it tech jobs with salary ranges, skills, locations, work modes, contracts, and descriptions.

Pricing

from $2.00 / 1,000 justjoin.it job returneds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

Collect structured public job offers from JustJoin.it. The Actor accepts JustJoin.it search, category, location, and individual job URLs, then returns one clean dataset row per unique job.

What you get

  • Job title, stable ID, company, company size, and company URL
  • City, street, country, coordinates, and workplace type
  • Experience level, job category, remote-interview flag
  • Required and nice-to-have skills
  • Contract-specific salary ranges, currency, unit, and gross/net flag
  • Description, publication and expiration dates, application URL, and source URL

Input

{
"startUrls": [
{ "url": "https://justjoin.it/job-offers/all-locations/data" }
],
"keyword": "Python",
"maxResults": 10,
"maxConcurrency": 5,
"maxRequestRetries": 2
}

Use URLs copied from the public JustJoin.it job board. A URL under /job-offers/ collects the public jobs visible on that search page. A URL under /job-offer/ collects that one job. Results are deduplicated across inputs. The optional keyword is matched against title, company, location, category, skills, and description.

Output example

{
"jobId": "fdeef542-5fcc-4ac5-abdc-9260f9dcbc92",
"title": "Senior Backend Developer",
"company": "Example Company",
"city": "Krakow",
"workplaceType": "hybrid",
"experienceLevel": "senior",
"category": "go",
"employmentTypes": [
{ "type": "b2b", "currency": "PLN", "from": 25000, "to": 32000, "unit": "month", "gross": false }
],
"requiredSkills": ["Node.js", "REST API"],
"niceToHaveSkills": ["Go"],
"jobUrl": "https://justjoin.it/job-offer/example"
}

The default dataset contains only job records. Run diagnostics and warnings are stored in the SUMMARY key-value-store record.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
apify-actor-start$0.00005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.
apify-default-dataset-item$0.001JustJoin.it job returned — One unique, schema-valid JustJoin.it job delivered to the default dataset.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

Reliability and limits

The Actor uses public, server-rendered JustJoin.it pages and JSON-LD rather than a browser. Requests have bounded concurrency, 30-second timeouts, exponential backoff, deduplication, schema validation, and a systemic-failure circuit breaker. One search page currently exposes up to roughly 100 current jobs; use multiple category/location URLs to broaden a run. Page availability and fields can change when JustJoin.it changes its public site.

Responsible use

Use the data in accordance with JustJoin.it terms, robots directives, applicable privacy and database laws, and the job posters' rights. This Actor accesses public pages only; it does not bypass logins, CAPTCHAs, paywalls, or other access controls. Avoid republishing personal data or sending unsolicited messages.

What data does JustJoin.it Scraper — Tech Jobs & Salaries return?

FieldTypeDescription
jobIdstringJob ID
titlestringJob title
companystring or nullCompany
companyUrlstring or nullCompany URL
companyLogoUrlstring or nullCompany logo
companySizestring or nullCompany size
citystring or nullCity
streetstring or nullStreet
countrystring or nullCountry
latitudenumber or nullLatitude
longitudenumber or nullLongitude
workplaceTypestring or nullWorkplace type
remoteInterviewboolean or nullRemote interview
experienceLevelstring or nullExperience level
categorystring or nullCategory
employmentTypesarrayEmployment and salary options
requiredSkillsarrayRequired skills
niceToHaveSkillsarrayNice-to-have skills
descriptionstring or nullDescription
publishedAtstring or nullPublished at
validThroughstring or nullValid through
applyUrlstring or nullApply URL
jobUrlstringJob URL
sourceUrlstringSource search URL

Use cases

  • Research open roles, employers, locations, and hiring-market trends.
  • Schedule repeatable collection and export results to downstream workflows.
  • Add a repeatable structured-data step to applications, agents, and automation pipelines.
  • Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
  • Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.

Run JustJoin.it Scraper — Tech Jobs & Salaries with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/justjoin-it-scraper').call({
"startUrls": [
{
"url": "https://justjoin.it/job-offers/all-locations/data"
}
],
"keyword": "",
"maxResults": 10,
"maxConcurrency": 5,
"maxRequestRetries": 2
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.

Support

When reporting a problem, include the Actor run ID, a redacted input, the expected result, and a small public example URL when applicable. Do not post API tokens, cookies, credentials, or personal data in an issue.