# Llama a una API por HTTP

Cada API del hub se llama a través del mismo gateway, con la misma clave y los mismos headers de respuesta.

> Esta página es para desarrolladores que llaman a las APIs desde su propio código. ¿Usas un agente de IA? No necesitas nada de esto: consulta [Conectar agentes de IA (MCP)](https://zylalabs.com/es/docs/mcp).

## Antes de tu primera llamada

1. Obtén tu [clave de API](https://zylalabs.com/es/docs/api-keys).
2. Abre la API en el [catálogo](https://zylalabs.com/es/api-marketplace) y suscríbete a un plan (o inicia su prueba gratuita, cuando la tenga). Las llamadas a una API a la que no estás suscrito devuelven `401`.

## Formato de la URL

```text
https://zylalabs.com/api/{api_id}/{api_name}/{endpoint_id}/{endpoint_name}
```

La página de la API construye esta URL por ti en la sección **Endpoints**, con los parámetros de cada endpoint y ejemplos de código en 15 lenguajes de programación (cURL, JavaScript, Node.js, Python, PHP, Java, Go, C# y más). Cópiala desde ahí en lugar de construirla a mano.

## Parámetros de consulta (GET)

```bash
curl 'https://zylalabs.com/api/{api_id}/{api_name}/{endpoint_id}/{endpoint_name}?email=john@example.com' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

```javascript
const res = await fetch(
  'https://zylalabs.com/api/{api_id}/{api_name}/{endpoint_id}/{endpoint_name}?email=john@example.com',
  { headers: { Authorization: `Bearer ${process.env.ZYLA_API_KEY}` } }
);
const data = await res.json();
```

```python
import os, requests

r = requests.get(
    "https://zylalabs.com/api/{api_id}/{api_name}/{endpoint_id}/{endpoint_name}",
    params={"email": "john@example.com"},
    headers={"Authorization": f"Bearer {os.environ['ZYLA_API_KEY']}"},
)
print(r.status_code, r.json())
```

## Cuerpo JSON (POST)

Usa el método que se muestra en el endpoint. Un método distinto devuelve `401` con `Invalid method`.

```bash
curl -X POST 'https://zylalabs.com/api/{api_id}/{api_name}/{endpoint_id}/{endpoint_name}' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"text": "Hello world"}'
```

## Headers de respuesta

Cada respuesta exitosa incluye tu uso, para que puedas regular tu propio ritmo de solicitudes:

| Header | Significado |
|---|---|
| `X-Zyla-API-Calls-Monthly-Used` | Llamadas usadas en el ciclo de facturación actual de esta suscripción |
| `X-Zyla-API-Calls-Monthly-Remaining` | Llamadas restantes en el ciclo |
| `X-Zyla-API-Calls-Monthly-Limit` | Llamadas incluidas en tu plan |
| `X-Zyla-RateLimit-Remaining` | Solicitudes restantes en el minuto actual |
| `X-Zyla-RateLimit-Reset-Seconds` | Segundos hasta que se reinicia la ventana por minuto |

El cuerpo es la respuesta del proveedor, devuelta tal cual. Para errores generados por el gateway mismo (sin suscripción, límites, endpoint desconocido), consulta [Planes, límites y errores](https://zylalabs.com/es/docs/plans-and-limits).


---
Source: https://zylalabs.com/es/docs/calling-apis
