Build and sell your own API $$$ (super simple!)
Vložit
- čas přidán 16. 07. 2024
- ⭐ Sign up for my Full Stack Developer Course: www.codewithania.com
You need to sign up here to follow along: bit.ly/rapidapi-hub
In this video I show you how to make a profitable API and sell it on the RapidAPI Hub.
00:00 Introduction
03:20 Overview of the final product
03:44 Creating a RapidAPI Account
04:21 Creating our Node.js Project
15:25 Routing in Express
21:44 Getting a news source
30:15 Getting multiple news sources
38:42 Getting an Individual new source by parameter
48:59 Refactoring and Prep for Deployment
49:39 Creating our API on RapidAPI
50:33 Deploying to Heroku
53:44 Adding our Endpoints to RapidAPI
56:39 Adding Pricing Plans
57:36 Publishing our API
Final code available here: github.com/kubowania/climate-...
___
⭐ Sign up for my Full Stack Developer Course: www.codewithania.com
⭐ Use promo code ANIAKUBOW for 3 months free of WebStorm IDE here (I get no commission from this link, but am in a partnership): jb.gg/get_webstorm
⭐ New to code and none of this is making sense? Watch my '12hr+ CZcams Coding Bootcamp' in which you will learn HTML, CSS and JavaScript Fundamentals completely from scratch. It's on my channel and its 100% free.
⭐ In most videos I use Tabnine as my A.I autocompletion tool. You can download it for free here (I get no commission from this link, but am in a partnership): bit.ly/tabnine-top-tool
⭐ You can get a blockchain domain with my affiliate link here: bit.ly/get-a-crypto-domain
⭐ If you would like to buy me a coffee, well thank you very much that is mega kind! : www.buymeacoffee.com/aniakubow
⭐ Sign up for weekly coding tips from my newsletter partnership: bit.ly/JS-tips
You can also find me on:
Twitter: / ania_kubow
Instagram: / aniakubow
#codingbootcamp #coding
Thanks to you Mother of the Dragons for this helpful tutorial
👑🐉
😂😂😂🙂
I was trying to figure out why I recognized her!
😂😂😂😂
Lmao🤣😘
You make some of the best tutorials I have ever seen on YT. You have a great teaching style of anticipating what the student will have questions about and making sure not to skip over details that would be confusing. Thanks so much!
True and I especially like her face which is very fuckable btw.
One thing I really love about your tutorials is how you explain what might go wrong for someone who is watching in the future. No other tutorials I've watched explain in such detail. Thank you and keep up!
You make it look so easy ! Thank you for having such a detailed video !
It is a perfect starter / intermediate video. You have a lot (a LOT) of details, but in the end, all I need in this video, and I don't have to open 10 new tabs to understand what is what ! As an extra, I also get to learn a few tricks !
Thx again ;)
I randomly bumped into this video and so glad I did. Learned heaps and feel less scary about Node and the packages used. Thank you Ania.
Won't speak for others, but this really helped me understand a lot of things even when I'm not looking to sell APIs anywhere. Please continue with your elaborative teaching style as these days it's a rare art. Thanks much.
Your videos are so well put together - you obviously work so hard on these 👍👍👍
Straight to the concepts without beating around the bush !! Wonderful 👏
Hi Ania,
Thank you for this tutorial.
I first followed your 2 parts about building a simple web scraper, and then to get it working on mobile (because it didn't work due to using localhost) I followed this tutorial and got my web scraper working!
A tutorial about what rapid API and Heroku are doing to understand this a bit better would also be really nice.
Keep up the good work!
Ania I am amazed on how valuable your channel is. Keep up the good job.
Thanks Ania for this fantastically interesting, valuable and well-crafted tutorial. You are a supernova in the ferment of programming tutorials.
Damn, the idea is so brilliant. Didn't know about API marketplace, by the way.
Thanks a lot!
the idea is so brilliant.
Simply brilliant, thanks for explaining things crystal clear 👍
si pentru madalina e cristal. dar ea a baut din el.
Am I the only one who feels it's a unique experience being taught by Daenerys Targaryen on how to make money from selling APIs?
🐉👑
correct
as indonesian it feels more bizzare actually, cos API in indonesian means fire 😂
@@aniakubow Could you convert this to a web scraper (specific words, etc. Not a specific site?
@@bfunkydunk Off the top of my head i think you would use something like python, ETC for doing that on large datasets as it will be much more optimized and multithreaded to search lots of documents at once..
That being said it seems like the parser she is using here (cheerios) is just searching the dom, so if it is referenced in the dom (static) or loaded to the page i don't see why you couldn't search for a different/specific word.
I literally finished your Async/Sync video series, and this video is the perfect follow-up. Thank you for all your vides! Please keep making them!
Although i completely disagree with your approach of scraping data at runtime, BUT, i must say i have watched every second of this video for the only reason that you made it so perfectly precise no long no short, I wish every programming youtuber made this kind of video with a precise goal in mind, in fact i have forwarded this video to people who were asking me about a good intro to node js.
Easily one of the best tutorials I ever saw.
An original idea and a great, explanation, step by step, nothing left out. Subbed!
Big thank you ! cant imagine how much joy and fun i always have coding along with you. keep it up.
Something I have been meaning to look into for a long time, the video is great and very clear. Thank you
Gratulacje, twój akcent jest doskonały!
Ania, your tutorials are excellent.
Very well delivered and executed.
Your elocution is perfect, so I can watch them at 2x speed and still catch every word.
No waffle, all the details without diverging. Concise.
You should have WAY more views than you do.
One of the best.
thank you - keep them coming.
simp, she's reading
I like the way you insert a pause at the end of the sentence, before the final word. It gives off a vibe of TV news.
What a concept! How did I not think of this??
Great work. Ania!
Yep, please create a Django version of this, I know the deployment to Heroku part but transferring Django API to RapidAPI is where I am struggling.
yeah dude ,definitely make these django API too!
Fantastic outline of the concept :)
new tools 4 the future!!
madalina stia. dar nu a vrut sa zica.
This is one of the most interesting topics I have seen all year. I have for so long tried to demystify the true power of marketing APIs.
Are you coming from metal forging ages?
What a great video. Thank you for being a pillar of the community.
You explain things very well! in a way that anyone can understand... you're amazing and never stop!!
Great tutorial, Rapid API wasn’t even on my radar. Thanks 👍!
Robisz coś pozytywnego i kreatywnego dla innych :) Nie przestawaj! Tym bardziej, że widać od ludzi pozytywną reakcje
You are a very good teacher, thank you, I am learning node and especially npm and you are by miles the best tutor I have watched. Also I love your accent!
A great tutorial and the explanation is very clear. I've learn about scraping and developing API using NodeJS. Thank you Ania.
You speak very similar to that of Christopher Barnatt from explaining computers. I appreciate your content and love what you do! Your intellect is beautiful.
Great video. I know it might not be easy to nail down, but it would've been good to see how you can best judge the cost of hosting your API and how much to charge for access (also, I wasn't sure if you covered tokenised API access or whether that's handled elsewhere)?
1 year after video release but never late, you won my subscription, thank you :D
I came to watch something educative while I was eating my breakfast, I did not even realize that I watched the whole tutorial, excelente 🥳
Great tutorial. I'm old with JS, since 2001. I liked what they have done with the language, but those lines without ending ';' freak me out.
You can add them to feel safe.
@@helloukw I know that. Even in the past you can do with or without those ';'. For me who program in C and a lot of others languages, this just fell wrong, like something is missing. Whatever, today there aren't JavaScript programmers, just developers, most of all just use NPM and don't know what happen when build, even never seen the build package or not be able to read those.
@@LuizFernandoSoftov yeah as a c developer too. it's a bad habit
Really interested into this one...
why? can you not figure it out?
it's an easy-to-follow tutorial, and such a mind blowing business idea...i never thought of this.....
I like how you're saying http request :)
thank you very much Ania for sharing with us your experience and positivity
She's done it omg. She's finally delved into the untapped market of selling API's hahahaha. Keep it up!
So that's sarcasm or what?
I have become a big fan of you Ania both professionally and clearly you are a wonderful person.
Thanks so much David! You rock!
Very helpful Ania, I know nothing of JS but little bit about HTML and I could understand what you are doing. Thanks
This is the best tutorial on making your own API. Ania, you are too AWESOME!!
Been a front end dev for five years and one year of back end on ServiceNow. I had no idea this was how you built an API. I've always used the api data, but never knew how it was built. I am surprised at how easy it is with express. Maybe not easy for beginners. I have some basic tutorials on my channel but this is nice. Just as good, if not better than a Udemy course.
Bro I feel a beginner would follow without any issues. As long as they know the basics of Js
@@prymestudio I have worked with a lot of entry level devs and they do not understand these things. They might be able to follow the code along, but they are not going to understand every bit of it. Callbacks, promises, GET, POST, these are not beginner level aspects. Express makes this easier obviously.
@@nick_jacob I see what you mean
Realistically this is an extremely simple API with a majority of the heavy lifting API aspects handled by RapidAPI.
This is more just creating requests that a custom API is using to return data, it's not building an API itself
And I'm not saying this like it's a problem, but just want you to know that you probably shouldn't get API development confused with endpoint building that an API then uses
okay i cant lie, I was a bit sceptical about your video quality, but this is just beyond helpful. Its so easy to follow and understand like I hate js but this motivates me to use javascript. Thank you for this tutorial and amazing idea.
Ania I stopped this video three times inorder to call family members to check it out! AMAZING! You are a gift to all of the self taught developers like myself - MUCH LOVE FROM NEW ORLEANS!
Oh wow thank you so much TJ! 😍😍😍😍 this is so great to hear! Big love to you and your family too - honestly this has really made my day 🙌
what an amazing tutorial! liked and subscribed! Greetings from Colombia!
Aniu, bardzo dobrze tłumaczysz. Daję radę nawet ze swoim poziomem angielskiego ;-) Dziękuję 🙂
Great video and definitely learned a lot.
When doing the :newspaperId section, couldn't we just filter the articles array instead of filter/find on the newspapers array? That way we wouldn't be using time and resources to duplicate the effort if we already have all the articles
.filter() actually returns the object (which matches search criteria), So no need to run the filter again. Just get whichever property you want from that object.
Great video! You explain everything so well Ania, thank you so much!
Thank you Pablo ❤️
Very clear and enjoyable tutorial, thank you so much!
Nice! I watched at 1.25x speed and forgot I was at that speed when thinking "Wow, she talks as fast as I do"
I wish you know the NUMBER of sites I have scrapped after this tutorials. Thanks and Stay BLESSED Ania 🥰
Scrape responsibly. Alot of sights are putting up pay walls and bot deterrents because the bots are consuming too much bandwidth.
@@gdolphy Yes bro, definitely am doing it responsibly.
You have an amazing presence and such a clear way of explaining
Thank you Bella!
Great knowledge. Been following along and got my first front end dev job.
Ps. love the pintail board. skating liberates the mind and helps re-focus, good hobby to have! =)
this is fantastic, thank you so much for this. I just started getting my head wrapped around API. Now can you do a video on how to use this API or any API in your app?
Ania! Thanks for this tutorial. Exactly what I was looking for to do multisite scraping.
One question for you, how would you save those results in firebase or any other type of db, so they don't get lost?
And how would you then make an API from that mentioned db so they all there no matter the date?
Such a good Question I am battling with the same dilemma.
Once you have the data that you need, you can create some code to filter out exactly what you want and store it in a hash/object or an array, or an object-array. Then, instead of creating yet another API, you can create some more code that displays the information that you want Rather than having the API’s display the information immediately.
If you want also, you can use an the date() method that gives you the current date, and store all of the information you’ve gathered based on date and other specifications. If you’d like to store all of the data regardless of date, you can simply combine everything that you scraped into an object of objects/arrays, and when you finally decide that you need to pull up any of that data regardless of date, you can always store the date along with that data so that you can search for it when needed.
You’re so cool, well taught and very informative. Thank you
that was awesome tutorial. I am working on iOS, but your tutorial showed me how smooth it is to build own API and publish it.
Really good simple tutorial on how to use Cheerio to Scrape pages and Setup an API Endpoint, straight to the point. Kudos to that!
One concern I have is that if Scraping the data from these pages are legal or not?
You have to be careful, it's bit of a grey area. Your scaping tool should respect the Robots nofollow/index meta tags, and your API should only provide a summary and link to the full content. If your API delivers the full content, or you're making money from someone else's content without their permission, there's always some risk of a lawsuit.
Thank you for a great tutorial Ania. Really inspires to dig a bit deeper and explore what more can be built based on such app. Though one question regarding the code. Why in "/:newspaperId" route you make a new axios get request instead of filtering matching results from the existing articles array based on provided ID in params?
other big question is how articles array will be updated? answer: only on server reload. btw good demo anyway
Although is possible but this approach seems more desirable for optimising performance/profiling and negating code complexity issues- as an initial GEt request of all items and then running a higher order function like filter would be bulky if there were around 10000+ items in an array
End of the day javascript is single threaded (:
@@vladbocharov3246 with every HTTP request to the server.... a frontend setInterval would do the automation
@@vladbocharov3246 great point! what about using node-cron? seems that could get a job done, e.g. by setting daily or weekly schedule
Because it is expected normally for a RESTful api to serve /foo for "get all" and /foo/:id for "get one"
Also keep in mind that you normally send articles "in packages" e.g. in sets of 50 (bc you might have 3 billion stored). so if you want some very old id you might need to reload 50 articles in a for loop on the backend over and over again until you find the correct one in the filter function
I love your videos Ania! Keep it up!
Thank you very much for sharing it !! it was great and just to the point , very well explained !! Great Job :)
Really great video, never thought of this. Only issue I can see would be the policies of these newspaper sites being scraped. Many already have their own form of API already or probably forbid others from storing their data like this.
This was intended to be an educational video and web scraping is a quick way to achieve that. When you create your own API, you are responsible for making sure that you are legally able to do what you intend your API to do which is beyond the scope of this tutorial.
@@dokgu I didn't think of that 😮
In addition, don't forget you can take advantage of communicating with subprocesses in the OS (for things that run at that level), take deeper advantage of collaborative multitasking, and use queueing data structures to stash highly blocking requests that you might not want to store as pure javascript objects in case your application crashes/has bugs.
This was a very enjoyable teaching video. I had a couple of extra steps to take but very enjoyable :)
Another awesome video !! Thank you!
Long time node dev here…and this video showed me that I’m 3 years behind in not needing the “-save” option for npm install 😂.
Also, have seen and even used a couple RapidAPIs before, but never tried it as a creator. I was glad to get a quick look inside and have a few projects that I might be able to use with it. This is the first video of yours that has come up for me on YT-I think I would like to see more!
Very informative, there was a few packages I didn't know :) Don't you have a problem with the articles getting out of date? Or does Heroku restart your app at certain intervals? Otherwise you have an array that is populated only when the server starts. The other endpoints are alright, but you might run into IP blocking if your API become too popular. The best would be to load the articles at regular intervals and only filter them for each endpoint.
that would be a second iteration... make it more "prod ready"
**might run into IP blocking if your API become too popular.** I don't understand?? who/what, do U think would be blocking what IP??
@@__--JY-Moe--__ The server that stores the actual conntent the API is forwarding. It may consider your API calls as DDOS or other malicious behaviour.
Great video thanks for this. I have now added api building to my portfolio.
Simple, helpful, insightful and fantastic. Thank you so much for this course, learnt a lot
The thing is, wich API would we make? My hot take would be doing stuff and finding something you find usefull and not or badly done. Any better ideas?
start doing one. You'll quickly discover more as you go.
EAN codes. Each item in the world has a UUID code. Scrap Amazon, Ebay, Wallmart, etc. searching for that item. Build an API around delivery times and prices comparison between them. What do you think?
I wonder if there's any legal concern when we create scrapping tool API?
Less legal and more policy.
You can bribe the law with the money you made from APIs
Thank you for imparting your coding knowledge. This has been a wonderful tutorial :)
amazing presentation! Thanks for the valuable lessons.
This is the first video I from Ania I watch. Currently I am learning php/css/html and will start JS soon. I just wanted to say: ‘Ku bo’ means ‘for/with you’ in my language (Papiamentu) so basically this comment is gonna lead into a proposal: Ania tell me, can I be your main simp? 🤣
Thank you Ania, I discover your videos and I am amazed by the quality of the content!
Regarding selling your APIs from webscrapped data, shouldn't we first contact those websites before to sell their data, or a link to them is enough?
You should read the terms and conditions of the website you are scrapping, many websites have terms against this practice.
she is awesome and her videos help me a lot! she definitely deserves more subscribers! thank you ania
Excellent tutorial and practical overview on how to get an api up and running. Thank you.
Nice idea, however, you should consider test automation for the data source scheme changes, and the second point is the site will register frequent access they may start blocking (which may even happen automatically by AWS routing services), which will have impact on "your API"s availabiliy, resulting in bad reviews.
You're right but I guess she aimed for an easy to understand example since there are many different topics she covered in this tutorial. Besides: I know it's an example but she should have pointed out that this api is in now way legal to run and even provide via public api considering all the newspaper outlets own copyright to these articles.
the most beautiful programmer I've ever seen, I'm still a beginner, Java script and HTML5 I'm not an expert, but seeing your explanation I became very enthusiastic LOL
Lowl
very well done, thank you, gave me some idea for a directory and portal system I putting together
Thanks so much Ania! You are great! love love love this tutorial!
Great video, just one question though, since you are doing the data fetching outside of endpoints, wouldn't it go ahead and fetch the data from sources once the server is up and running and from that point it will just give outdated data if you never restart your backend? More logical thing would be putting the fetch logic in a setInterval() which would be called lets say every hour so you would return more up to date data once your endpoints get hit.
nope
It fetches data on the "/news" route, so each time that API is hit at that endpoint, it will fetch from the news sources. If anything, you could add a shared cache layer to serve new requests, invalidating/refreshing on some interval.
@@njc2kewl At 39:02 though, it looks like she's only sending the articles in the news route, so how does it know to re-fetch?
@@arjundureja it does not, same as she there are no api key validations, you can just use the api for free nothing is stopping you.
28:38 When you keep refresh the page making more then 1 get request to that endpoint the data copies itself to the object again? instead of overwriting the current data like you think it should do. Hoping she teaches how to get around this. 34:40 this assumes all html data is the same across all webpages.
The declaration of the articles array should be within the scope of the request handler, not global. I would put that line of code right before the cheerio .each loop
Clear and well presented. Nicely done!
Awsomee!!! so easy to understand and so important and productive for the work!!! thanks Ania for share your knowllege. Im becoming a fan of all your videos. I just seen this blog a few days ago and watched lot of your codes!!!!
it's okay to do the same for a school projet, but not for real projects
Great tutorial Ania, thanks :) My only question is whether it is 100% legal to make an API that scraps data from webpages like The Guardian(the one you show in the tutorial) and then post the API publicly?
There are no specific laws that do not permit web scraping/crawling...... and as long as you are not simply copying the "presentation" of publicly available data, e.g. cloning a web site and reusing it for commercial purposes, then you are not in breach of copyright laws either. One might also add that the scraped data links back to the source, so all credit is given. If anything, such an API will drive traffic TO the scraped sites, honestly can't see who'd complain about that :)
always check the ToS of the website you're scraping from and consider if you want to be moral or morally flexible 😄
Thank you so much for this❤️ much needed
Thank you very much for your content, I wish you to have millions of views!!!
Absolutely cool tutorial! Question: Is it legal to ask for money for API usage if you get the data from these sources (Guardian, etc.)?
@James Pickering Yes, that's true. My question is about the financial aspect. Can I ask money in exchange of some else's publicly available stuff? I mean, can I ask money for providing an API which ex. scrapes your FB account?
@@thedevdavid Just because something is "publicly available" doesn't mean it's not copyrighted. In fact, this has been a massive debate in the US over the past 3-5 years... But here's a rundown on your social media content: if you own the photo (if you're the one who took it or you're the one who paid for someone to take it and have purchased the rights to that content), it is absolutely illegal for you to scrape that data and sell it. However, I will say good luck fighting large companies on that kind of stuff... They'll typically just run you through courts until you don't have any money left to fight it, unfortunately. I hope this helps :)
@@thedevdavid Haha, I didn't mean to imply that you were going to ;) I was mostly pointing out how ridiculous it is that large companies can get away with that kind of stuff with sleazy tactics, lol.
You can bribe the law with the money you made from APIs 😂
This was a great tutorial, just not sure what to do about any legal issues surrounding the data sources.
You can bribe the law with the money you made from APIs 😂
@@samandar4940 lol
Thank you so much Ania for this tutorial 🙌
I really enjoy this, not only she looks great, but i can tell for sure, if someone can explain something, and has a good way to do so, not too much blabla... Straight to the point.
Its hard in a way, to get things explained well, cause there is just so much to talk about...
Awesome work Ania :) will follow from now on
Can't wait for 26 hours 😭😭... Btw great content Ma'am
how come?
@@dnfrd2 I mean, I posted this comment a day ago... At that point it was showing "premiering in 26 hours"
Instead of concatenating the urls as regular strings, you should consider constructing via the new URL() constructor which handles the base for you.
this comment is gold, thank you buddy
Thanks for the tip Donnie!
Cool appreciate the details of the presentation.. keep going ania..
Awesome Tutorial, Ania. Thank you.
I think the 2020 pandemic has taught a lot of people the importance of multiple streams of income,unfortunately having a job doesn't mean security...no rich man or woman made it through salary,investing now will be wise
I'm new to forex trade and I have been making huge losses but recently see a lot of people earning from it.can someone please tell me what I'm doing wrong
How does this whole bitcoin thing work, I'm interested in it and I'm willing and ready to invest heavily in it but I'm gonna need an assistant from any trusted and productive professional
@@evelynhannah3147 All you need now is a professional broker else you gonna continue blowing of your account
Bitcoin trading is much different from just saving your coins in your wallet. It involves trading bitcoin under forex
Learn how this trades works and break them down to science, then construct them you will be surprise with what you come up with...
Please make a video on how to setup webstorm more professionally so that we can code any language in it seam lessly 🙏🙏