Skip to content

piotrv1001/ziprecruiter-scraper-nodejs-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How to Scrape ZipRecruiter Job Listings in Node.js

This example shows how to scrape ZipRecruiter job listings in Node.js using the ZipRecruiter Jobs Scraper actor on Apify. No browser automation or HTML parsing required — just call the actor via the Apify API client and get structured job data back.

ZipRecruiter scraper results

What this example does

  • Calls the ZipRecruiter Jobs Scraper actor with a search query and location
  • Waits for the actor run to finish
  • Fetches results from the Apify dataset
  • Prints each job listing to the console

Prerequisites

Installation

npm install

Environment setup

Copy .env.example to .env and add your Apify API token:

cp .env.example .env

Then open .env and replace your_apify_token_here with your actual token.

Usage

npm start

Code example

import { ApifyClient } from 'apify-client';
import 'dotenv/config';

// Initialize the ApifyClient with your Apify API token
// Set APIFY_TOKEN in your .env file (copy .env.example to get started)
const client = new ApifyClient({
    token: process.env.APIFY_TOKEN,
});

// Prepare Actor input
const input = {
    "search": "software engineer",
    "location": "San Francisco, CA"
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/ziprecruiter-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

Example output

See sample-output.json for a full example. Each job listing includes:

Field Description
title Job title
company Hiring company name
location Job location
salary Salary range (when listed)
jobUrl Direct link to the ZipRecruiter job posting
description Full job description text
postedDate Date the job was posted
employmentType e.g. Full-Time, Part-Time, Contract
scrapedAt Timestamp of when the data was collected
searchQuery The search term used
searchLocation The location used in the search

Use cases

  • Job market research — track salary trends and in-demand skills across roles and locations
  • Recruitment tools — build internal dashboards that aggregate open positions from ZipRecruiter
  • Competitive analysis — monitor hiring activity at specific companies over time
  • Career platforms — power job boards or recommendation engines with fresh ZipRecruiter data
  • Data science projects — build datasets for labor market analysis, NLP on job descriptions, or ML models

Try the actor on Apify

Open the ZipRecruiter Jobs Scraper on Apify

Related resources

License

MIT

About

Node.js example showing how to scrape ZipRecruiter job listings using the Apify ZipRecruiter Jobs Scraper actor

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors