📖 Scenario: You are building a simple program to get the current weather from a public API. This will help you learn how to make your first API request and see the response.
🎯 Goal: Learn how to send a GET request to a weather API and display the temperature from the response.
📋 What You'll Learn
Use the requests library to make an API call
Send a GET request to the URL https://api.weatherapi.com/v1/current.json?key=demo&q=London
Extract the temperature in Celsius from the JSON response
Print the temperature with a friendly message
💡 Why This Matters
🌍 Real World
APIs let programs get live data from websites and services. Weather apps use APIs to show current weather.
💼 Career
Knowing how to make API requests is a key skill for developers working with web services, mobile apps, or data integration.
Progress0 / 4 steps
1
Set up the API URL
Create a variable called url and set it to the string 'https://api.weatherapi.com/v1/current.json?key=demo&q=London'.
Rest API
Hint
Use a string variable to store the full API URL exactly as given.
2
Import requests and make the GET request
Import the requests library and create a variable called response that stores the result of requests.get(url).
Rest API
Hint
Use import requests at the top. Then call requests.get(url) and save it in response.
3
Extract temperature from JSON response
Create a variable called data that stores the JSON content from response using response.json(). Then create a variable called temp_c that gets the temperature in Celsius from data['current']['temp_c'].
Rest API
Hint
Use response.json() to get the data. Then access the temperature with data['current']['temp_c'].
4
Print the temperature
Write a print statement that outputs: "The current temperature in London is {temp_c}°C." using an f-string.
Rest API
Hint
Use print(f"The current temperature in London is {temp_c}°C.") to show the temperature.
Practice
(1/5)
1. What does a GET request in an API usually do?
easy
A. It asks the server to send data back.
B. It sends data to the server to be saved.
C. It deletes data from the server.
D. It updates existing data on the server.
Solution
Step 1: Understand the GET method
The GET method is used to request data from a server without changing it.
Step 2: Identify the purpose of GET in API
GET asks the server to send data back to the client.
Final Answer:
It asks the server to send data back. -> Option A
Quick Check:
GET = Request data [OK]
Hint: GET means get data from server, no changes made [OK]
Common Mistakes:
Confusing GET with POST or DELETE methods
Thinking GET changes data on server
Mixing up request and response roles
2. Which of these is the correct way to write a simple GET request URL?
easy
A. POST /api/data HTTP/1.1
B. DELETE /api/data HTTP/1.1
C. GET /api/data HTTP/1.1
D. PUT /api/data HTTP/1.1
Solution
Step 1: Identify HTTP methods
GET is the method used to request data, so the request line must start with GET.
Step 2: Check the request format
The correct format is "GET /path HTTP/1.1" for a GET request.
Final Answer:
GET /api/data HTTP/1.1 -> Option C
Quick Check:
GET request line starts with GET [OK]
Hint: GET requests start with GET keyword in HTTP line [OK]
Common Mistakes:
Using POST, DELETE, or PUT instead of GET
Wrong HTTP version or missing method
Confusing request line with response line
3. Given this API response snippet:
{"status":200,"data":{"name":"Alice","age":30}}
What does the status code 200 mean?
medium
A. The request was unauthorized.
B. The requested resource was not found.
C. There was a server error processing the request.
D. The request was successful and data is returned.
Solution
Step 1: Understand HTTP status codes
Status code 200 means the request succeeded and the server returned the requested data.
Step 2: Match status code to meaning
200 is standard for success; 404 means not found, 500 means server error, 401 means unauthorized.
Final Answer:
The request was successful and data is returned. -> Option D
Quick Check:
Status 200 = Success [OK]
Hint: 200 means OK, request worked fine [OK]
Common Mistakes:
Confusing 200 with error codes like 404 or 500
Thinking 200 means no data returned
Mixing status codes with data content
4. You send a GET request to an API but get no response. Which of these is a likely cause?
medium
A. The server returned status code 200.
B. The API endpoint URL is incorrect or misspelled.
C. You used the GET method instead of POST.
D. Your request included a valid Authorization header.
Solution
Step 1: Check the URL correctness
If the URL is wrong or misspelled, the server won't respond properly or may not be found.
Step 2: Evaluate other options
Using GET instead of POST may cause wrong data but usually gets a response; status 200 means success; valid Authorization helps access.
Final Answer:
The API endpoint URL is incorrect or misspelled. -> Option B
Quick Check:
Wrong URL = No response [OK]
Hint: Check URL spelling first if no response [OK]
Common Mistakes:
Assuming method error causes no response
Ignoring URL typos
Confusing status codes with no response
5. You want to get user info from an API at https://api.example.com/users/123. Which is the best way to check if your request worked?
hard
A. Check if the response status code is 200 and the data contains user details.
B. Check if the request method was POST and the server returned 404.
C. Check if the response status code is 500 and the data is empty.
D. Check if the URL contains the word 'users' and the method is DELETE.
Solution
Step 1: Understand success criteria for API requests
A successful GET request returns status 200 and the expected data.
Step 2: Evaluate options for correctness
POST method and 404 means not found; 500 means server error; DELETE method is for removing data, not getting it.
Final Answer:
Check if the response status code is 200 and the data contains user details. -> Option A
Quick Check:
Status 200 + data = success [OK]
Hint: Success = status 200 + expected data [OK]
Common Mistakes:
Confusing POST with GET for data retrieval
Ignoring status codes meaning
Checking wrong HTTP methods for GET requests
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.