Workopolis Job Scraper avatar
Workopolis Job Scraper

Pricing

Pay per usage

Go to Apify Store
Workopolis Job Scraper

Workopolis Job Scraper

Developed by

Shahid Irfan

Shahid Irfan

Maintained by Community

A lightweight Apify actor designed to efficiently scrape job listings from Workopolis. Extracts job titles, companies, locations, and descriptions. For best results and to prevent getting blocked, running this scraper with residential proxies is highly recommended.

0.0 (0)

Pricing

Pay per usage

0

4

2

Last modified

2 days ago

Workopolis Jobs Scraper

Extract job listings from Workopolis.com - Canada's leading job search platform. This actor scrapes job postings with detailed information including title, company, location, description, and posting date.

Features

  • ๐Ÿ” Flexible Search: Search by keyword, location, or provide custom Workopolis search URLs
  • ๐Ÿ“„ Detailed Extraction: Optional full job detail scraping with complete descriptions
  • ๐Ÿ”„ Pagination Support: Automatically handles multiple pages of search results
  • ๐Ÿ›ก๏ธ Proxy Support: Built-in support for Apify Proxy to avoid blocking
  • ๐Ÿ’พ Structured Output: Clean, structured dataset with consistent fields
  • โšก Fast Performance: Optimized scraping with concurrent requests

Input Configuration

Search Parameters

Configure your search using either keyword/location or custom URLs:

FieldTypeDescriptionExample
keywordStringJob title or keywords to search for"software engineer", "marketing manager"
locationStringGeographic location to filter jobs"Toronto", "Vancouver"
posted_dateStringFilter by posting date: anytime, 24h, 7d, 30d"7d"

Option 2: Custom URLs

FieldTypeDescription
startUrlsArrayOne or more Workopolis search URLs to scrape

Example:

{
"startUrls": [
{ "url": "https://www.workopolis.com/search?q=software+engineer&l=Toronto" }
]
}

Scraping Options

FieldTypeDefaultDescription
collectDetailsBooleantrueVisit each job's detail page for full description
results_wantedInteger50Maximum number of jobs to collect
max_pagesInteger10Safety limit on search result pages

Advanced Options

FieldTypeDescription
proxyConfigurationObjectProxy settings (Apify Proxy recommended)
cookiesStringCustom cookies as header string
cookiesJsonStringCustom cookies in JSON format

Output

The actor outputs a dataset with the following fields for each job:

{
"url": "https://www.workopolis.com/job/...",
"title": "Senior Software Engineer",
"company": "Tech Company Inc.",
"location": "Toronto, ON",
"date_posted": "2 days ago",
"description_html": "<div>Job description in HTML...</div>",
"description_text": "Job description in plain text...",
"_source": "workopolis.com",
"_fetchedAt": "2025-10-22T10:30:00.000Z",
"_from": "detail"
}

Output Fields

FieldTypeDescription
urlStringDirect link to the job posting
titleStringJob title
companyStringHiring company name
locationStringJob location
date_postedStringWhen the job was posted
description_htmlStringFull job description in HTML format
description_textStringFull job description in plain text
_sourceStringSource website (always "workopolis.com")
_fetchedAtStringISO timestamp of when data was scraped
_fromStringWhether scraped from "list" or "detail" page

Usage Examples

Example 1: Search for Software Jobs in Toronto

{
"keyword": "software engineer",
"location": "Toronto",
"posted_date": "7d",
"results_wanted": 100,
"collectDetails": true
}

Example 2: Scrape from Custom URL

{
"startUrls": [
{ "url": "https://www.workopolis.com/search?q=data+analyst&l=Vancouver" }
],
"results_wanted": 50,
"collectDetails": true
}

Example 3: Quick List-Only Scrape

{
"keyword": "marketing",
"location": "Montreal",
"collectDetails": false,
"results_wanted": 200,
"max_pages": 5
}

Performance & Cost

  • Speed: ~50-100 jobs per minute with detail scraping enabled
  • Compute Units: Approximately 0.01-0.02 CU per job with details
  • Memory: 1-2 GB recommended
  • Proxy: RESIDENTIAL proxy recommended for best reliability

Tips & Best Practices

  1. Use Proxies: Enable Apify Proxy (RESIDENTIAL) to avoid being blocked
  2. Limit Results: Start with smaller results_wanted values for testing
  3. Posted Date Filter: Use posted_date to focus on recent listings
  4. collectDetails: Disable for faster scraping if descriptions aren't needed
  5. Monitor Runs: Check logs for any warnings or errors during execution

Common Issues

No Results Found

  • Verify your search terms are valid on Workopolis.com directly
  • Try broader keywords or remove location filters
  • Check if the website structure has changed

Actor Timeout

  • Reduce results_wanted or max_pages
  • Disable collectDetails for faster execution
  • Increase memory allocation in actor settings

Blocked Requests

  • Enable Apify Proxy with RESIDENTIAL group
  • Add custom cookies if needed
  • Reduce concurrency by limiting results

Use Cases

  • ๐Ÿ“Š Market Research: Analyze job market trends in Canada
  • ๐Ÿ”” Job Alerts: Monitor new postings for specific roles
  • ๐Ÿ“ˆ Salary Analysis: Collect salary data for benchmarking
  • ๐ŸŽฏ Recruitment: Source candidates from job posting data
  • ๐Ÿ“ Content Creation: Generate insights for career-related content

Support

If you encounter any issues or have questions:

  • Check the Apify documentation
  • Review the actor's run log for error messages
  • Contact support through the Apify platform

License

This actor is provided as-is for use on the Apify platform. Please respect Workopolis.com's terms of service and robots.txt when using this scraper.