Handshake Jobs Scraper: Job & Internship Listings
Pricing
from $0.06 / 1,000 job postings
Handshake Jobs Scraper: Job & Internship Listings
Scrape public Handshake job and internship listings by keyword, location, role, employer, employment type, workplace status, date posted, and compensation. Export titles, employers, salaries, deadlines, and application links. No login required.
Pricing
from $0.06 / 1,000 job postings
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
|
Get live Handshake job and internship listings, salary, and deadlines, ready for your spreadsheet in minutes. Pull public Handshake postings by keyword, role, location, or employer. No Handshake account needed on either side. |
|
๐ฐ Salary with schedule See minimum and maximum pay, per hour or per year, in the listing's own currency, before you click through. |
โณ Deadline visibility Every detailed listing carries its application deadline, so you know exactly how long a role stays open. |
๐ Remote or on site Filter by workplace status and employment type without opening a single listing. |
๐ No account needed Runs entirely on public Handshake pages. No login, no cookies, no account to maintain. |
Handshake Jobs Scraper collects public job and internship listings from joinhandshake.com, the campus recruiting platform used by thousands of employers and universities. Search by keyword, role category, location, employer name, employment type, workplace status, posting date, and compensation range, and get back structured records with salary, deadline, and a direct application link. Run it once for a snapshot, or schedule it on Apify to keep a live feed of new postings flowing into your dataset, spreadsheet, or internal tool.
๐ฏ Why use this Handshake scraper?
- I am a campus recruiting lead tracking which employers are posting new internships on Handshake, so I can see how our own roles compare on salary and application deadlines.
- I am a university career services coordinator mirroring live Handshake internship and new-grad listings onto our own job board, so students find every open role in one place.
- I am a recruiting agency researcher building a structured feed of early-career openings and deadlines, so my team can reach qualified candidates before a role closes.
- I am a market researcher tracking internship and new-grad pay by role, location, and employer, so I can publish accurate early-career compensation benchmarks.
๐ How to use Handshake Jobs Scraper
|
STEP 1 Set your filters Enter keywords, role categories, locations, or employer names. Leave everything blank to pull the general public feed. |
STEP 2 Run the Actor It reads Handshake's public listing and detail pages and normalizes each job into one clean record. |
STEP 3 Export your data Download JSON, CSV, or Excel, or connect the dataset to your own dashboard or spreadsheet. |
- Open the Actor's Input tab and enter your keywords, role categories, or locations. All fields are optional.
- Narrow results with employer name, employment type, workplace status, posting date, or compensation range if you need a tighter list.
- Click Start and let the Actor run. Results stream into the dataset as they're found.
- Open the Output tab to browse, filter, or download results in JSON, CSV, Excel, HTML, or XML.
- Schedule the Actor to run daily or weekly to keep a running feed of new Handshake postings.
๐ Input
| Field | Type | Required | Description |
|---|---|---|---|
keywords | array of strings | No | Free-text keywords matched against the job title and description. Leave empty to browse without a keyword filter. |
roles | array of strings | No | Handshake role-category slugs, such as accounting or software-engineering. Up to 10 roles are queried per run. |
locations | array of strings | No | City-state slugs, such as new-york-ny or austin-tx, or remote. Up to 10 locations are queried per run. |
employerNames | array of strings | No | Keep only jobs whose employer name contains one of these strings. Matching ignores case. |
employmentTypes | enum | No | Keep only listings matching the selected employment types (full time, part time, internship, temporary, contractor, or volunteer). Only applies to jobs where the source page publishes a type. |
workplaceTypes | enum | No | Keep only listings matching the selected workplace status (remote or on site). Only jobs with a source-confirmed status are labeled; leave empty to keep all, including unlabeled. |
datePostedAfter | string | No | Optional date. Keep jobs first posted on or after this date. |
datePostedBefore | string | No | Optional date. Keep jobs first posted on or before this date. |
minCompensation | integer | No | Keep only jobs whose published salary is at least this amount, in the listing's own pay-schedule unit. Jobs without a published salary are excluded once this is set. |
maxCompensation | integer | No | Keep only jobs whose published salary is at most this amount. Leave at 0 for no upper bound. |
fetchJobDetails | boolean | No | Visit each job's public detail page to add description, employment type, salary, and application deadline. Turn off for a faster, listing-only run. Defaults to true. |
maxItems | integer | No | Maximum number of job listings to return across all searches. Defaults to 100. |
proxyConfiguration | object | No | Proxy settings. Datacenter proxy is used by default and is enough for Handshake's public pages. Switch to residential only if you see blocking. |
๐ค Output
Every run returns one record per job listing. Here's a real example:
{"id": "9284157","title": "Software Engineering Intern, Summer 2027","employerName": "Northline Analytics","employerLogoUrl": "https://static.joinhandshake.com/logos/northline-analytics.png","city": "Austin","state": "TX","country": "United States","locationLabel": "Austin, TX","workplaceType": "on_site","employmentType": "INTERNSHIP","jobType": "Internship","roleCategories": ["Software Engineering", "Data Science"],"salaryMin": 32,"salaryMax": 38,"paySchedule": "HOURLY","currency": "USD","description": "Join our platform team to build internal tools used by every engineer at Northline. You'll ship a real feature during your internship and pair with a senior engineer each week.","datePosted": "2026-08-10T00:00:00.000Z","applicationDeadline": "2026-10-01T23:59:00.000Z","sourceUrl": "https://app.joinhandshake.com/public/jobs/9284157","scrapedAt": "2026-08-23T09:12:44.000Z"}
You can download the dataset in JSON, CSV, Excel, HTML, or XML directly from the Output tab, or pull it into your own tools through the Apify API.
๐ Data table
| Field | Type | Description |
|---|---|---|
id | string | Handshake's internal job ID. |
title | string | Job or internship title. |
employerName | string | Hiring company or organization name. |
employerLogoUrl | string | Direct link to the employer's logo image, when published. |
city | string | City where the role is based. |
state | string | State where the role is based. |
country | string | Country where the role is based. |
locationLabel | string | Full location as displayed on Handshake. |
workplaceType | string | Remote or on site, when the source page confirms it. |
employmentType | string | Full time, part time, internship, temporary, contractor, or volunteer, when published. |
jobType | string | Whether the listing is a job or an internship. |
roleCategories | array of strings | Handshake role categories attached to the listing. |
salaryMin | number | Minimum published salary, in the listing's own pay-schedule unit. |
salaryMax | number | Maximum published salary, in the listing's own pay-schedule unit. |
paySchedule | string | How the salary is measured, such as hourly, yearly, or per project. |
currency | string | Currency of the published salary. |
description | string | Full job description, when the detail page was fetched. |
datePosted | string | Date the listing was first posted. |
applicationDeadline | string | Date the listing stops accepting applications, when published. |
sourceUrl | string | Direct link to apply on Handshake. |
scrapedAt | string | Timestamp of when the record was collected. |
๐ฐ Pricing
Pricing is pay per result and is billed per job record successfully saved to your dataset. Empty runs cost nothing.
There are no fixed monthly subscriptions, no maintenance fees, and no charge for filters that return zero matches. You only pay for the listings you actually get back.
โญ Enjoying Handshake Jobs Scraper?
|
โญ โญ โญ โญ โญ This feed just saved your team hours of manually checking Handshake for new postings. A 5-star rating takes 10 seconds and helps other campus recruiters and career-services teams find it. Your feedback also tells us what to build next. |
| โ ย ย Rate this Actor on Apify |
๐ ๏ธ Tips for better runs
- Turn off
fetchJobDetailsfor a faster run when you only need title, employer, and location. Turn it on when you need salary, description, or deadline. - Combine a role category with a location to narrow a broad feed without missing relevant postings.
- Set
datePostedAfterand schedule the Actor daily to build a running feed of only new listings. - Set
minCompensationcarefully. Jobs without a published salary are excluded once this filter is set, so a strict minimum will shrink your result count.
โ FAQ
Does it get blocked?
No. The Actor reads only public Handshake pages that don't require a login, so there's nothing to block. Datacenter proxy, the default, is enough for reliable runs.
Do I need a Handshake account to use this?
No. Unlike scrapers that require Handshake credentials, this Actor never logs in and never asks for an account. It reads the same public pages any visitor can see.
How fresh is the data?
Every run reads the live Handshake pages at the moment it runs. Nothing is cached or reused from a previous run, so results reflect what's posted right now.
Are all job categories and locations supported?
Yes. Any Handshake role category or location slug works as a filter. Leave both empty to pull the general public feed without a role or location filter.
๐ Other actors
- Ashby Jobs Scraper: Hiring Change Monitor โ - Monitors public Ashby job boards for new, updated, and closed roles.
- Lever jobs scraper โ - Turns public Lever company boards into a hiring change feed.
- SmartRecruiters jobs scraper โ - Monitors public SmartRecruiters boards for new and updated postings.
- Instahyre Jobs Scraper: India tech jobs & hiring monitor โ - Turns Instahyre listings into a dependable India tech hiring feed.
- HIJOBS Scraper: Scotland's Highlands & Islands Jobs โ - Pulls every live HIJOBS vacancy from Scotland's Highlands and Islands.