JobScore Jobs Scraper - Company Career Boards avatar

JobScore Jobs Scraper - Company Career Boards

Pricing

from $12.75 / 1,000 results

Go to Apify Store
JobScore Jobs Scraper - Company Career Boards

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

JobScore Jobs Scraper - Company Career Boards

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
companiesstring[]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.
maxJobsintegerno10Maximum number of jobs to collect across all boards.
searchQuerystringno(empty)Keep only jobs whose title, department or description contains this text (for example engineer, sales, remote).
withJdSummarybooleannofalsePaid add-on. Generate a concise plain-English summary of each job description. Requires a paid Apify plan. Billed per usable AI result.
withSkillsbooleannofalsePaid add-on. Extract required skills, technologies and seniority level from each posting. Requires a paid Apify plan. Billed per usable AI result.
withSalaryEstimatebooleannofalsePaid 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.

FieldTypeDescription
jobIdstringJobScore internal job id, unique per posting.
titlestringJob title.
companystringCompany display name.
companyBoardstringBoard id the job was read from.
departmentstringDepartment or team, or null.
employmentTypestringEmployment type, for example Full Time, Part Time, Contract.
locationobjectParsed location: raw, city, state, country, remote (boolean), workplaceType.
salaryobjectParsed salary when published: min, max, interval, currency, formatted. null when the posting states no pay.
contactNamestringPrimary recruiter or hiring contact name, or null.
contactTitlestringPrimary contact job title, or null.
contactLinkedinUrlstringPrimary contact LinkedIn URL, or null.
contactPhotoUrlstringPrimary contact photo URL, or null.
contactCountintegerNumber of contacts found on the posting.
recruitersarrayAll recruiter contacts, each with name, title, linkedinUrl, photoUrl.
hiringManagersarrayAll hiring-manager contacts in the same shape. Empty array when none.
emailsarrayEmails found in the posting text, or null.
descriptionstringFull job description text.
jobUrlstringPublic URL of the job posting.
applyUrlstringDirect apply URL.
postedDatestringISO 8601 date the job was posted.
aiJdSummarystringAI summary of the description (paid add-on), else null.
aiSkillsarrayAI-extracted required skills (paid add-on), else null.
aiTechnologiesarrayAI-extracted technologies (paid add-on), else null.
aiSenioritystringAI-inferred seniority level (paid add-on), else null.
aiSalaryEstimateMinintegerAI salary estimate low bound (paid add-on), else null.
aiSalaryEstimateMaxintegerAI salary estimate high bound (paid add-on), else null.
aiSalaryEstimateCurrencystringAI salary estimate currency (paid add-on), else null.
aiSalaryEstimateBasisstringAI salary estimate basis (paid add-on), else null.
aiSalaryEstimateConfidencestringAI salary estimate confidence (paid add-on), else null.
sourcestringAlways JobScore.
observedAtstringISO 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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 maxJobs and 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.

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.