Check the response status
import requests
import json
# Your API configuration
API_KEY = "YOUR_API_KEY_HERE" # Replace with your actual key
BASE_URL = "https://api.simpler.grants.gov"
# The function that will contain search logic
def search_opportunities(search_term=""):
"""Search for grant opportunities"""
# These headers will authenticate your API call
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
# Build the search request
# This asks for page 1, 10 results, newest first by post_date.
payload = {
"pagination": {
"page_offset": 1,
"page_size": 10,
"sort_order": [
{
"order_by": "post_date",
"sort_direction": "descending"
}
]
}
}
# Add search term if provided
if search_term:
payload["query"] = search_term
# Make the API call
response = requests.post(
f"{BASE_URL}/v1/opportunities/search",
headers=headers,
json=payload
)
# Check if the request was successful
# If it’s a success (200), we print the JSON and "Success".
if response.status_code == 200:
data = response.json()
print("Success")
print(data)
# Otherwise, we show the error code and the server’s message.
else:
print(f"Error: {response.status_code}")
print(response.text)
# Run the search
if __name__ == "__main__":
print("\nSearching for health-related opportunities...")
search_opportunities("health")Last updated
Was this helpful?