How to Build a LinkedIn Profile Scraper Using Make.com and Apify
In today’s competitive business landscape, having access to professional contact information can be invaluable for marketing, sales, and networking purposes. While there are paid applications that offer this functionality, building your own automated scraper can save you significant money while providing the same benefits.
Understanding the Legality of Profile Scraping
Before diving into the technical details, it’s important to understand that scraping publicly available profile information is generally legal. The automation we’ll build only extracts information that users have intentionally made public, such as contact details, email addresses, and profile links. This is the same information that paid applications collect, and users publish this data precisely so others can contact them.
Tools You’ll Need
Our automation will use two primary platforms:
- Make.com (formerly Integromat): The free tier is sufficient for this project
- Apify: We’ll use their LinkedIn scraper with the free tier
Setting Up the Basic Flow in Make.com
The automation follows these general steps:
- Search for profiles matching specific criteria
- Paginate through multiple results
- Extract contact information from each profile
- Store the data in a structured format
Creating the Search Trigger
We’ll start with a basic trigger in Make.com that will initiate our search. This trigger needs to include parameters that define our search query. The syntax will look something like:
site:linkedin.com Gmail.com [LOCATION] [KEYWORD]
For example: site:linkedin.com Gmail.com Peru marketing
This search query will find LinkedIn profiles from Peru that mention marketing and have Gmail addresses associated with them.
Configuring the HTTP Request
Next, we’ll set up an HTTP request module that will send our search query to Google. The key parameters include:
- Query (q): Our search syntax
- Language (hl): The search language (e.g., Spanish)
- Location (gl): The country code (e.g., PE for Peru)
- Number of results per page (num): Usually 10-15
- Starting position (start): For pagination purposes
Implementing Pagination
To access more than just the first page of results, we need to implement pagination. This requires:
- A repeater module that will iterate through multiple pages
- A formula to calculate the total number of pages based on search results
- A starting value that indicates which page to begin with
- A step value that matches our results per page
For example, if we want 15 results per page and want to process 40 pages, we would configure the repeater with:
- Initial value: 0 (for the first page) or another value to skip initial pages
- Number of repetitions: 40 (or use MIN function to limit repetitions)
- Step: 15 (matching our results per page)
Storing the Data
Make.com offers a built-in data store that works similarly to a spreadsheet. We’ll create a data store with fields for:
- Name: The profile owner’s name
- Link: The URL to their LinkedIn profile
The free version of Make.com provides 1MB of storage, which is usually sufficient for this purpose.
Extracting Contact Information with Apify
After collecting profile links, we’ll use Apify’s LinkedIn scraper to extract detailed information from each profile:
- Connect Make.com to your Apify account
- Select the LinkedIn scraper actor
- Configure the input JSON with the profile URL
- Add a delay between requests to avoid rate limiting
- Process the returned data
The free version of Apify allows approximately 300-400 profile scrapes per month, which is sufficient for many use cases.
Filtering and Saving Results
Finally, we’ll add a filter to ensure we only save profiles that contain valid contact information. This helps keep our database clean and focused on actionable contacts. The filtered data can be exported to Google Sheets or any other destination of your choice.
Benefits of Building Your Own Scraper
By creating this automation, you’ll save significant money compared to premium services that charge $40-50 monthly for similar functionality. Additionally, you’ll gain valuable experience with automation tools that can be applied to many other business processes.
Conclusion
Building a LinkedIn profile scraper using Make.com and Apify provides a cost-effective way to gather professional contact information for your business needs. The automation respects the public nature of the data while eliminating the need for expensive subscription services. With the free tiers of both platforms, you can collect approximately 100 contacts per month without any cost.