Steal these 4 methods to scrape leads with Ai for crazy cheap (free template)

Rory Ridgers walks through four AI lead-scraping workflows: Google Maps (free), App Store (free), Apollo ($1.20 per 1,000 leads), and LinkedIn Jobs ($0.90 per 1,000). Each uses n8n automation to pull contact data and write it to Google Sheets, with a free template included.
Chapters
What's up guys, in this video we're going to be going over 4 super cheap and even free ways to scrape leads using AI. And in all of these scraper methods, you'll get all of the necessary information that you need to further enrich these leads and even reach out to them straight away. So you'll have contact information, you'll have their website details, you have the business name, all of that kind of stuff you'll be able to get for, like I said, either very, very cheap or completely free scraped using AI. So let's not waste any more time, let's jump into the video. I can give you an overview of all of these systems and then we can go in and we can test each of them out so you how they all work. Okay, so these are the 4 systems here. We have a Google Maps scraper, an app developer scraper, an Apollo scraper, and then a LinkedIn job scraper. And of course, each of these are kind of doing what they say on the tin. It says, uh, you know, what platform they're scraping. So to begin with, the Google Maps scraper, how this works basically is we do a general search for Google Maps to get businesses based on a certain area and certain keyword, and then we enrich that data further to get things like their phone number, their website, so that you can cold call them or you can enrich them further using their website and get maybe their email address to reach out to them on. And then we have the AppDev scrape. So here we're going to be scraping the Apple App Store, and basically what happens is we scrape the Apple App Store and then we get all of the information on the developers of each app. And then it goes through here and it basically loops through each one, gets their website URL from here, loops through each one, and then extracts the email address that we can actually reach out to them on based on their website. And then that all goes through here and then that gets added to a Google Sheet. So we have the business name the industry that they're developing apps in, the email address to reach out to them on, and then also their website if you want to enrich them further. And these two, the Google Maps scraper and the AppDev scraper, are completely free. So you can have as many leads as you want for completely free. And then the Apollo scraper, this is when you start having to pay a little bit of money for them, but don't worry, they are still super, super cheap. So the Apollo scraper, kind of doing exactly what it says, it's just scraping Apollo. And if you don't know what Apollo is, it's basically just a massive database of different contacts and companies that you can get information on and includes things like their email address, the industry they work in, their past companies they've worked in, all of that kind of data that you would need to enrich them fully and also reach out to them directly. So we scrape Apollo using Apify, and this one costs about $1.20 per 1,000 leads. So still super, super cheap. Of course, not free like these ones, but still very, very cheap. And then the LinkedIn Job Scraper, it does the same kind of thing here. We're using Apify, but this time we're scraping LinkedIn jobs. So for, in this case, you might be offering some BDR or SDR are AI automation services, for example. So you could search, uh, LinkedIn Jobs to see what companies are looking for those kind of positions, and then you can reach out directly to them and say, hey, I know you're looking for a BDR person, I can build you an AI agent that's going to solve all of that for you and it will cost half the price, for example. Okay, so that is an overview of all the systems. Now we're going to look into a little bit more depth in each of the systems. So we're going to start off with the first one, which is the Google Maps scraper. So to begin with, in here we just have an API call to the Google Maps API, and if you don't to access this API and get your API key. All you're going to do is you're going to go over to Google Cloud and sign up if you haven't made an account with them before. You will have to link a card to this, but don't worry, you won't get charged, um, up until a certain amount of usage. With Google Maps API, it's free up until a certain amount of usage, and then after that you have to start paying for it. But I do believe it is still pretty cheap even after you start paying for it. So all you're going to do is you're going to make a new project. It's pretty simple to make a new project. Then you come to APIs and Services and then Enabled APIs and Services. You can see once you've enabled the Google Maps API, all you have to do to do that is just type up, uh, Google Maps up here and you'll see the APIs and Services appears. And you just click on that and then hit Enable and then it will be enabled. And then you can see here I have under API Keys, I have all of this information on my maps app that I just made. Really, really simple to make the app. Then you just hit Show Key and you get the API key. And if you come back over to N8N, you can see in here this is the URL that you're going to be using. And in here you can set the location, the radius, and also the keyword. And then here it's just going to be your API key that you can add in that you would have just got from here. And then this is going to give you some general information. So if we hit execute step, you can see this is the information we're getting. The results are bundled up like this. We've got the location, the name the opening hours, some photos, and then the place ID, uh, the rating, the price level, uh, the type— so restaurant, food, point of interest— total user ratings, and then the facility. So that's kind of just like the address. We get that from there. And then we just have a code step in here, very, very simple, that just bundles all of that information that we actually need, which is the place ID and the name hint. We're going to use that in our next API call. By the way, If you don't know how to write these code nodes, don't worry at all, uh, because neither do I. All you do is you should go over to something like ChatGPT or Claude or Gemini, whichever you use, and just give it context on what you're trying to do, and it'll be able to generate these code nodes for you that can kind of sort data out as you please. So here we just go through and we just extract all the place IDs and the names, and then we do another API call here, and we basically list out all of the different information we want. So we get Formatted phone number, informational phone number, website, formatted address, geometry, types, URL. And then again, we put in our API key and we just put in the place ID that we get here. So from the name here, we get the place ID and we just put that in. You can see json.place_id. We hit execute step here. You can see now there's a lot more data. So we get the formatted address, the formatted phone number, as long as all of that other information, the international phone number as well. And then we also get their website URL, which is really, really cool. And then we just have a simple filter step here that basically just filters through to make sure all of the websites are included in there. You can see for this case, um, all the websites are there, so it didn't matter. But there are any that didn't contain a website, probably not worth reaching out to. Um, so we just filter those through. And then we just have a simple Google Sheets step like this, and we just put in— oh, looks like business name isn't in there, so we can just grab the business name, put that in there like that. So we've got business name, website, phone number, and location. If we hit execute step Uh, give this a second. We can go over to the sheet here and you can see, yeah, the phone number like this, this is just a Google Sheets thing. You can change this, it'll say error, but in here is the actual phone number. So if you want to cold call them or anything like that, you can always just look at the number like this. But yeah, you can see we've got the business name, we get the website, we get the phone number, and then we also get the location of all of them. So really, really cool, and that was completely free Didn't cost me a penny to do that. And you can scrape a lot of leads for completely free. By the way, guys, if you want to get a free template for this system that I'm showing in the video and you want to be able to scrape all these leads for very, very cheap and even free, all you have to do is you come over to Communis. You can either type up Communis and search for the template, or you can just go to the link in the description and you can download it straight from there. And then when you're on here, you can just hit View Details here. I want this template. And then you'll be able to just download this template. And this video will also be along with it. So you can sort of see exactly how it works in the backend in case you forget. So yeah, if you want to download the template, come over to Commoners, type it up, or just follow the link in description. All you have to do, go to the template, click I want this template, and then you can simply just download the, uh, JSON files here. And now we have the app developer scraper. So it's going to be if you're targeting, uh, app developers or sort of software developer companies or agencies, that kind of thing. This is going to be the perfect place where you can do that. So we just have a simple form here where we put in the search term and the country of the type of leads that we're looking for. And then we just have this API request here, and this is just a, um, free endpoint that anyone can hit. It's an iTunes endpoint, and you can see here we put in a search term which is going to be from the form, and then we also put in a country which is going to be again from the form, and then we put in a limit here. You could put the limit in the form bit, but I didn't just for this. Um, yeah, but if you wanted to put a limit on how many there is in there, you can do that in the form. Right now the default is just 100. So if we quickly just test this out as we're going, let's open this. Let's say the search term uh, let's say it is health apps, and for country we can say GB, which is of course Great Britain. And then that gets, uh, executed there. And if we just hit execute on here, then give this a second, and then we should get 100 results. So yeah, you can see here, 100— oh, we got 102 results. And this is how it looks. So we get all of these URLs here that you probably don't really need, a bunch of screenshots, iPad screenshots. Again, probably don't need these. Also tells you all the supported devices, which again you probably don't need. And then It tells you the kind, it tells you the seller URL, the user rating count, the advisory age rating, and it gives you a lot of information here. You can see it's a lot of information. So what we do is we just have this code node that basically just extracts the data points that we actually want. So the app name, the developer name, the website, the country, the genre, the app URL, and then the date that we fetched it. So in here we've just put in the variables from here. That we actually want to get, and then it just goes through and then it just gives us 102 items of all of the information that we actually want. And then we just have a filter step to see if the website is valid. So for all of these, you can see 16 didn't have a website, um, so in that case we can't get the email address, we can't enrich them or anything, so it's probably not worth reaching out to them. So we've got 86 to go through, and then we have a loop over item step here. So basically what this does is it loops through each of them, is that it grabs that email address. So we do an HTTP request, which is just a standard GET request with their website URL. If we hit execute step, it's just going to give us all the HTML from their site. And then we just have this code node here that basically grabs their email. So you can see sometimes it doesn't grab their email, it can't grab the email for all of them, um, but it will go through and it will grab the email from their site based on this HTML data. And then we just have an if step to see if it actually got the email. If it didn't get the email, it goes back around and does the next one. And then if it did, of course, it goes into the Google Sheet. So to give you an idea of how this actually works, we can run this whole thing through. So if we execute this again and we say the exact same thing, let's just say health and then country GB, hit submit, and then you can see this going through here. So we've got the same results here that you can see. Now it is going through, and if we look in the sheet, you can see these starting to come through now. So we get the email address, the company name, the app name, the app URL, and the website URL, and you can see them popping through now. Uh, so we just let this run for a sec. It does have to go through quite a few different items. So we'll give this a second to run through and you can see how many results we get out of 100 with actual email addresses. Okay, so it's finished now. It's gone through all of them. And then we check the sheet. You can see in here we got 38 results, which I think is pretty good considering it is completely free. Not like the Google Maps one where you will get after a certain amount of results, you will have to start paying. This one is literally completely free. And you can see here we got all of these email addresses, company names, app names, app URLs, and website URLs. And again, you can enrich the websites further if you want to. Um, but yeah, very, very cool. Get all of them for absolutely free. And you can see here it went through all of the websites, grabbed all of the emails. All of the ones that it couldn't find the emails for, it sent it back, and then it went through to the next one. And then yeah, it gave us all of those results. So very, very cool. And now we're looking at the Apollo Scraper, and this one very, very cool. You look on the form submission and you put the Apollo URL in, the number of results you want. And the way this works is it's great, it uses an actor on Apify that will scrape Apollo, get all of the results that you want, and then we get the dataset items here, and then we just add all of that to a Google Sheet. So really, really simple. And if you've never heard of Apify before and you don't know what I'm talking about when I say the actors, basically Apify is just a massive database of all these different actors that you can use to, uh, scrape any information you want from the internet. So there's LinkedIn ones, Apollo ones, Instagram ones, website ones. You can scrape practically anything on the internet. And then each of them will have a price per 1,000 results or per 1,000 leads depending on what the scraper is. And this one here is the one that we're going to be using. So the Apollo scraper, scrape up to 50,000 leads, and you can see it's $1.20 per 1,000 leads. The way it works is you put in the search URL from Apollo that you want to search, and then you can also put in the total number of records which are going getting from the form. So NAN recently released a built-in Apify node, which is really, really cool. I think you do have to install it, but if you just type up Apify on the node list on NAN, it'll come up and you should just be able to hit install and you can install it. And then from here you can connect your account just using your API key from Apify, and then you can go to either recently used actors or Apify store actors, and you can just type up the one that you actually want to use. And then to get this JSON body, all you do is you go to the actor And then you go to JSON, and then you can see here, this is a JSON body. You just copy that, paste that into here, and then you just replace the things that we want to replace as variables with those variables. So URL is going to be the variable from our form, and then the total records is also going to be the variable from our form. And you're probably asking, how do you actually get this Apollo URL? And all you do is you simply go over to Apollo. So if we go over to Apollo, if we go to people here, you can see we have all of these different, uh, filter options where we can filter out the different things. So we could go to location and say something like United States, right? Let's say United States. And then employees, let's say it's 21 to 50 employees. And then industry keywords, let's say marketing agencies— I spelled marketing wrong— marketing. So let's say marketing and advertising. And of course you can pin this down more if you want. You could do way more filtering and make it way more specific. You can see there's 138,000 contacts here, so not specific at all, but we're just going to use this for now. Um, all you do is you just grab this URL here, and then if you come back over to NAN, then we can actually run this one through. So let's hit execute workflow, pull our URL, put that in there, and then number of results we're going to say 500, and then we just simply hit submit. And you can see this is now running the act. So if we come over to Apify again, you can see if we go to runs for this, this is now running. It does take a minute to run because it's of course scraping 500 contacts, but you can see it takes about— this one took 1 minute 30 seconds, a previous one. Uh, if we come back over to any— and basically what we do, this runs until it, um, finishes and doesn't give us the actual data. And what we do is we go to Get Dataset Items, and then we just get the dataset ID that this step would output to us, and then we just put that into there. So the dataset ID, we put that into there, and this will just get the actual data that this actor returns, and then we just filter all of that into a Google Sheet. So we'll come back when this has finished scraping. Okay guys, so you can see that has now finished, and if we look at the output here, we get all of this data. And basically what we do is we come over to a Get Dataset Items Apify node in NAN, and then we just put the dataset ID that we get from here into here. And then the limit, we're just going to get a limit out to 500 just in case. You don't have to do a limit, but it's going to be 500 from the form submission. And then we get all of this data here. So you can see a massive amount of data that we get for each person. But we get their name, their LinkedIn URL, their title, email status, their Twitter URL, GitHub, Facebook if it's available, of course, the headline, their email address, organization ID, then all of their employment history here. Obviously this person has quite a lot of employment history. And then all of this other data here, so their country, the state, the city, their address, uh, literally everything about these contacts. And then we just put all of that data into a Google Sheet. So in the Google Sheet, I've done name, email, LinkedIn URL, company, company website, company LinkedIn, industry, country, and then key information. Of course, you could put more information there, uh, you know, the information that actually resonates with you a little bit more and that you would actually need for your email outreach. But if we come over to the Google Sheet, you can see this is how it all looks in here. You can see we have 500 different contacts in here. With all of this information. Some of them will have missing data. As we scroll through, you can kind of see this one's missing an email, this one's missing a company website URL, so is this one, uh, so, so is this one. So now and then you will get little gaps in the data, but you can see like 90% of them, 95% of them have all of the data filled out, which is absolutely perfect. And you get 500 for literally $1.20. Which is absolutely perfect. If you're in the UK like me, that's about £1 for 1,000 leads, which is crazy. So, so cheap, and you get all of this data, um, that you can do absolutely anything you like with. Okay, so now for the final one, the LinkedIn Job Scraper. Here again, we have a form submission, and in here we put job title and then location. And they have a really, really simple message, a model here that just URL encodes the location. And all that does is basically it adds like a percent and a 20, uh, in the spaces of the location. It's just in URLs, usually in API endpoints. If you're adding a location, sometimes you need to encode that location like that. You'll see what I mean when we actually get into this. So they have a runner actor, and for this one we're going to be using the LinkedIn Job Scraper, uh, Apify actor. This one is $0.90 per 1,000 results, which again is crazy. And if we want to get the JSON body here We just go to JSON. You can see we're just inputting a keyword and then a location. So we just copy that, take that over to NAN again, and then obviously the location and the keyword are we going to get from the form. So this could be something like the location, obviously whichever location you want, so, um, you know, United States for example. And then the keyword could be something like sales assistant or customer service assistant, that kind of thing. And then exact same process as this, this will, uh, basically trigger the actor and wait until it's done. This will get all the dataset items, and then we put all of that information into a Google Sheet. So really, really simple. We're just going to run this through so you can see exactly how it works. So job title, let's say sales assistant, and then— okay, I spelled assistant wrong— and then location, we're just going to say London. So you can filter this down a little bit more. That's a very, very broad But, um, of course you're just gonna get more results if it's broad. So if we look here, you can see the, uh, it didn't have to encode the, um, location because it was only one word. Um, but that would, if it was United States, it would be like United and then percentage 20 states. Don't know why it needs to be like that, but when you're encoding it for URLs, it just needs to be like that. So now this is running in Apify. If we go to the actor here, then go to run, you can see it's running. And it can take a little bit of time to, um, run all of these. What I recommend is you put a limit on here. If you go to Run Options and then go to Maximum Charge Results, I just put 500, uh, just because it can take a little bit of time. That's not included in the API request, so this JSON body number of results isn't included. So I'd recommend just coming over to the actual actor on Apify and just putting it in there. So yeah, does take a little while. You can see it's done 28. Uh, some of these were taking like, you know, 6 minutes, 2 minutes, took quite a bit of time to go through all the results. So we'll come back when this is done and, uh, yeah, you can see the output of this actor. Okay, so it's just finished and you can see again the data looks the same as the Apollo Scraper. We get this information here and then get dataset items. For some reason the filter didn't work for the number of them. We got 1,181 results, which is quite a lot. Um, but yeah, we put in the dataset ID and then we get all this information back. So we get the job ID, the job title, the location, salary information, which you don't really need, when it was published, the company name, the company URL, the description, the sector. And then we put all of that information into a Google Sheet. So we get the company name, the company LinkedIn, and then also the publish date. So if we have a look at the Google Sheet, you can see we get It should be about, uh, 1,000. I think it was 1,181 results. You can see, yeah, 1,182 it went to. And, um, yeah, it tells you all this information, the company, their LinkedIn, and the publish date. So I'd recommend, uh, maybe filtering this a little bit more for specific information. So for example, like employee count or when it was published, the industry, that kind of thing, and then reaching out to these companies directly through LinkedIn. Would be the best way to do this. But they give you an idea of all the different companies that are applying or looking for jobs in certain industries, which is really, really cool. Okay guys, so that is it for the video. I hope you learned something, and I hope this kind of opens your eyes as to how cheap it can actually be to scrape leads and how you can kind of get a little bit creative with it and scrape like the, uh, Apple App Store, for example, or scraping Google Maps, or scraping LinkedIn Jobs to find leads. And it shows you kind of how cheap or even free it can be to actually do this. So yeah, that is it for the video, guys. If you've got any suggestions you'd like to see please do just let me know in the comments and I'll try my best to get around to doing them.
More from Rory

Dynamic Workflows are crazy. This is how to actually use them (beginner's guide)










