Bird
Raised Fist0
Rest APIprogramming~20 mins

Search parameter in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Search Parameter Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this REST API search parameter example?

Consider a REST API endpoint that supports a search parameter to filter users by age greater than 30.

Given the following request URL:

GET /users?age_gt=30

And the server code snippet that filters users:

users = [
  {"name": "Alice", "age": 25},
  {"name": "Bob", "age": 35},
  {"name": "Charlie", "age": 40}
]

filtered = [user for user in users if user["age"] > int(request.args.get("age_gt", 0))]
print(filtered)

What will be printed?

Rest API
users = [
  {"name": "Alice", "age": 25},
  {"name": "Bob", "age": 35},
  {"name": "Charlie", "age": 40}
]

class Request:
    def __init__(self):
        self.args = {"age_gt": "30"}

request = Request()

filtered = [user for user in users if user["age"] > int(request.args.get("age_gt", 0))]
print(filtered)
A[{'name': 'Bob', 'age': 35}, {'name': 'Charlie', 'age': 40}]
B[{'name': 'Alice', 'age': 25}]
C[]
D[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 35}, {'name': 'Charlie', 'age': 40}]
Attempts:
2 left
💡 Hint

Think about which users have age greater than 30.

🧠 Conceptual
intermediate
1:00remaining
Which HTTP method is typically used with search parameters in REST APIs?

When you want to retrieve data filtered by search parameters in a REST API, which HTTP method should you use?

APOST
BPUT
CGET
DDELETE
Attempts:
2 left
💡 Hint

Think about which method is used to get data without changing it.

🔧 Debug
advanced
2:00remaining
What error does this search parameter code raise?

Look at this code snippet that tries to filter products by a minimum price from a search parameter:

products = [
  {"name": "Pen", "price": 1.5},
  {"name": "Notebook", "price": 3.0}
]

min_price = request.args.get("min_price")
filtered = [p for p in products if p["price"] >= min_price]
print(filtered)

What error will this code raise when the request URL is /products?min_price=2?

Rest API
products = [
  {"name": "Pen", "price": 1.5},
  {"name": "Notebook", "price": 3.0}
]

class Request:
    def __init__(self):
        self.args = {"min_price": "2"}

request = Request()

min_price = request.args.get("min_price")
filtered = [p for p in products if p["price"] >= min_price]
print(filtered)
ANo error, prints all products
BSyntaxError: invalid syntax
CKeyError: 'min_price'
DTypeError: '>=' not supported between instances of 'float' and 'str'
Attempts:
2 left
💡 Hint

Check the types of p["price"] and min_price.

📝 Syntax
advanced
1:30remaining
Which option correctly extracts a search parameter 'category' from a Flask request?

In a Flask app, you want to get the 'category' search parameter from the URL query string. Which code snippet is correct?

Acategory = request.args.get('category', default='all')
Bcategory = request.get.args('category')
Ccategory = request.args['category']()
Dcategory = request.args.get['category']
Attempts:
2 left
💡 Hint

Remember the syntax for getting query parameters in Flask.

🚀 Application
expert
2:30remaining
How many items are returned by this complex search parameter filter?

Given this list of books and a search parameter 'year' filtering books published after that year:

books = [
  {"title": "Book A", "year": 1999},
  {"title": "Book B", "year": 2005},
  {"title": "Book C", "year": 2010},
  {"title": "Book D", "year": 2015}
]

search_year = int(request.args.get("year", "2000"))
filtered_books = [b for b in books if b["year"] > search_year]
print(len(filtered_books))

If the request URL is /books?year=2005, how many books will be printed?

Rest API
books = [
  {"title": "Book A", "year": 1999},
  {"title": "Book B", "year": 2005},
  {"title": "Book C", "year": 2010},
  {"title": "Book D", "year": 2015}
]

class Request:
    def __init__(self):
        self.args = {"year": "2005"}

request = Request()

search_year = int(request.args.get("year", "2000"))
filtered_books = [b for b in books if b["year"] > search_year]
print(len(filtered_books))
A4
B2
C1
D3
Attempts:
2 left
💡 Hint

Count books with year greater than 2005.

Practice

(1/5)
1.

What is the main purpose of a search parameter in a REST API URL?

easy
A. To change the API server address
B. To filter the data returned by the API
C. To add security to the API
D. To format the API response as XML

Solution

  1. Step 1: Understand what search parameters do

    Search parameters are added to the URL to specify what data you want from the API.
  2. Step 2: Identify the purpose of filtering

    Filtering means selecting only the data that matches your criteria, which is what search parameters do.
  3. Final Answer:

    To filter the data returned by the API -> Option B
  4. Quick Check:

    Search parameter = filter data [OK]
Hint: Search parameters filter data in API URLs [OK]
Common Mistakes:
  • Thinking search parameters change server address
  • Confusing search parameters with security tokens
  • Assuming search parameters format response
2.

Which of the following is the correct way to add a search parameter named name with value alice to a REST API URL?

https://api.example.com/users
easy
A. https://api.example.com/users#name=alice
B. https://api.example.com/users/name=alice
C. https://api.example.com/users?name=alice
D. https://api.example.com/users&name=alice

Solution

  1. Step 1: Recall the syntax for search parameters

    Search parameters start with a question mark (?) after the base URL.
  2. Step 2: Check the correct separator and format

    The parameter is added as ?name=alice. Using & or # or slashes is incorrect here.
  3. Final Answer:

    https://api.example.com/users?name=alice -> Option C
  4. Quick Check:

    Use ? before first parameter [OK]
Hint: First parameter starts with ? in URL [OK]
Common Mistakes:
  • Using & instead of ? for first parameter
  • Using # which is for anchors, not parameters
  • Adding parameters as path segments
3.

What will be the full URL to search for users with age 30 and city as NY?

Base URL: https://api.example.com/users
medium
A. https://api.example.com/users?age=30&city=NY
B. https://api.example.com/users?age=30?city=NY
C. https://api.example.com/users&age=30&city=NY
D. https://api.example.com/users#age=30&city=NY

Solution

  1. Step 1: Add first parameter with ?

    The first search parameter starts with a question mark: ?age=30.
  2. Step 2: Add second parameter with &

    Additional parameters use & to separate: &city=NY.
  3. Final Answer:

    https://api.example.com/users?age=30&city=NY -> Option A
  4. Quick Check:

    First ? then & for multiple parameters [OK]
Hint: Use ? for first, & for others in URL [OK]
Common Mistakes:
  • Using ? for every parameter
  • Using & before first parameter
  • Using # which is for anchors
4.

Identify the error in this URL with search parameters:

https://api.example.com/products?category=books&price=20?sort=asc
medium
A. Using two question marks (?) for parameters
B. Missing & between parameters
C. Using = instead of : in parameters
D. Parameters should be in the URL path, not query

Solution

  1. Step 1: Check parameter separators

    Only the first parameter uses ?, others must use &.
  2. Step 2: Identify the error in the URL

    The URL incorrectly uses a second ? before sort=asc instead of &.
  3. Final Answer:

    Using two question marks (?) for parameters -> Option A
  4. Quick Check:

    Only one ? allowed, others use & [OK]
Hint: Only one ? in URL, then & for others [OK]
Common Mistakes:
  • Using multiple ? instead of &
  • Confusing = with : in parameters
  • Thinking parameters belong in URL path
5.

You want to search a REST API for books with author as John and year greater than 2010. Which URL correctly uses search parameters to do this?

hard
A. https://api.example.com/books?author=John&year>2010
B. https://api.example.com/books?author=John&year=2010>
C. https://api.example.com/books?author=John&year=gt2010
D. https://api.example.com/books?author=John&year_gt=2010

Solution

  1. Step 1: Understand how to express 'greater than' in search parameters

    REST APIs often use suffixes like _gt for 'greater than' in parameters.
  2. Step 2: Check each option for correct syntax

    https://api.example.com/books?author=John&year_gt=2010 uses year_gt=2010, which is a common and correct way to express this filter.
  3. Final Answer:

    https://api.example.com/books?author=John&year_gt=2010 -> Option D
  4. Quick Check:

    Use _gt suffix for greater than filters [OK]
Hint: Use _gt suffix for 'greater than' in parameters [OK]
Common Mistakes:
  • Using > directly in URL parameter
  • Placing operators after values
  • Confusing parameter syntax for filters
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard