Python Working with APIs
Fetch data from APIs using requests library.
Connect to web APIs.
Install Requests
```bash pip install requests ```
GET Request
```python import requests
response = requests.get("https://api.github.com/users/octocat")
if response.status_code == 200: data = response.json() print(data["name"]) print(data["location"]) else: print("Error:", response.status_code) ```
POST Request
```python import requests
data = { "name": "Tom", "email": "tom@example.com" }
response = requests.post( "https://api.example.com/users", json=data )
print(response.json()) ```
Headers and Authentication
```python import requests
headers = { "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json" }
response = requests.get( "https://api.example.com/data", headers=headers ) ```
Query Parameters
```python import requests
params = { "city": "San Francisco", "limit": 10 }
response = requests.get( "https://api.weather.com/forecast", params=params )
print(response.url) # https://api.weather.com/forecast?city=San+Francisco&limit=10 ```
Error Handling
```python import requests
try: response = requests.get("https://api.example.com/data", timeout=5) response.raise_for_status() data = response.json() except requests.exceptions.Timeout: print("Request timed out") except requests.exceptions.HTTPError: print("HTTP error occurred") except requests.exceptions.RequestException: print("Error occurred") ```
Remember
- Always check status_code - Use timeout to avoid hanging - Handle errors properly