Use Excel VBA to Read API Data

Sdílet
Vložit
  • čas přidán 2. 08. 2024
  • Learn how to write real-world Excel VBA code: 👉courses.excelmacromastery.com/
    Want to download the source code for this video? Go here: bit.ly/3BRIe92
    Subscribe to the channel here: bit.ly/36hpTCY
    Today I'm going to show you how to use Web API's with Excel VBA.
    Web APIs may seem a bit daunting at first but by the time you finish this video, you’ll be able to read data from any Web API with ease.
    The first part of the video explains the 3 core parts of dealing with Web APIs. It explains each in detail and provides coding examples.
    Don't miss the final part of the video where I show a simple method for writing the code for any API.
    All the code used in this video is available to download from the link in the description below.
    #VBAAPI #ExcelVBAAPI #VBAWebAPI #VBARequestAPI
    Free Excel VBA Resources
    Excel VBA Articles (excelmacromastery.com/vba-art...)
    Useful VBA Shortcut Keys
    ========================
    Debugging:
    Compile the code: Alt + D + C OR Alt + D + Enter
    Run the code from the current sub: F5
    Step into the code line by line: F8
    Add a breakpoint to pause the code: F9(or click left margin)
    Windows:
    View the Immediate Window: Ctrl + G
    View the Watch Window: Alt + V + H
    View the Properties Window: F4
    Switch between Excel and the VBA Editor: Alt + F11
    View the Project Explorer Window: Ctrl + R
    Writing Code:
    Search keyword under cursor: Ctrl + F3
    Search the word last searched for: F3
    Auto complete word: Ctrl + Space
    Get the definition of the item under the cursor: Shift + F2
    Go to the last cursor position: Ctrl + Shift + F2
    Get the current region on a worksheet: Ctrl + Shift + 8(or Ctrl + *)
    To move lines of code to the right(Indent): Tab
    To move lines of code to the left(Outdent): Shift + Tab
    Delete a Line: Ctrl + Y(note: this clears the clipboard)
    Table of Contents:
    00:00 - Introduction
    00:37 - What is an API?
    04:37 - API Code example
    07:41 - JSON Converter Library
    09:27 - Reading the converted data
    12:20 - Understanding the returned data
    15:46 - Fast method to write any API code
  • Věda a technologie

Komentáře • 151

  • @wayneedmondson1065
    @wayneedmondson1065 Před 2 lety +4

    Hi Paul. Very cool tutorial! Thanks for access to all the resources used. I worked through the name example and connected successfully with the same results. Can't say I totally understand it all yet, but it's a great start. Always something new and interesting at Excel Macro Mastery :)) Thumbs up!!

  • @TuncanGaming
    @TuncanGaming Před 10 měsíci +1

    I didn't know anything about VBA and was able to do what I wanted to just by watching your video. Great work, thank you so much!

  • @guidopiotrowski7114
    @guidopiotrowski7114 Před rokem +2

    Incredible video, super clear, and great teacher. Thanks!

  • @bongzsmalawu1614
    @bongzsmalawu1614 Před rokem

    Thank you so much, this has made things lighter for me, I have no programming background, but was looking forward to leverage this lesson to help me import run statistics from strava, garmin connect and polar websites for my team.

  • @mikem8915
    @mikem8915 Před rokem

    Solid video. Shows exactly what you should do for a given objective.

  • @garethwoodall577
    @garethwoodall577 Před 2 lety

    Excellent explanations (as usual). Good teacher! Thanks Paul *

  • @magalisantos5544
    @magalisantos5544 Před 11 měsíci

    Thanks very much for this tutorial!! I created a macro which retrieves data from an API and thus it saved me lots of hours (~6h) from checking them individually!! Thank you VERY MUCH AGAIN!

  • @oz7075
    @oz7075 Před 2 lety +1

    I was preparing a series of videos to upload to my upcoming CZcams channel and one of them was APIs. Interesting. I have a project of mine which uses a WebAPI from an Online dictionary.

  • @kolavithonduraski5031
    @kolavithonduraski5031 Před 2 lety +5

    next level VBA 👍

  • @edrobinson8248
    @edrobinson8248 Před 2 lety +1

    good stuff. hope beginners realize that is for a specific (web) api . Not generic API's.

  • @saxena1955
    @saxena1955 Před 2 lety +5

    Hi Paul ,
    Great video. Can you make it a dynamic code to read data of any api and write it to excel ? Please explain it in next video . Thanks

  • @davidlinesq
    @davidlinesq Před 2 lety

    Thank you so much for this video. This has helped me with a program that I needed to create for work. One request for a follow up video would be how to make paginated api calls and combine the results into one array. Thanks as always!

  • @kevinbezant8972
    @kevinbezant8972 Před 2 lety +3

    Very interesting video, Paul. I'm currently using Integromat to integrate web apps. Whilst Integromat is very good, I feel I could do with having more control and your video has got me thinking! A follow-up video on writing to an API would be useful.

    • @jjtagh
      @jjtagh Před 2 lety +1

      Also some examples writing to API using GraphQL (mutation) as well as REST API would be fantastic.

  • @vbaclasses3553
    @vbaclasses3553 Před 2 lety

    Awesome video, thank you. Will make time to work through it all.

  • @CivilEngSpreadsheets
    @CivilEngSpreadsheets Před 2 lety

    Hi Paul! I'm learning a lot from your channel. Would really appreciate if you could do a tutorial about VBA and Google Drive API like how can you use VBA to upload or download a file from Google Drive.

  • @trueevilangel
    @trueevilangel Před 2 lety

    thank Paul , you explained it easy to understand.

  • @tgirard123
    @tgirard123 Před 2 lety

    Easy as 1-2-tree. Thank you so much. I could not figure this out for the life of me. Now I got a working sheet!!

  • @DLAmurph
    @DLAmurph Před 2 lety

    This example blew me away very informative and helpful, thank you Paul

  • @aNDy-qh1em
    @aNDy-qh1em Před 2 lety

    15:35 It could be a mixture of dictionaries/collections and also classes . 'Country' could well be a class. But that is a matter of preference - for simplicity reason that is ok. When using s dictionary I would verify if the key-value pair exist. A great tutorial, thak you

  • @marcellino53
    @marcellino53 Před 4 měsíci

    Awesome job.. Thanks, and greetings from Brazil !

  • @chrisouellet2832
    @chrisouellet2832 Před 8 měsíci

    thanks for this tutorial Paul!! this one is very cool!!!

  • @simondechoisy779
    @simondechoisy779 Před 2 lety +1

    Really looking forward to this

  • @hf2138
    @hf2138 Před 2 lety

    Thanks for a great video Paul, keep it up

  • @fredrodriguez963
    @fredrodriguez963 Před 2 lety

    Hi Paul, very good stuff. Thank you.

  • @briandelaney6354
    @briandelaney6354 Před 2 lety

    Hi Paul, I had no idea you could use VBA for this purpose! Thanks for sharing the knowledge 😀😀

  • @TheSardOz
    @TheSardOz Před 2 lety

    Hi Paul, thanks for the excellent video. How do you catch errors if you have a miss match? If you have a collection of stocks cods and you getting the close price, if one code if not available you’ll have a error and the loop will brake.. how can you skip the error and finish the loop?
    Thank you.

  • @anthonypasslow1933
    @anthonypasslow1933 Před 2 lety +1

    Great job as always, thank you Paul

  • @thomy0319
    @thomy0319 Před 2 lety

    Wow , que impresionante! 👏👏

  • @Monduras
    @Monduras Před 2 lety +1

    Outstanding as always! Bravo

  • @nickroe5992
    @nickroe5992 Před 2 lety

    Thanks, that was a very good tutorial

  • @ashkumar8797
    @ashkumar8797 Před rokem

    Great video, thanks for sharing and explaining

  • @Algoreborn
    @Algoreborn Před rokem

    THANK YOUUUUU, you made my day...

  • @fairosabdulmutalip641
    @fairosabdulmutalip641 Před 2 lety

    Hi Paul, love your tutorial

  • @luismejia6817
    @luismejia6817 Před 2 lety

    This is so awesome. I’m gonna. Be working on a lot of personal projects from this rapidapi website. I’m a data analyst so I’ll be inserting the responses in a database :)

  • @johnsmith2771
    @johnsmith2771 Před 2 lety

    Great video, thank you so much for posting this, really helps

  • @kingparc
    @kingparc Před 2 lety

    Thank you very much 👍

  • @1rikenpatel
    @1rikenpatel Před 2 lety

    Hi Paul in the example you have used with the name and country, can a filter be applied on the country id so that when a name is selected on data for the filtered country is retrieved? if possible how would I add this to the code?

  • @fernandobravo2886
    @fernandobravo2886 Před 2 lety

    this is great, one question could be how would you do it with a POST request, that also you need a request body website, that is very common within intranet company's websites.

  • @MrMallesh1
    @MrMallesh1 Před 2 lety

    Amazing video ! I liked it , thanks a lot !

  • @Abhishekuchagaonkar
    @Abhishekuchagaonkar Před 2 lety

    You are awesome!! (Guruji)

  • @elricho72
    @elricho72 Před 2 lety

    Excellent video and explanation, I ask you seeing the use of the api, could we make it possible for us to interact with VBA to upload or download files from google drive?

  • @bioactiveSaha
    @bioactiveSaha Před 2 lety

    Hi Paul! Thanks for the video. It is very informative. I was able to download and parse json data for small dataset. However, If I try to download complete data (~600,000), excel goes to not responding. I tried with .SetTimeouts 0, 0, 0, 0 and/or waitforresponse but the problem still persist. Any tips? Thanks in advance for your help.

  • @caste_
    @caste_ Před 2 lety

    thanks my man your a genious

  • @itsmeforsure5475
    @itsmeforsure5475 Před 14 dny

    Excellent!!!

  • @solimanalali8048
    @solimanalali8048 Před 2 lety +1

    A very interesting lesson. My question is, I want to create an invoice automatically. I want to create a QR code on the same invoice, and when scanning the code, the same invoice appears.

  • @hain.v.h5744
    @hain.v.h5744 Před 2 lety

    Thank your video.

  • @MarceloCutin
    @MarceloCutin Před 2 lety

    Great video!!! Congrats!

  • @mas07sencillo
    @mas07sencillo Před rokem

    Thanks for this video! I also have a doubt. How do i handle the API call when the API response have pagination? should i use a for an remake a colletion?

  • @sofianemeriane
    @sofianemeriane Před rokem

    thanks for sharing!

  • @buzan.untung
    @buzan.untung Před 2 lety

    Thank you

  • @bernardoezeta2531
    @bernardoezeta2531 Před 2 lety

    Hi Paul! Thank you so much!

  • @The_Code_Father
    @The_Code_Father Před rokem

    Very beneficial video
    I'm trying to build a connection with e invoicing portal in my country using json files and api and they're talking about sth called token
    Could you plz add more detailed tutorial on this topic

  • @WoottonRivers
    @WoottonRivers Před 2 lety

    This is a really good video. I've had a go at this before but ran into the problem of authentication. I was trying to access data in Xero (the cloud accounting solution). How do you authenticate through VBA if you only have a email address, password and 2FA code? Authentication for other web services creates a similar issue. Suggestions welcome.

  • @shinrafahell
    @shinrafahell Před 2 lety +9

    Hey Paul, great video as always! Any chance to have a tutorial explaining how to get apis that utilizes oauth such as Google sheets or Twitter? Thanks!

    • @phonesolo8513
      @phonesolo8513 Před 2 lety +1

      Exactly what i need.

    • @MyAudioBookCompilation
      @MyAudioBookCompilation Před 2 lety

      This is the last wish that i want to achieved. To learn to modify google sheets using vba.

    • @shinrafahell
      @shinrafahell Před 2 lety +1

      @@MyAudioBookCompilation using python it is a breeze. Unfortunately I didn't find anything related to vba.

    • @MyAudioBookCompilation
      @MyAudioBookCompilation Před 2 lety

      @@shinrafahell I see. Thank you. Python and JavaScript are in my list but sometimes we still want to achieved what we really want to achieved. 😁 I know that learning to manipulate google sheet using VBA might be overkill but that what makes us happy. Anyways thank you for the info i think i will try to learn if first.

  • @protostecnologia4096
    @protostecnologia4096 Před rokem

    Wonderful video. Coul VBA connect with a dspace repository? The latest version of dspace repository is made in Angular (front end) and use a backend built on spring boot (java web app)

  • @jesus.moreno
    @jesus.moreno Před 2 lety

    wouuuuuuuuuuuuuuuuuuu amazing ... you got a suscriber to your channel !!!

  • @Ashokkumarg8
    @Ashokkumarg8 Před 11 měsíci

    That is awesome, but can you tell how did you make those two API examples currencies & recipes from the excel

  • @halforman6726
    @halforman6726 Před rokem

    Great video. Your channel is awesome. How can I use a private API (requires authentication) in VBA?

  • @acidkans
    @acidkans Před rokem

    Hi Paul, great tutorial, with almost zero knowledge i managed to get data of EURO currency from Polish National Bank...but what I'm missing in your tutorial is assigning values to specific cells...for example when I filter a dataset I'd like to paste currency rate to filtered column.....no idea how to do it... I mention that I've this rate but can't paste it...could you help int hat matter? your movies are top quality, great job

  • @jorgevalverdevalderrama5586

    Excellent video and great Spanish name picking UwU

  • @tarunprakashsingh
    @tarunprakashsingh Před 2 lety

    hey nicely explained... I am trying to build something where user can define a Get URL and my code can parse any JSON without knowing the Structure and show it in tabular form in excel. How can i do that?

  • @RMS888168
    @RMS888168 Před rokem

    Would it be possible to see how to implement OAuth 2.0 authentication using the examples in this video?

  • @farahinrosli7244
    @farahinrosli7244 Před rokem

    hi can you do to copy data from private apps then paste it in excel, also include the screenshot of data and paste in the excel too, but for this it included multiples data to do in one sheet before move to next sheet

  • @TheJaebeomPark
    @TheJaebeomPark Před 2 lety

    Amazing!

  • @tangsh497
    @tangsh497 Před 2 lety

    talent

  • @davidsaw3517
    @davidsaw3517 Před 2 lety

    How do you do nested dictionaries?

  • @scotolivera8207
    @scotolivera8207 Před 2 lety

    very informative

  • @Rice0987
    @Rice0987 Před 2 lety +1

    By chance 've read this: "Programs must be written for people to read, and only incidentally for machines to execute". :)

  • @vijayalakshmibadigeru4479

    Very useful video thanks.. can we define the jsonconverter in classes..

  • @excelmonkey
    @excelmonkey Před rokem

    Just out of curiosity, how would you store multiple API keys in your module such that the correct key was called by each subroutine?

  • @thierryodou4479
    @thierryodou4479 Před 2 lety

    Is it possible run R script on VBA?

  • @KLiCuk1
    @KLiCuk1 Před rokem

    Hi Paul, I remember watching this when you first posted it and thought I'd put it on a backburner until I needed it. I just tried downloading the source code but unfortunately the link doesn't work anymore. Is there an up to date link?

  • @yograjkolhe5225
    @yograjkolhe5225 Před rokem

    How can we parse api response in XML? Is there any library available for the same like VBA-JSON library?

  • @schmuttergold2296
    @schmuttergold2296 Před 3 měsíci

    Great video. I have to use a post command and need to pass a JSON request together with the http request and headers, How can I do that with VBA?

  • @ReverendZen
    @ReverendZen Před 2 lety

    Hi Paul, thank you for the great video. I had an issue with downloading the source code. I am not sure if the link is broken or if I need to create a login or something. Is there another means by which I can get the source code?

  • @rajesh321r
    @rajesh321r Před 2 lety +2

    This is awesome👍
    Happy to learn APIs and how to use with VBA.

  • @abhiabhiram2855
    @abhiabhiram2855 Před rokem

    Could you please let me know how to get API response text in VBA ? For example for 200 response , response text is ok .

  • @faiz.ahmad65
    @faiz.ahmad65 Před rokem

    Can you please also tell me how to send parameters along with API Key in Post request?

  • @timlambe8837
    @timlambe8837 Před rokem

    Hello,
    is it possible to use Excel as a backend and set up an API with VBA? 🤔

  • @KhalilYasser
    @KhalilYasser Před 2 lety

    Thank you very much. Awesome tutorial. I have signed up in rapidapi but how can I get the API that I would insert in the VBA code (I couldn't find such API section)

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety

      You have to subscribe to each api you wish to use.

    • @KhalilYasser
      @KhalilYasser Před 2 lety

      @@Excelmacromastery I have tested again now and it is working. Yesterday, something went wrong.

  • @johnstabile9016
    @johnstabile9016 Před rokem

    I'm working on a mac. When you do the references part, is there a mac equivalent to WinHTTP Services. I don't have as many options as you do.
    Thanks,
    John

  • @huonggiang537
    @huonggiang537 Před 2 lety

    Hi Paul. You can guide How to scrape data from a website that requires login? thank U

  • @lisah8896
    @lisah8896 Před rokem

    Hi Paul, Love this but I'm hoping you can help me with something. I can't get the msgbox to display the "request.responsetext. I just get a blank box. If I put the address in a google address box, values return but my message box remains blank. Can you give me some ideas?

  • @NaveenKumar-fs3nk
    @NaveenKumar-fs3nk Před rokem

    LinkedIn to scrap using macro is it possible

  • @youknowme6780
    @youknowme6780 Před rokem +1

    I am working on a vba to fill web form, it works on first IE page and submit the form, but when a new page loads with different web address, my code don't recognize the active web page...to keep on filling this page Any advice??? No selenium used

  • @axelamoe
    @axelamoe Před 2 lety

    Can you make a video for windows api to control an open third party application and get the text?

  • @rbloesser9009
    @rbloesser9009 Před 2 lety +1

    It would have been nice to get more specifics on how to get an API Key. The Rapid-site is very confusing for a beginner. I could not run your code because I could not figure out how to get an API Key.

  • @daves4026
    @daves4026 Před 2 lety +1

    Hi Great video thank you for sharing. Cant see the code link though, cant wait to practice this

  • @knowyourdirt1152
    @knowyourdirt1152 Před rokem

    Can you show an example of a post request instead of a get request?

  • @MrMallesh1
    @MrMallesh1 Před 2 lety

    whats the difference between Extracting data via API and extracting data via web scrapping ! or they both same ! can we use same code for web scrapping !

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety +1

      That's a good question. While they both read from a website they are completely different.
      *Web Scraping*: When you access any website in your browser you are essentially receiving a HTML file from the website. HTML is text and what web scraping does is read through this HTML and extracts data from it.
      *API*: An API is a programming interface created by the website that allows you to access certain functionality. This means you have direct access to the web application with support and documentation.

  • @andriodenavarrete4495
    @andriodenavarrete4495 Před 5 měsíci

    But how do you add it to th excel sheet?

  • @gokmensen823
    @gokmensen823 Před 2 lety

    we could not find your APIKEY module and without it the excel does not work. could you share with us? module or xlsm excel file? thanks

  • @todddean7722
    @todddean7722 Před 2 lety

    The link to the code seems to be broken

  • @trillionshares3914
    @trillionshares3914 Před 2 lety

    template website "Page not Found"

  • @bimaljain1666
    @bimaljain1666 Před 2 lety

    Hey Paul, I am from India. I have designed a project for which I want to get the Train No. and name of the train from the web in my excel worksheet. Please help the execute the same.

  • @mwolffe
    @mwolffe Před rokem

    Great video. I'm a little late to the party. :) I followed along several times and tried typing out the code as you went along, but my code failed. I keep getting a Compile error: User-defined type not defined on the 'Dim country As Dictionary' portion of the code. Not sure what I missed. Hopefully you or someone here will have an idea. Thanks!

    • @Excelmacromastery
      @Excelmacromastery  Před rokem

      You need check "Microsoft Scriping Runtime" under Tools->References

  • @user-pb7zf8tm3x
    @user-pb7zf8tm3x Před 2 lety +1

    can not find the download link of this video

  • @jamcast725
    @jamcast725 Před rokem

    I cant get just a list to print. it doesn't have a key value pair inside but just a list

  • @TheGEEKofGAME
    @TheGEEKofGAME Před 2 lety

    With your code about name and countries, I have an error on the line Request.Send and I verify references WinHTTP and Scripting are check…. :/

  • @noambrand
    @noambrand Před 2 lety

    The bitly link DOWNLOAD THE SOURCE CODE writes the website is not secure and does not let me download.

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety

      Are you using a company firewall or popup blocker?

    • @noambrand
      @noambrand Před 2 lety

      @@Excelmacromastery company firewall, from home it worked

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety

      @@noambrand Glad you got it sorted Noam.