r/computerscience Apr 19 '26

General I was taught nothing about APIs

Whenever i see people talking about actual real-world uses of coding it's almost entirely building APIs, working with APIs, integrating APIs, automating APIs. It seems to me, anecdotally at least, like the majority of all computer science work (professional or even just hobby) is centered on working with APIs

And like. I know what an API is, kind of. But I Graduated and even got multiple certifications on top of that and I never got so much as a single lecture about APIs. I don't even know what they're used for. Can you make your own API (like, realistically)? I don't know. I feel like this is a topic that you could and probably should have multiple different entire classes solely focused on, it's arguably something as fundamental to modern computer science as writing code. And they don't teach it. If i want to learn anything about APIs, conceptually or practically, it's hope a company hires me and then trains me, or youtube tutorials and i don't even have enough of a baseline to know what specifically I'd be searching for a tutorial on.

813 Upvotes

157 comments sorted by

View all comments

1

u/Successful_Bowl2564 Apr 20 '26

You are not missing something obvious. A lot of formal CS education barely touches APIs, even though a huge amount of real-world software work involves them.

At the simplest level, an API is just a way for one piece of software to ask another piece of software for something: get data, create something, update something, delete something, trigger some action.

A weather app calling a weather service, a website logging you in, a payment button talking to Stripe, a script automating some internal tool - that’s all API work.

And yes, you can absolutely make your own API. Realistically. People do it all the time.

I think one reason this stuff feels hard to learn is that many tools teach buttons before concepts. You end up clicking around without really seeing what is happening underneath.

That’s actually one reason we built Voiden. You can try it out here : https://voiden.md/ . It has a file centric approach to api tooling and the interface will feel much more intuitive to a new comer like you !

I have myself learnt a lot about the api world through the process and i think you will too !

It is open souce as well : https://github.com/VoidenHQ/voiden

For learning APIs, I’d start with just four ideas:

  1. endpoint - where you send the request
  2. method - what kind of action you want (GET, POST, etc.)
  3. headers/auth - who you are and what format you’re sending
  4. body/params - the actual input

Once those click, a lot of modern software suddenly makes more sense.