Adzuna Scraper
A Node.js scraper for extracting job descriptions from Adzuna job listings.
Requirements
- Node.js 14.21.3 or higher
- The entire
node_modulesfolder (do not runnpm installon the server)
Installation on Server
Since the server has limited disk space and write permissions, do not run npm install on the server.
Instead, deploy the entire sidecars directory from your local machine:
Method 1: Using rsync (recommended)
# From your project root directory
rsync -avz --progress sidecars/ user@yourserver.com:/path/to/jobifygarden.com/engine/sidecars/
Method 2: Using FTP/SFTP
Upload the entire sidecars folder including:
adzuna_scraper.jspackage.jsonnode_modules/(entire folder)page_example.html
Method 3: Create a tar archive
# On your local machine
cd /path/to/jobifygarden.com
tar -czf sidecars.tar.gz sidecars/
# Upload sidecars.tar.gz to server, then on server:
cd /path/to/jobifygarden.com/engine
tar -xzf sidecars.tar.gz
Usage
node adzuna_scraper.js <adzuna-url>
Example
node adzuna_scraper.js https://www.adzuna.com/details/5694360484
Output
The scraper outputs JSON to stdout:
{
"url": "https://www.adzuna.com/details/5694360484",
"jobDescription": {
"html": "...",
"text": "..."
},
"timestamp": "2026-04-11T12:00:00.000Z"
}
Technical Details
- Uses
puppeteer-corewith@sparticuz/chromium - Compatible with Node.js 14.21.3
- Includes self-contained Chromium binary
- No system dependencies required (no libdrm.so.2, etc.)
- Optimized for shared hosting environments
Troubleshooting
If you get "Too Many Requests" errors, wait a few minutes before trying again (Adzuna rate limiting).
If the scraper fails to find job descriptions, check that the URL is valid and the job posting still exists.