Skip to Content
ModulesRequests TutorialWorking with Query Parameters

Working with Query Parameters in Requests

Query parameters allow you to pass data to a URL to retrieve specific information from a server. The Requests library in Python makes handling query parameters simple and efficient.


Sending Data Using URL Parameters

To send query parameters, you can include them as a dictionary in the params argument of a requests.get() call. The library automatically encodes the parameters and appends them to the URL.

Example: Basic Query Parameters

import requests # Define URL and parameters url = "https://jsonplaceholder.typicode.com/posts" params = {"userId": 1} # Send GET request with query parameters response = requests.get(url, params=params) # Print the URL and response print("URL:", response.url) print("Response JSON:", response.json())

Output

URL: https://jsonplaceholder.typicode.com/posts?userId=1 Response JSON: [ { "userId": 1, "id": 1, "title": "Sample Title", "body": "Sample Body" }, ... ]

Encoding Parameters

If your query parameters include special characters, the Requests library automatically encodes them to ensure proper formatting of the URL.

Example: Encoding Parameters

# Define parameters with special characters params = {"search": "Python@requests", "type": "tutorial"} # Send GET request with encoded parameters response = requests.get("https://example.com/search", params=params) # Print the URL print("Encoded URL:", response.url)

Output

Encoded URL: https://example.com/search?search=Python%40requests&type=tutorial

Passing Multiple Parameters

You can pass multiple parameters in the params dictionary to refine your request further.

Example: Multiple Query Parameters

params = {"userId": 1, "completed": True} response = requests.get("https://jsonplaceholder.typicode.com/todos", params=params) print("URL:", response.url) print("Response JSON:", response.json())

Try It Yourself

Problem 1: Fetch Specific Users

Send a GET request to https://jsonplaceholder.typicode.com/users to fetch users from a specific city (e.g., “Lebsackbury”).

Show Solution

import requests # Define parameters params = {"address.city": "Lebsackbury"} # Send GET request response = requests.get("https://jsonplaceholder.typicode.com/users", params=params) # Print response print("URL:", response.url) print("Response JSON:", response.json())

Problem 2: Search with Special Characters

Send a GET request to https://example.com/search with query parameters containing special characters (e.g., “Python@2024”).

Show Solution

import requests # Define parameters params = {"query": "Python@2024", "category": "programming"} # Send GET request response = requests.get("https://example.com/search", params=params) # Print encoded URL print("Encoded URL:", response.url)

Query parameters are a powerful way to customize API requests and retrieve targeted data. Practice encoding parameters and passing multiple values to master their usage!

Last updated on