Indeed

Scrape Job Postings Information from Indeed

Goal:

Use Excel VBA to scrape job posting information on Indeed.com, (1) searching for a job search term within (2) a certain zip code and (3) retrieving each job posting information for multiple pages into an Excel worksheet.

For each returned search result, scrape the following:
Job Title
Link
Company
Location
Time Posted
Description

Example:

In this example, we want to search for the term “photoshop designer” and get all the search results from page 1 to page 5

Note:

On Indeed.com, there is a “New” parameter that return the latest job postings. We will utilize VBA to click into this parameter, by typing “new” in cell A4.

Worksheet Prerequisites:

Cell A1: Input your job search term (receptionist, excel vba, photoshop, Facebook, etc)

Cell A2: Zip Code

Cell A3: Number of pages to gather data from (5 = scrape all data from Page 1 to Page 5)

Cell A4: Input “new” to get the latest/newest job posting. Leave blank to utilize default Indeed search

Code Breakdown:

Open Internet Explorer

Browse to Indeed.com

Input job seach term from Excel (cell A1) into Indeed’s job search bar

Input zip code from Excel (cell A2) into Indeed’s location search bar

Click the “Find Job” button

Loop Step 1: For each search result, print the Job Title, Link*, Company, Location, Time Posted and Description into the Excel worksheet

Loop Step 2: Add a page counter, print the page# the data was retrieved from in the first column

Loop Step 3: Click “Next Page”

*Note: When VBA retrieve the url, it is stored as text, to change it to a clickable hyperlink, add the following:

Set Hlinks = Application.Selection
For Link In Hlinks
Application.ActiveSheet.Hyperlinks.Add Link, Link.Value
Next

Repeat Loop until the result page is 1 page pass the inputted value in cell A1

Close browser (ie.quit; Optional)

Input appropriate headers for each column in worksheet row 1

Result: