Generate 50,000-page websites from Airtable in minutes
I sat for about an hour building a passive-income site from scratch on camera. The recording failed. I only noticed at the end. So I am giving the template away. You can host it yourself. Most people will not want to code it from zero anyway.
The stack is Nuxt on Vue,
Airtable as the database and CMS, and
Tailwind CSS for the UI. I threw the demo together in ten minutes. The UI is bad on purpose. The useful part is the loop: unique records in Airtable become unique URLs.
Nuxt for HTML, components, and server-side rendering
I am not a professional developer. Nuxt lets me stay in HTML for the bits I am comfortable with, then extract a header or footer as a component so I am not editing it on 50,000 pages. It also does server-side rendering. Google picks that up. Other React options exist. This is the one I use for this job.
Airtable is the CMS. Seven demo rows, 50,000 is the ceiling
The sample base is seven people: name, note, image I pulled off Google, status, email, job title. Do not get stuck on the example. It can be products, people, or businesses. Anything with a unique name.
Airtable can hold about 50,000 records. Nuxt will render that. I change a name in the base — Mark to Harry — save, refresh, the site updates. That is the CMS.
The home page hits one API route named hello
The listing page does not talk to Airtable from the browser. It hits our own API route, hello. That route reads Table 1, Grid view, and returns 50 records. You can change the table and the view.
Airtable's API will only give you 100 records in one request. If you want thousands of rows on a page, do not try to copy-paste them in the web UI. Make several views and link those views from the page. That is the starting point.
Dynamic /profile/_name pages and filterByFormula
Click a person and you land on a dynamic URL: profile/Mark, profile/Alice. The file is named _name so the slug is a parameter. We send that name to the backend. The backend runs Airtable's filterByFormula against the Name field and returns the matching record. Unique names, unique pages. 50,000 URLs if you have 50,000 unique names.
The data is the product
The template is not the hard part. What you put in the base is. Scrape it, buy a dataset, or both. I have not bought datasets myself. I scrape.
Apify is the scraper I actually use. Google Maps,
Instagram, the top 50,000
Facebook pages, 50,000
YouTube channels people already search for, the biggest
Twitter profiles, a contact-details site in the shape of
Hunter,
Reddit,
Amazon products. They also have
Puppeteer if you want to write your own. The description also lists
Growth-Hacking.io and
Simplescraper. At 50,000 results Apify is still affordable. At millions of pages it gets expensive.
The simplest commercial example is an Amazon product scrape plus an Amazon affiliate link. Check their terms yourself. I am not sure that one is compliant.
300 competitors in one niche, about an hour
One site I built: I picked a niche, listed the 300 biggest competitors — mostly from Google search scraping — then layered sources on the same records. An Open Graph API for the image, title, keywords, and description that show up when you share the URL. The site itself for phone, email, and socials. Those socials scraped again. Trustpilot reviews. Facebook reviews. The
LinkedIn company page and its employees, if I could find one. None of that is unique data. It is several public sources on one URL. It ranks better than it should. Setup is about an hour. The foundation is this template. The extra work is more API requests and unique Airtable views.
Three sites. The OnlyFans one puts my girls at the top
I have built three of these. One is doing well. The second is picking up. The third is lower traffic, but I had a direct way to monetize it, so I expect the conversion to be higher.
One of them is an OnlyFans database. I scraped 50,000 profiles. Adult traffic works. I was managing two creators, so I built the site to keep their pages at the top. OnlyFans also has an affiliate programme. It is 5%. If you are going to copy the idea, look for products with a higher commission before you generate another OnlyFans directory.
If you have a scrape idea and cannot get the data, you can reach out. I will not take every project.
The code is GitHub. The Airtable base is
Airtable. Communities are
OFM Insider and
Automation Academy. Tools are on
Bento. One-off is
Calendly. Four sessions is
4x Consultations.
Transcript
hey guys um I just spent about an hour sitting here what I thought I was recording how to make this like the passive income stream website I was literally building building in front of you from scratch and uh anyway it turns out it didn't record properly and I only realized right at the end um but I'll I'll just just walk you through it and what I'll do is I will just release this um I will just release this as like a template for free and you can choose to set it up and host it yourself if if you want to I imagine most people wouldn't want to code it on their own anyway
so I'll just walk you through what is what's going on um but I am a little bit annoyed actually um we're using a tool as a language called Nuxt which is built on top of Vue and what this allows us to do is you can basically work in like HTML which is what most people who are like a little bit technical but not professional Developers like such as myself are going to be like most comfortable in but I will also like build components and so on um
for things that I'm using and it is super easy to do it and um in Nuxt like it's literally built for this type of stuff so for example like the header and footer you want to make as a component so you don't have to edit it open 50 000 Pages obviously and Nuxt also has great server-side rendering so it's picked up by Google very well and it's almost like built for SEO so in my opinion it's it's a really good choice so there are some other like similar ones in react but personally this this is is what I go for so I'll just make it like as simple as I can this is our home page and I'll just and so and this is connected
into airtable by the way so this is something that I've just put together in 10 minutes um these are like records you know database they've got a name they've got the note they've got an image that I've just taken off Google and they've got a status and that one's got an email and they've got a job title as well um but so but just picture this as being like any different type of information this could be a list of products this can be a list of people it can be a list of businesses there can literally be anything um
so don't get too caught up in what the actual data is that we're showing this was just a very very simple example that I threw together so we've got seven records here and airtable can handle up to like 50 000 so and Nuxt will handle that very very easily so if I go and like refresh this page this is our home page and you can see what is happening is we're literally just displaying everything with submitting an API request to airtable pulling all the data um
and I can that's sending a request to our own API which is called hello if I open up hello you'll see what we're doing we're just doing table one pulling 50 records from grid view you can change all of this like I said I'll just give it I'll put it up on GitHub and you can download it and we're just building the records and returning this to ourselves so we could also put in like up to like 1000 or however many literally however many no you can't even copy on the web version anyway
like I could copy and paste and add those records in thousands of times and airtable would there's a limit of 100 records actually so it's best to generate a number of different views and Link them on your um on your page in my opinion but anyway this is like a good starting point so we're rendering these seven uh people on our page and for example if I change this text here this is working as like a Content management system for us right I need to save that what you're doing um
they're Mark yeah it will change here to Harry it's the best right so it's pulling like in real time um and then if we actually click through this is built using Tailwind by the way I'm just like this is a bad UI but again I was just trying to build build this very quickly as an example and if we click through onto Harry on Mark sorry you'll see that he's got a dynamic URL so it will say profile Mark and then we're showing like his information here and I can add in whatever else I want I could put in some other texts and and so on um
and if we go back and click on Alice who's got the picture of a guy you will see that it's the same it's got Alice has a custom URL so it makes it so easy to build all of these Pages the only thing that you need to do if you want to know how we're doing that by the way we're literally just doing um when you click on a URL you can see here the name is underscore name which makes it dynamic um
we're taking the parameter in the URL which is the name sending that over to our backend API which is then doing filter by formula so it's filtering our Airtable records um by the name field and it's using whatever parameter is here to find a record that matches that and then it will return us all of the information so I hope that makes sense it's really really quite simple I know some people are really put off by code like whenever they see this but this is like a really interesting way to as you can see I am I'm quite tired now yeah and and so you could just generate 50 000 different URLs so so quickly as long as the name here is unique they'll be
generated automatically and just to give you I know the next thing people are going to ask me like as much as I try and encourage people to think for themselves the thing that really matters here is like your data so whether you go and scrape this yourself whether you go and buy data sets like whatever it is you could just for example when I could an easy one would be to go on to like Apify I'll put a link in the description actually I've got an affiliate link for them so uh you can you can use that if you want to help me out and you could do okay like Google Maps scraper you could do an Instagram scraper a collection of the top 50
000 Facebook pages YouTube scraper like um making a website of 50 000 YouTube channels so particularly if you do big ones people are searching for Twitter scraper a collection of the biggest Twitter profiles um contact details make a contact details website something like um hunter or something uh what are the top Google Trends um I mean coronavirus has done a lot already so I think you'll have a lot of competition or you can build your own scrape but they've got Puppeteer here they've got an Amazon scraper as well which is here a Reddit scraper like you could just there's literally so many things that you can do and all you need to do is build out your own data set or you potentially buy one
like for example the easiest example I can think of is the Amazon product scraper go and scrape yourself 50 000 products get yourself an Amazon affiliate link I'm not sure if this is actually compliant with Amazon's terms of service but um you would have to check that yourself but it's just a very simple example and you're literally just pulling information that is already online you can get a little bit more interesting with it for example one website that I built was a how should we say it was pulling all of the information I I picked a specific industry a specific Niche and I wrote down the 300 biggest competitors in or like researched the 300 biggest competitors in that space it didn't take long most
of it was actually through Google search scraping then I used an API to pull uh I think it was like a OG image API image API I'll see if I can find it for you so that will open graph service API it was somewhere and anyway what it does is it pulls the image that um shows up when you share it on Twitter and Facebook and so on it pulls the website title that pulls the metadata the keywords the description and so on and I had all of that and then I would scrape the website for telephone number email social media profiles go and scrape all the social media profiles sync that back over to my airtable database check for reviews so I would use
a Google search scraper check on trustpilot what are the reviews scrape all of the reviews put that on in my Airtable base I would also do the same on their Facebook reviews and so on and then I would also check if I could find a LinkedIn company page for them scrape all of the LinkedIn employees put them on the table so now I've got a on my airtable now I've got a completely like it's not even unique I'm just pulling multiple sources together and it ranks really really well not like it it's surprisingly good um
bearing in mind that it takes like an hour to set up I find it really really interesting building out things like this and like I'm literally just using the same template this exact template that I'm about to share with you now is exactly what I use I'll make a few adjustments on adding in more API requests but the foundation is literally what I'm giving away the only other ones I'll generally add in are unique searches on airtable views I'm I I hope that people will have some interesting ideas with it and with that being said as well if someone does have an interesting idea and they don't know how to get the data for it you can reach out to me and I'm I'm not
guaranteeing that I will like take on every project that gets sent over but if there are some interesting ideas for scraping data and building out websites like this I've built three of these websites already one of them is doing really quite well the other one is also starting to pick up now too and the third one I haven't actually checked on it in a while it's not the third one I knew wasn't quite as high traffic but it was I had like a direct in to monetize it so that that's why I did it so I think I would actually make as much as the traffic won't be as high I think the conversion rate will actually be much higher um
like just to give like one example of one of them I'm doing it's a like OnlyFans database so I scraped 50 000 OnlyFans profiles of girls adult traffic really works quite well and but the reason that I did it to monetize that is because I'm currently managing two girls on OnlyFans like I manage and Market their OnlyFans account so I thought why not build out a website for them and I can promote my girls always at the top so that was the motivation behind doing that OnlyFans have also got an affiliate program it's like five percent though I I if you're managing OnlyFans girls it could be something good for you as much as I don't really want to start getting load of competitors that
was the reason I did it so I would actually look for like higher um affiliate based the products that pay a higher affiliate commission before everyone starts generating OnlyFans website um and yeah even like Apify honestly is really I've used this platform for ages it's really quite flexible if you're doing it at scale in terms of getting millions of websites it it will get expensive um but for example I think 50 000 results would even actually be be affordable yeah anyway
I like I said I'm sorry and I'm a bit disappointed I didn't get to run through the whole um whole thing in front of you but um I guess the end result is still the same and personally I imagine most people weren't even interested to build this themselves so maybe it's worked out as I can't can't stop yawning I'm gonna go off to bed I will probably upload this quickly and put this on GitHub and um yeah let me know your thoughts and feedback like I said if you have any ideas for things that you want to data sets like things that you think would be quite interesting feel free to message me like I'm really quite interested in projects like this at the moment
and I do I enjoy scraping large amounts of data so um yeah let's see