JobScore Jobs Scraper - Company Career Boards
Pricing
from $12.75 / 1,000 results
JobScore Jobs Scraper - Company Career Boards
Scrape open jobs from any public JobScore company career board: title, department, parsed location, employment type, salary range, recruiter contact, description and apply link. Export to JSON, CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
JobScore Jobs Scraper - Company Career Boards
Here is one real result, with every field the actor returns:
{"jobId": "d1Jh2yFrbaHOXkxyUH5V6C","title": "Manager, Financial Planning & Analysis","company": "Solutions 2 GO","companyBoard": "solutions2go","department": "Finance","employmentType": "Full Time","location": {"raw": "Hybrid in Brampton, Ontario, Canada","city": "Brampton","state": "Ontario","country": "Canada","remote": false,"workplaceType": "Hybrid"},"salary": {"min": 90000,"max": 110000,"interval": "per year","currency": "CAD","formatted": "From CAD $90,000 to CAD $110,000 per year"},"contactName": "Kim Trinh","contactTitle": "Talent Acquisition Specialist","contactLinkedinUrl": "https://www.linkedin.com/in/kimtr2023/","contactPhotoUrl": "https://assets.jobscore.com/ats_user_avatars/medium_retina_dY0_xAPynhDi4cKPQTT0Lo.jpg","contactCount": 1,"recruiters": [{"name": "Kim Trinh","title": "Talent Acquisition Specialist","linkedinUrl": "https://www.linkedin.com/in/kimtr2023/","photoUrl": "https://assets.jobscore.com/ats_user_avatars/medium_retina_dY0_xAPynhDi4cKPQTT0Lo.jpg"}],"hiringManagers": [],"emails": null,"description": "About Us. Are you ready to move distribution forward? Solutions 2 GO is a premier global distributor of video game products ... (full posting text returned; trimmed here for readability, real value is not truncated in the dataset)","jobUrl": "https://careers.jobscore.com/careers/solutions2go/jobs/manager-financial-planning-analysis-d1Jh2yFrbaHOXkxyUH5V6C","applyUrl": "https://careers.jobscore.com/apply_flow/applications/go?job_id=d1Jh2yFrbaHOXkxyUH5V6C","postedDate": "2026-06-05T18:20:55Z","aiJdSummary": null,"aiSkills": null,"aiTechnologies": null,"aiSeniority": null,"aiSalaryEstimateMin": null,"aiSalaryEstimateMax": null,"aiSalaryEstimateCurrency": null,"aiSalaryEstimateBasis": null,"aiSalaryEstimateConfidence": null,"source": "JobScore","observedAt": "2026-08-14T08:34:36.769Z"}
The most complete JobScore jobs scraper available. It returns every field a JobScore company career board exposes for each open role, plus parsed location and salary objects and full recruiter contacts, and gives you three filters plus optional AI add-ons to target exactly the jobs you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the public career board of any company on JobScore, parses every open job, and writes one normalized record per role to the run's dataset. Each posting is expanded into structured fields: a parsed location object (city, state, country, remote flag, workplace type), a parsed salary object when the employer publishes one, and full recruiter and hiring-manager contacts (name, title, LinkedIn URL, photo). Missing source values are returned as null, never invented.
You pass boards by id (for example solutions2go) or by full career page URL. Optional AI add-ons (job summary, skills and seniority extraction, salary estimate) enrich each record when enabled on a paid Apify plan.
Quickstart
Open the actor, paste this into the input, and press Run. It collects up to 10 open jobs from two JobScore boards.
{"maxJobs": 10,"companies": ["solutions2go", "jobscore"]}
Add a searchQuery to keep only matching roles (matched against title, department and description). Every input field is optional except that you must provide at least one company board.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
companies | string[] | yes | ["solutions2go","jobscore"] | One or more JobScore company boards. Use the board id (for example solutions2go) or paste the full career page URL (for example https://careers.jobscore.com/careers/solutions2go). Every open job on each board is collected. |
maxJobs | integer | no | 10 | Maximum number of jobs to collect across all boards. |
searchQuery | string | no | (empty) | Keep only jobs whose title, department or description contains this text (for example engineer, sales, remote). |
withJdSummary | boolean | no | false | Paid add-on. Generate a concise plain-English summary of each job description. Requires a paid Apify plan. Billed per usable AI result. |
withSkills | boolean | no | false | Paid add-on. Extract required skills, technologies and seniority level from each posting. Requires a paid Apify plan. Billed per usable AI result. |
withSalaryEstimate | boolean | no | false | Paid add-on. Estimate market salary for postings that do not state one. Requires a paid Apify plan. Billed per usable AI result. |
Output reference
One dataset item per open job. Types: string, integer, boolean, object, array, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
jobId | string | JobScore internal job id, unique per posting. |
title | string | Job title. |
company | string | Company display name. |
companyBoard | string | Board id the job was read from. |
department | string | Department or team, or null. |
employmentType | string | Employment type, for example Full Time, Part Time, Contract. |
location | object | Parsed location: raw, city, state, country, remote (boolean), workplaceType. |
salary | object | Parsed salary when published: min, max, interval, currency, formatted. null when the posting states no pay. |
contactName | string | Primary recruiter or hiring contact name, or null. |
contactTitle | string | Primary contact job title, or null. |
contactLinkedinUrl | string | Primary contact LinkedIn URL, or null. |
contactPhotoUrl | string | Primary contact photo URL, or null. |
contactCount | integer | Number of contacts found on the posting. |
recruiters | array | All recruiter contacts, each with name, title, linkedinUrl, photoUrl. |
hiringManagers | array | All hiring-manager contacts in the same shape. Empty array when none. |
emails | array | Emails found in the posting text, or null. |
description | string | Full job description text. |
jobUrl | string | Public URL of the job posting. |
applyUrl | string | Direct apply URL. |
postedDate | string | ISO 8601 date the job was posted. |
aiJdSummary | string | AI summary of the description (paid add-on), else null. |
aiSkills | array | AI-extracted required skills (paid add-on), else null. |
aiTechnologies | array | AI-extracted technologies (paid add-on), else null. |
aiSeniority | string | AI-inferred seniority level (paid add-on), else null. |
aiSalaryEstimateMin | integer | AI salary estimate low bound (paid add-on), else null. |
aiSalaryEstimateMax | integer | AI salary estimate high bound (paid add-on), else null. |
aiSalaryEstimateCurrency | string | AI salary estimate currency (paid add-on), else null. |
aiSalaryEstimateBasis | string | AI salary estimate basis (paid add-on), else null. |
aiSalaryEstimateConfidence | string | AI salary estimate confidence (paid add-on), else null. |
source | string | Always JobScore. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
On a failed board fetch the actor writes a single item with a populated error field instead of a job record, and does not charge for it.
Example output record
Real record from a live run (input {"maxJobs": 10, "companies": ["solutions2go","jobscore"]}). The description and aiSkills values are trimmed here for readability; the dataset returns them in full. The original posting used an en dash in the pay-range text ("5-7 years"); shown here as a hyphen.
{"jobId": "d1Jh2yFrbaHOXkxyUH5V6C","title": "Manager, Financial Planning & Analysis","company": "Solutions 2 GO","companyBoard": "solutions2go","department": "Finance","employmentType": "Full Time","location": {"raw": "Hybrid in Brampton, Ontario, Canada","city": "Brampton","state": "Ontario","country": "Canada","remote": false,"workplaceType": "Hybrid"},"salary": {"min": 90000,"max": 110000,"interval": "per year","currency": "CAD","formatted": "From CAD $90,000 to CAD $110,000 per year"},"contactName": "Kim Trinh","contactTitle": "Talent Acquisition Specialist","contactLinkedinUrl": "https://www.linkedin.com/in/kimtr2023/","contactPhotoUrl": "https://assets.jobscore.com/ats_user_avatars/medium_retina_dY0_xAPynhDi4cKPQTT0Lo.jpg","contactCount": 1,"recruiters": [{"name": "Kim Trinh","title": "Talent Acquisition Specialist","linkedinUrl": "https://www.linkedin.com/in/kimtr2023/","photoUrl": "https://assets.jobscore.com/ats_user_avatars/medium_retina_dY0_xAPynhDi4cKPQTT0Lo.jpg"}],"hiringManagers": [],"emails": null,"description": "About Us. Are you ready to move distribution forward? Solutions 2 GO is a premier global distributor of video game products ... (trimmed; full text in dataset)","jobUrl": "https://careers.jobscore.com/careers/solutions2go/jobs/manager-financial-planning-analysis-d1Jh2yFrbaHOXkxyUH5V6C","applyUrl": "https://careers.jobscore.com/apply_flow/applications/go?job_id=d1Jh2yFrbaHOXkxyUH5V6C","postedDate": "2026-06-05T18:20:55Z","aiJdSummary": null,"aiSkills": ["CPA or equivalent", "advanced Excel", "5-7 years financial management", "... (trimmed; full array in dataset)"],"aiTechnologies": ["Excel"],"aiSeniority": "manager","aiSalaryEstimateMin": null,"aiSalaryEstimateMax": null,"aiSalaryEstimateCurrency": null,"aiSalaryEstimateBasis": null,"aiSalaryEstimateConfidence": null,"source": "JobScore","observedAt": "2026-08-14T08:34:36.769Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~jobscore-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"companies":["solutions2go"],"maxJobs":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~jobscore-jobs-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"companies":["solutions2go","jobscore"],"searchQuery":"finance","maxJobs":100}'
Apify CLI:
apify call scrapers_lat/jobscore-jobs-scraper \--input '{"companies":["solutions2go"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per job record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a board fetch errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run, and the AI add-ons are disabled on free plans. Upgrade for higher
maxJobsand AI enrichment.
FAQ and troubleshooting
How do I find a company's board id?
It is the last part of the company career page URL, for example solutions2go in careers.jobscore.com/careers/solutions2go. You can paste the whole URL and the id is detected for you.
Can I scrape several companies at once?
Yes. Add as many boards as you like to companies; jobs are collected from every one in a single run.
Does it include salary and recruiter details?
When the employer publishes them. Many postings include a salary object and one or more recruiter or hiring-manager contacts with LinkedIn profiles. When absent, those fields are null or empty arrays.
A board returned no jobs. Why?
The board id may be wrong or the board may have no open roles. A board that does not exist is skipped; a fetch error writes a single non-billable error item.
How fresh is the data?
Every board is read live at run time, so each record reflects the open roles at the moment of the run (see observedAt).
Are the AI add-ons free?
No. withJdSummary, withSkills and withSalaryEstimate require a paid Apify plan and are billed per usable AI result. They are off by default and disabled entirely for free plans.
Is this an official JobScore tool? No. This actor is independent and has no affiliation with JobScore. It only accesses publicly available job postings. Use the results in accordance with the source's terms.
Related scrapers
- JobStreet SEA Jobs Scraper: jobs across Southeast Asia from JobStreet.
- Jobvite Jobs Scraper: open roles from public Jobvite career sites.
- Jora Jobs Scraper: job listings aggregated on Jora.
- Greenhouse Jobs Scraper: open roles from Greenhouse boards.
- Lever Jobs Scraper: open roles from Lever boards.
- Indeed Jobs Scraper: job listings from Indeed.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with JobScore. Accesses only publicly available job postings. Use the results in accordance with the source's terms.
