[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-1-1-all-what-is-api-beginners-guide-all--*":3,"academy-blog-translations-kie9qs2108mdzzs":94,"academy-blog-faqs-kie9qs2108mdzzs-en":95},{"data":4,"page":93,"perPage":93,"totalItems":93,"totalPages":93},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_l_url":11,"cover_image_m_url":12,"cover_image_path":13,"cover_image_s_url":14,"created":15,"created_by":16,"expand":17,"id":86,"keywords":87,"locale":58,"published_at":88,"scheduled_at":73,"school_blog":82,"short_description":89,"status":80,"title":90,"updated":91,"updated_by":92,"slug":83,"views":85},"Cover for \"What is an API\": over-the-shoulder view of a laptop on a desk, with a flow showing the request GET \u002Fusers\u002Foctocat returning 200 OK and the JSON field \"login\": \"octocat\"","sclblg987654321","school_blog_translations","\u003Cp>Beginners ask our team the same question all the time: \"Everyone keeps saying API. It's in every tutorial and every job post. What actually is it? I've never seen one.\" Our usual answer isn't a definition. It's \"Go call one yourself.\" A line like \"an API is a middleman that lets programs talk to each other\" is easy to nod along to, and still leaves you with nothing to picture when you actually need to use one.\u003C\u002Fp>\u003Cp>So in this article Superdev Academy will have you send a request to a real API, read the response that comes back, and then take it apart piece by piece: endpoint, method, status code, JSON and API key. You don't need to install anything, and you don't need to know how to program yet. The shortest possible answer is that an API (Application Programming Interface) is an agreement about how one program can ask another for data or ask it to do something, but that sentence makes far more sense once you've made a call yourself.\u003C\u002Fp>\u003Ch2>Call your first API with just a browser or a terminal\u003C\u002Fh2>\u003Cp>We'll use the GitHub REST API. GitHub lets anyone read public user data from it without signing up. We'll ask for the account called octocat, the sample account GitHub uses throughout its own documentation.\u003C\u002Fp>\u003Cp>\u003Cstrong>Option 1, the browser:\u003C\u002Fstrong> paste this address into the address bar and press Enter.\u003C\u002Fp>\u003Cpre>\u003Ccode>https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>Option 2, curl in a terminal:\u003C\u002Fstrong> curl is a command-line program for sending requests over the web. It comes with macOS and most Linux systems, and \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fcurl.se\u002Fwindows\u002Fmicrosoft.html\">according to the curl project\u003C\u002Fa> every installation of Windows 10 and Windows 11 has it too. If you're in Windows PowerShell and the output looks strange, type curl.exe instead of curl.\u003C\u002Fp>\u003Cpre>\u003Ccode>curl -i https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The -i flag tells curl to show the response headers as well. Almost immediately you'll see something like this (we've cut it down):\u003C\u002Fp>\u003Cpre>\u003Ccode>HTTP\u002F2 200\ncontent-type: application\u002Fjson; charset=utf-8\nx-ratelimit-limit: 60\n\n{\n  \"login\": \"octocat\",\n  \"id\": 583231,\n  \"name\": \"The Octocat\",\n  \"company\": \"@github\",\n  \"location\": \"San Francisco\",\n  \"created_at\": \"2011-01-25T18:44:36Z\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>If you see something like that, you've just used an API. Some values may differ from what we saw on the day we wrote this (28 September 2026), because this is live data the account owner can edit. The shape of the response stays the same.\u003C\u002Fp>\u003Ch2>What just happened in that one command\u003C\u002Fh2>\u003Cp>Two things happened. Your machine sent a request out to GitHub's server, the computer that serves the data, and the server sent a response back. Both travelled over HTTP, the same protocol your browser uses to load every web page.\u003C\u002Fp>\u003Cp>The difference from opening a normal web page is who the reader is. A web page sends HTML for the browser to draw into something a person can look at. An API sends raw, structured data for a program to use. That's why all you see is text in curly braces, with no buttons and no images.\u003C\u002Fp>\u003Cp>Put simply, an API (Application Programming Interface) is an agreement about how one program can ask another program for data or ask it to do something: what to send, and what comes back. GitHub has written its agreement down as documentation, and anyone who follows it can make the call.\u003C\u002Fp>\u003Cblockquote>\u003Cp>You don't need to know what language GitHub's server is written in or where it keeps its data. You only need to know how to ask. That is the whole reason APIs exist.\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>An endpoint is the address of the data you want\u003C\u002Fh2>\u003Cp>The address https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat has two halves. https:\u002F\u002Fapi.github.com is the base URL, the street address of the whole API. \u002Fusers\u002Foctocat is the path, which says which piece of data you want at that address. Put a path together with the method you use and you have an endpoint.\u003C\u002Fp>\u003Cp>In \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fdocs.github.com\u002Fen\u002Frest\u002Fusers\u002Fusers?apiVersion=2022-11-28#get-a-user\">GitHub's \"Get a user\" documentation\u003C\u002Fa> this endpoint is written as GET \u002Fusers\u002F{username}. The curly braces mark a slot you fill in yourself. Swap octocat for your own GitHub username, or a friend's, and send the request again: the data that comes back changes to match.\u003C\u002Fp>\u003Cp>Reading API documentation is something developers do almost every day. Good docs tell you which endpoints exist, what to send, and what the response looks like.\u003C\u002Fp>\u003Ch2>The method says what you want to do with the data\u003C\u002Fh2>\u003Cp>The request we sent used the GET method, which means \"read this, don't change anything\". Browsers and curl both use GET by default, so we didn't have to type it. Written out in full, our request was GET \u002Fusers\u002Foctocat.\u003C\u002Fp>\u003Cp>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FMethods\">MDN lists every HTTP method on one page.\u003C\u002Fa> These are the five a beginner meets most:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>GET: read data\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>POST: send new data to be created, such as a sign-up or a new comment\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>PUT: replace existing data with what you send\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>PATCH: change part of existing data\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>DELETE: remove data\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The same path can behave differently depending on the method, which is why API documentation always pairs the method with the path.\u003C\u002Fp>\u003Ch2>The status code tells you first whether it worked\u003C\u002Fh2>\u003Cp>Look back at the first line of the response: HTTP\u002F2 200. That 200 is the status code, and its full name is 200 OK. The request succeeded, and the data follows below.\u003C\u002Fp>\u003Cp>Now try a username that doesn't exist:\u003C\u002Fp>\u003Cpre>\u003Ccode>curl -i https:\u002F\u002Fapi.github.com\u002Fusers\u002Fthis-user-should-not-exist-zzqq9\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This time the first line says 404, meaning the thing you asked for wasn't found. That number is the first thing a program should check before it uses any data. What each code means, and what to fix when you see one, is covered in our separate article on \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fhttp-status-codes-explained\">how to read HTTP status codes\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>JSON is a data format programs read easily\u003C\u002Fh2>\u003Cp>The data inside the curly braces is JSON (JavaScript Object Notation). The content-type: application\u002Fjson header already told you that before the body arrived. Reading it takes four rules:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>Data comes in key and value pairs separated by a colon, such as \"login\": \"octocat\"\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>A value in quotation marks is text (a string), such as \"The Octocat\"\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>A value without quotation marks is a number or a special value, such as 583231, true, false and null (no value)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Pairs are separated by commas, and the whole thing is wrapped in curly braces\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Despite the name, JSON isn't tied to JavaScript. JavaScript, Python and Go all ship with built-in tools for reading it. Once your program has this response, it just pulls out the name value and puts it on screen, the same way plenty of apps show a user's GitHub name and avatar.\u003C\u002Fp>\u003Cp>If you want to get fluent at reading JSON, we cover it in a separate article: \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fwhat-is-json-beginners-guide\">What Is JSON? A Beginner's Guide to Reading JSON Files and Data\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>An API key is your pass when the API needs to know who's calling\u003C\u002Fh2>\u003Cp>Notice that we never sent a password or key, and still got data back. GitHub allows anonymous requests for public data, with a ceiling. The x-ratelimit-limit: 60 line in the response says so, and \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fdocs.github.com\u002Fen\u002Frest\u002Fusing-the-rest-api\u002Frate-limits-for-the-rest-api\">GitHub's rate limit documentation\u003C\u002Fa> states that unauthenticated requests are limited to 60 per hour.\u003C\u002Fp>\u003Cp>Many real-world APIs, such as AI services, maps or payments, have you sign up and give you an API key, an identifier you attach to every request. It lets the provider know who is calling, bill the right account and enforce usage limits. That makes an API key as valuable as a password. How to store one safely and keep it off GitHub is covered in our article on \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fapi-key-env-keep-secrets-safe\">API keys and .env files\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Where APIs hide in the apps you use every day\u003C\u002Fh2>\u003Cp>Once the request and response picture clicks, you start seeing APIs behind a lot of what you already use.\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>A weather app doesn't measure the temperature itself. It sends a request to a weather data provider's API and draws the JSON it gets back onto the screen.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>A \"Sign in with Google\" button is one site calling Google's API to confirm who you are.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>A shop's mobile app and website show the same products because both call the same backend API.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>The AI chatbots embedded in many websites pass your message on to an AI model provider's API.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>For a programmer, this means you don't build everything yourself. Need a map, call a maps API. Need to take payments, call a payment provider's API. A large share of development work is connecting several APIs into one working system.\u003C\u002Fp>\u003Ch2>Types of API: REST, GraphQL, gRPC and library APIs\u003C\u002Fh2>\u003Cp>To be complete: what we tried is a REST-style web API that talks over HTTP and answers in JSON. It's a common kind, but it isn't the only kind.\u003C\u002Fp>\u003Cp>In the broad sense, an API is any interface one program exposes for other programs to use. The functions in a library you import into your code are an API too. Web APIs also come in other styles, such as GraphQL, which lets the caller choose exactly which fields to get back, or gRPC, used for communication between backend services.\u003C\u002Fp>\u003Cp>So whenever you meet an API at work, ask three follow-up questions: what kind of API is it, does it need authentication, and how many calls are you allowed? The API's own documentation answers all three. No guessing required.\u003C\u002Fp>\u003Cp>Two more terms people often ask us to compare with APIs are \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fwhat-is-webhook-vs-api\">webhooks\u003C\u002Fa> and \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fwhat-is-mcp-model-context-protocol\">MCP\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Where to go from here\u003C\u002Fh2>\u003Cp>If curl worked for you, here are three next steps, from easiest to hardest:\u003C\u002Fp>\u003Col>\u003Cli>\u003Cp>Change the path to try another GitHub endpoint, such as \u002Fusers\u002Foctocat\u002Frepos, which returns that account's list of repositories, and practise reading JSON that comes back as a list.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Call the same API from code, for example with fetch in JavaScript, and show the name value on a web page.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Build an API of your own. To see what the server side looks like, read \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fcreating-api-javascript-nodejs-vs-go\">JS2GO EP.12: Creating an API with Node.js and Go\u003C\u002Fa> or \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fgo-restful-apis\">Go and RESTful APIs\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Cp>If you're not sure what to learn first, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fhow-to-start-learning-coding-in-ai-era\">Learning to Code in the Age of AI: Which Skills to Focus On First\u003C\u002Fa> is a good companion read.\u003C\u002Fp>\u003Cdiv data-type=\"horizontalRule\">\u003Chr>\u003C\u002Fdiv>\u003Ch2>Summary: what an API is, in one curl command\u003C\u002Fh2>\u003Cp>An API is an agreement that lets one program ask another for data or for work. What you just did was send GET \u002Fusers\u002Foctocat to GitHub and get 200 OK back, with JSON containing the name The Octocat. Every piece you need is in that one command: the endpoint is the address, the method is what you want to do, the status code is the outcome, JSON is the data, and an API key is your pass when the provider needs to know who is calling.\u003C\u002Fp>\u003Cp>No explanation of APIs lands as clearly as sending one request yourself. Change the username, change the path, make it answer 404 on purpose, and read what comes back. You'll understand APIs far better than you would by memorising a definition.\u003C\u002Fp>\u003Cp>Follow more articles and tips for people starting out as programmers on our channels.\u003C\u002Fp>\u003Cp>Facebook: \u003Cstrong>Superdev School (Superdev)\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.school.th\">https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.school.th\u003C\u002Fa>\u003C\u002Fp>\u003Cp>Instagram: \u003Cstrong>superdevschool\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevschool\u002F\">https:\u002F\u002Fwww.instagram.com\u002Fsuperdevschool\u002F\u003C\u002Fa>\u003C\u002Fp>\u003Cp>TikTok: \u003Cstrong>superdevschool\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevschool\">https:\u002F\u002Fwww.tiktok.com\u002F@superdevschool\u003C\u002Fa>\u003C\u002Fp>\u003Cp>Website: \u003Cstrong>www.superdevacademy.com\u003C\u002Fstrong> — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002F\">https:\u002F\u002Fwww.superdevacademy.com\u002F\u003C\u002Fa>\u003C\u002Fp>","cover_cover_762gnco0w1.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8gmfeo9n2lifj2c\u002Fl\u002Fcover_cover_762gnco0w1.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8gmfeo9n2lifj2c\u002Fm\u002Fcover_cover_762gnco0w1.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8gmfeo9n2lifj2c\u002Fcover_cover_762gnco0w1.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8gmfeo9n2lifj2c\u002Fs\u002Fcover_cover_762gnco0w1.webp","2026-09-28 06:51:10.840Z","wfztm6bp9384v3u",{"keywords":18,"locale":52,"school_blog":62},[19,25,29,33,37,43,47],{"collectionId":20,"collectionName":21,"created":22,"created_by":16,"id":23,"name":24,"updated":22,"updated_by":16},"sclkey987654321","school_keywords","2026-09-28 06:51:10.836Z","dha9lrw90q1zea4","what is an API",{"collectionId":20,"collectionName":21,"created":26,"created_by":16,"id":27,"name":28,"updated":26,"updated_by":16},"2026-09-28 06:51:10.837Z","91baldrgdq6okhw","how does an API work",{"collectionId":20,"collectionName":21,"created":30,"created_by":16,"id":31,"name":32,"updated":30,"updated_by":16},"2026-09-28 06:49:33.042Z","ky415jl3886v6d7","API Endpoint",{"collectionId":20,"collectionName":21,"created":34,"created_by":16,"id":35,"name":36,"updated":34,"updated_by":16},"2026-09-28 06:49:33.043Z","a791g1z1xd2dark","REST API",{"collectionId":20,"collectionName":21,"created":38,"created_by":39,"id":40,"name":41,"updated":42,"updated_by":39},"2026-03-04 08:46:24.109Z","76qprkevbgfdps8","o8xfgwdh6k03hxd","JSON","2026-06-07 06:47:07.745Z",{"collectionId":20,"collectionName":21,"created":44,"created_by":16,"id":45,"name":46,"updated":44,"updated_by":16},"2026-09-28 06:49:33.044Z","hyvcjqa2g5m3o4a","HTTP Method",{"collectionId":20,"collectionName":21,"created":48,"created_by":16,"id":49,"name":50,"updated":51,"updated_by":16},"2026-09-28 06:49:33.046Z","bxhclql5b2d1znf","curl","2026-09-28 06:49:33.045Z",{"code":53,"collectionId":54,"collectionName":55,"created":56,"flag":57,"id":58,"is_default":59,"label":60,"updated":61},"en","pbc_1989393366","locales","2026-01-22 11:00:02.726Z","twemoji:flag-united-states","qv9c1llfov2d88z",false,"English","2026-04-10 15:42:46.825Z",{"category":63,"collectionId":64,"collectionName":65,"created":48,"expand":66,"id":82,"slug":83,"updated":84,"views":85},"rfxf19ot4iq992c","pbc_2105096300","school_blogs",{"category":67},{"blogIds":68,"collectionId":69,"collectionName":70,"created":71,"created_by":39,"id":63,"image":72,"image_alt":73,"image_path":74,"image_s_url":75,"label":76,"name":77,"priority":78,"publish_at":79,"scheduled_at":73,"status":80,"updated":81,"updated_by":39},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:32:03.969Z","7acfigk1qkd_lv1k6bkji3_7h89h9h63a.webp","","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Frfxf19ot4iq992c\u002F7acfigk1qkd_lv1k6bkji3_7h89h9h63a.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Frfxf19ot4iq992c\u002Fs\u002F7acfigk1qkd_lv1k6bkji3_7h89h9h63a.webp",{"en":77,"th":77},"Web Development",0,"2025-01-21 03:43:00.282Z","published","2026-08-18 14:48:42.218Z","kie9qs2108mdzzs","what-is-api-beginners-guide","2026-10-05 10:58:51.031Z",112,"8gmfeo9n2lifj2c",[23,27,31,35,40,45,49],"2026-10-02 10:15:23.408Z","What is an API? Call GitHub's API with your browser or curl, read the JSON reply, and learn endpoints, methods, status codes and API keys in plain words.","What Is an API? How APIs Work, with a Real Example for Beginners","2026-10-02 10:15:58.255Z","ebkf8ra4nd55ual",1,{"th":83,"en":83},[96,100,104,108,112,116],{"answer":97,"id":98,"question":99},"An API (Application Programming Interface) is an agreement that lets one program ask another program for data or ask it to do something, spelling out what request to send and what response comes back. For example, the GitHub REST API lets a program fetch a user's public data from https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat and replies in JSON, without the caller knowing what language GitHub's backend is written in.","ge13jg21ksy3smn","What is an API, in simple terms for someone learning to code?",{"answer":101,"id":102,"question":103},"An API works in two steps: a request and a response. The calling program sends a request over HTTP to a server's endpoint using a method such as GET, and the server replies with a status code plus data. For example, sending GET \u002Fusers\u002Foctocat to the GitHub REST API returns 200 OK with JSON that includes \"login\": \"octocat\", which the program can then use.","xhuexslp3sw9zk7","How does an API work?",{"answer":105,"id":106,"question":107},"APIs let a program use data or services from another system instead of building everything itself. Everyday examples: a weather app fetches forecasts from a weather data provider's API, a \"Sign in with Google\" button calls Google's API to confirm who you are, and a shop's mobile app and website show the same products because both call the same backend API.","i4do04t5zzansvh","What are APIs used for in real life?",{"answer":109,"id":110,"question":111},"An API endpoint is the specific address for one piece of data or one action in an API, made up of a base URL, a path and a method. GitHub documents its user lookup endpoint as GET \u002Fusers\u002F{username}; filling in a username gives https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat, which returns that account's data. The same path can behave differently with a different method, such as GET versus DELETE.","7j2o84pwhd6o11i","What is an API endpoint?",{"answer":113,"id":114,"question":115},"A REST API is one kind of API, not a different thing. \"API\" is the broad term for any interface a program exposes to other programs. A REST API is a web API that works over HTTP, uses methods like GET, POST, PUT, PATCH and DELETE on URLs that represent pieces of data, and usually replies in JSON, as the GitHub REST API does. GraphQL and gRPC are other web API styles.","8eyolg05y7sy2pn","What is the difference between an API and a REST API?",{"answer":117,"id":118,"question":119},"The easiest way is to open https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat in a browser, or type curl https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat in a terminal. No sign-up or API key is needed, because GitHub allows 60 unauthenticated requests per hour for public data. You get back the octocat account as JSON. Windows 10 and 11 include curl; in Windows PowerShell, type curl.exe.","7mhs5ksd3keeosv","How can a beginner try calling an API for the first time?"]