What api's to learn?

This might be a dumb question but I am needing help to figure it out. I am self learning, and watched a video giving steps on the best ways to learn. Ive covered the starter steps and then the next step is to learn API's but I have no idea what ones to learn or what ones are most commonly used in the workplace. I have seen a few such as OpenGL and vulkan which seem interesting to display information, but they seem very in-depth, is there others like this. I was wondering if there is also an API to gather data from other sources. I am wanting to start to make better projects so would be interested to learn how to read in data from other websites etc?

Also if anyone knows of any API's that a c++ dev should know, i would be interested in these too. Thanks
There are too many API's out there, and there's never just one that solves every problem. Just figure out your current goal and dive into one that fits the bill. Many API's can be smushed together seamlessly. Develop your researching skills and learn how to learn API's.

Game Dev - SDL, SFML
3D Graphics/graphics card - openGL (technically a specification, but there are API's to interact with)
General Programs - Qt, WxWidgets, WindowsAPI
AI - tensorFlow
math - MATLAB
etc.

Some things that you might place on your checkist:
1. Do you need it to be cross-platform
2. Does it look good on a resume
3. Does it provide something valuable to the program
4. Does it have a helpful community (People both capable and willing to help beginners)
5. Is the documentation easy to find, easy to read
6. Is the licensing too restrictive (if you were to distribute the program to others)
Last edited on
boost is near universal, but after that you quickly get into 'industry camps' ... what kind of software do you want to develop, what kind of company do you want to apply to, what interests you? The tools used to make a game are different from the tools used to talk to a database or mine a crypto coin...

from websites, specifically? via service calls or as if you were a browser?
Last edited on
Wow. Dutch, awesome link, just sent me down an hour long research hole. Cool stuff there.
Thank you all for the answers, gave me a lot to consider and think about. As for what programs I was wanting to create, I actually do not know. I just want to get out of only making simple little programs that I give the data to. I was thinking of something that would pull stats from somewhere, ie - sports scores from a website or something (I dont really know where/ how data like that is stored).
As far as pulling stuff from websites, the most common library to do web stuff like that is probably libcurl. But honestly, I think it would be easier to use something like Python's requests library. You should also see if the website you're trying to get information from has a dedicated API to connect to it. The web-related libraries that are in dutch's link may also be easier to use than libcurl, but I don't have experience to recommend any of them.

"Web API" implies something more specific than just an API (like OpenGL).
https://en.wikipedia.org/wiki/Web_API

A web API usually serves you JSON-formatted responses to give you the information you request. Usually there are limits to how many times you're allowed to request something a second or minute.
Last edited on
webapi as above is what I was calling a service.
the limits are artificial -- if you are paying someone to use their server, its often something like 1/second or something awful. The ones we used in-house you could hit as hard as you wanted, some of them did millions/second (or tried to, heh..)

https://rapidapi.com/blog/best-sports-apis-ranked/

some of those are free.

the data is stored in a database somewhere, and the service you hit is a program that runs nearby the database and gets the data out of it according to the parameters you send in and dumps it back over to you.

you can read all about these services online, it is a HUGE part of cloud computing and modern IT and there are tons of pages of info on how it all works: you can even set up your OWN database and service on amazon for free, if you keep it very small.
Last edited on
Topic archived. No new replies allowed.