Introducción a las APIs REST y Python
En la actualidad, consumir APIs REST es una habilidad fundamental para cualquier desarrollador.
Las APIs REST permiten la comunicación entre diferentes aplicaciones, facilitando el intercambio de datos de forma eficiente.
En este artículo, aprenderás cómo consumir una API REST con Python paso a paso, utilizando ejemplos prácticos y explicaciones sencillas.
¿Qué es una API REST?
Una API REST (Representational State Transfer) es un conjunto de reglas que permiten a diferentes programas interactuar entre sí utilizando el protocolo HTTP.
Las APIs REST son ampliamente utilizadas para crear aplicaciones web, móviles y de escritorio que requieren acceso a datos de terceros.
Requisitos previos
- Python instalado (recomendado: versión 3.7 o superior)
- Conocimientos básicos de programación en Python
- Acceso a una API REST pública o privada
- Instalación de la biblioteca requests (se explica más adelante)
Pasos para consumir una API REST con Python
Paso 1: Instalar la biblioteca requests
Para consumir APIs REST en Python, la forma más sencilla es utilizando la biblioteca requests, que permite hacer peticiones HTTP de manera fácil.
pip install requests
Paso 2: Analizar la documentación de la API
Antes de realizar cualquier petición, es importante leer la documentación de la API REST que deseas consumir.
Así sabrás qué endpoints existen, qué parámetros debes enviar y cómo manejar la autenticación si es necesaria.
Paso 3: Realizar una petición GET
El método GET se utiliza para obtener información de la API. A continuación, te mostramos cómo hacer una petición GET a una API pública de ejemplo (JSONPlaceholder):
import requests
# URL del endpoint de la API
url = "https://jsonplaceholder.typicode.com/posts/1"
# Realizar la petición GET
response = requests.get(url)
# Verificar si la petición fue exitosa
if response.status_code == 200:
# Convertir la respuesta a JSON
data = response.json()
print(data)
else:
print("Error en la petición:", response.status_code)
Con este código, obtendrás los datos de un post específico de la API.
Puedes cambiar la URL o los parámetros según la documentación de la API que estés usando.
Paso 4: Enviar datos con una petición POST
Si necesitas enviar datos a una API REST con Python, debes utilizar el método POST.
Aquí tienes un ejemplo de cómo crear un nuevo recurso:
import requests
url = "https://jsonplaceholder.typicode.com/posts"
# Datos a enviar
payload = {
"title": "Nuevo título",
"body": "Este es el contenido del post.",
"userId": 1
}
# Realizar la petición POST
response = requests.post(url, json=payload)
if response.status_code == 201:
print("Recurso creado:", response.json())
else:
print("Error al crear recurso:", response.status_code)
Observa que enviamos los datos en formato JSON utilizando el parámetro json=payload
.
Paso 5: Autenticación en APIs REST
Muchas APIs requieren algún tipo de autenticación para acceder a sus recursos.
El método más común es utilizar tokens de autenticación en los encabezados (headers) de la petición.
import requests
url = "https://api.ejemplo.com/usuario"
# Token de autenticación
headers = {
"Authorization": "Bearer TU_TOKEN_AQUI"
}
response = requests.get(url, headers=headers)
if response.ok:
print(response.json())
else:
print("Acceso denegado:", response.status_code)
Consulta la documentación de la API para saber cómo obtener el token y cómo enviarlo correctamente.
¿Cómo consumir diferentes métodos HTTP en una API REST con Python?
Además de GET y POST, las APIs REST suelen utilizar otros métodos HTTP como PUT y DELETE.
Ejemplo de petición PUT
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
payload = {
"title": "Título actualizado",
"body": "Contenido actualizado.",
"userId": 1
}
response = requests.put(url, json=payload)
if response.ok:
print("Recurso actualizado:", response.json())
else:
print("Error al actualizar recurso:", response.status_code)
Ejemplo de petición DELETE
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.delete(url)
if response.status_code == 200:
print("Recurso eliminado correctamente")
else:
print("Error al eliminar recurso:", response.status_code)
Consejos para consumir APIs REST en Python de forma eficiente
- Lee siempre la documentación oficial de la API antes de empezar a programar.
- Maneja los errores correctamente usando condicionales y excepciones.
- Utiliza la función response.json() para trabajar con datos en formato JSON.
- Si la API requiere autenticación, protege tus credenciales y nunca las compartas en tu código público.
- Prueba tus peticiones usando herramientas como Postman antes de implementarlas en Python.
Conclusión
Ahora que sabes cómo consumir una API REST con Python paso a paso, puedes integrar datos externos en tus aplicaciones, automatizar tareas y crear proyectos más complejos.
Recuerda practicar con diferentes APIs públicas y explorar las múltiples posibilidades que ofrece el consumo de servicios web en Python.