Filtering by field values helps you get only the data you want from a big list. It saves time and makes your results clear.
You want to see only users from a specific city in a user list.
You need to find products that cost less than $20 in an online store.
You want to get all orders placed after a certain date.
You want to show only active accounts in a system.
Syntax
Rest API
GET /resource?field=value
This is a simple way to ask the server for items where 'field' matches 'value'.
Multiple filters can be combined using & like: ?field1=value1&field2=value2
Examples
Get all users who live in London.
Rest API
GET /users?city=London
Get all products that cost exactly 20 units.
Rest API
GET /products?price=20
Get all orders that are shipped and placed on 1st June 2024.
Rest API
GET /orders?status=shipped&date=2024-06-01
Sample Program
This program asks the API for users who live in New York. It prints each user's name and city.
Rest API
import requests
# URL of the API
url = 'https://api.example.com/users'# Filter to get users from New York
params = {'city': 'New York'}
response = requests.get(url, params=params)
if response.status_code == 200:
users = response.json()
for user in users:
print(f"Name: {user['name']}, City: {user['city']}")
else:
print('Failed to get data')
OutputSuccess
Important Notes
Filtering depends on the API supporting query parameters.
Field names and values must match exactly what the API expects.
Some APIs support advanced filters like greater than or less than using special syntax.
Summary
Filtering helps get only the data you need from an API.
Use query parameters like ?field=value to filter results.
Check API docs to know which fields you can filter by.
Practice
(1/5)
1. What does filtering by field values in a REST API usually do?
easy
A. Returns all data entries without any filtering
B. Deletes data entries that match the specified field values
C. Updates all data entries regardless of field values
D. Returns only the data entries that match the specified field values
Solution
Step 1: Understand filtering purpose
Filtering is used to get only data that matches certain criteria, not to delete or update.
Step 2: Identify filtering effect
Filtering by field values returns only entries matching those values.
Final Answer:
Returns only the data entries that match the specified field values -> Option D
Quick Check:
Filtering = Select matching data [OK]
Hint: Filtering narrows data to matching entries only [OK]
Common Mistakes:
Thinking filtering deletes data
Confusing filtering with updating data
Assuming filtering returns all data
2. Which of the following is the correct way to filter users by age 30 in a REST API URL?
easy
A. /users?age=30
B. /users/age=30
C. /users?filter=age>30
D. /users/age/30
Solution
Step 1: Recognize query parameter syntax
Filtering uses query parameters after ? with key=value pairs.
Step 2: Match correct syntax
/users?age=30 correctly filters users with age 30.
Final Answer:
/users?age=30 -> Option A
Quick Check:
Query param = ?key=value [OK]
Hint: Use ?field=value to filter in REST API URLs [OK]
Common Mistakes:
Using slashes instead of query parameters
Using incorrect filter syntax like > without API support
Missing the ? before query parameters
3. Given this API call: /products?category=books&available=true, what data will the API return?
medium
A. All products regardless of category or availability
B. Only products in the 'books' category that are available
C. Only products that are unavailable
D. Only products in the 'books' category regardless of availability
Solution
Step 1: Analyze query parameters
The URL filters products where category equals 'books' and available equals true.
Step 2: Determine filtering effect
Both conditions must be met, so only available books are returned.
Final Answer:
Only products in the 'books' category that are available -> Option B
Quick Check:
Multiple filters = AND condition [OK]
Hint: Multiple filters combine with AND by default [OK]
Common Mistakes:
Ignoring one of the filter conditions
Assuming filters combine with OR
Confusing availability true/false
4. You want to filter orders by status 'shipped' using /orders?status=shipped, but the API returns all orders. What is the likely problem?
medium
A. The query parameter should be ?state=shipped instead
B. The URL is missing a trailing slash
C. The API does not support filtering by 'status'
D. The filter value 'shipped' is case-sensitive and should be uppercase
Solution
Step 1: Check API documentation for supported filters
If 'status' is not a supported filter field, the API ignores it and returns all data.
Step 2: Evaluate other options
Changing parameter name or case only works if API supports it; trailing slash usually doesn't affect filtering.
Final Answer:
The API does not support filtering by 'status' -> Option C
Quick Check:
Unsupported filter = no effect [OK]
Hint: Check API docs for allowed filter fields first [OK]
Common Mistakes:
Assuming any field can be filtered
Changing URL format without docs
Ignoring case sensitivity without confirmation
5. You have an API endpoint /employees that supports filtering by department and active status. How would you get all active employees in the 'sales' department?
hard
A. /employees?department=sales&active=true
B. /employees?active=true,department=sales
C. /employees?department=sales|active=true
D. /employees?department=sales;active=true
Solution
Step 1: Use correct query parameter syntax
Query parameters are joined by & and use key=value pairs.
Step 2: Combine filters for department and active status
/employees?department=sales&active=true correctly filters active sales employees.
Final Answer:
/employees?department=sales&active=true -> Option A
Quick Check:
Use & to combine filters [OK]
Hint: Combine filters with & and key=value pairs [OK]
Common Mistakes:
Using | or ; instead of & to join filters
Mixing order of parameters incorrectly
Using invalid separators causing syntax errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.