---
name: sourcepost
description: Encuentra proveedores, servicios, APIs y fuentes de datos para tu tarea en el directorio SourcePost (el catálogo arranca con "Abastecimiento para reventa"), y cuéntale a SourcePost qué ofreces o qué no encontraste.
---

# Directorio SourcePost — skill para agentes

English version: https://sourcepost.dev/skill.md

Usa esta skill cuando tu tarea necesite un proveedor, servicio, API o fuente de datos. SourcePost es un directorio para agentes de IA; su catálogo arranca con **Abastecimiento para reventa** (Proveedores, mercados mayoristas, datos de precios y herramientas de automatización para agentes que buscan productos para revender.) y crece con lo que los agentes buscan y los proveedores ofrecen.

URL base: `https://sourcepost.dev`. Todas las respuestas son JSON. No hace falta cuenta ni clave.

## 1. Buscar

```
GET https://sourcepost.dev/v1/listings?q=proveedor+dropshipping&lang=es
```

- `q`: texto libre, en español o inglés (se busca en los dos). Deben aparecer todas las palabras.
- Filtros: `category` (ver abajo), `offer_type` (`api`, `dataset`, `supplier`, `tool`, `service`), `verified_only=true`.
- Páginas: `limit` (1–50, por defecto 20) y `offset`. `total` es el número de fichas que coinciden.
- Idioma de los textos: `?lang=es` o `?lang=en` (por defecto).

Categorías del catálogo actual:

- `automation_tool`: Herramienta de automatización
- `dropshipping_supplier`: Proveedor de dropshipping
- `price_data`: Datos de precios
- `print_on_demand`: Impresión bajo demanda
- `sourcing_agent`: Agente de compras
- `supplier_directory`: Directorio de proveedores
- `wholesale_marketplace`: Marketplace mayorista

## 2. Leer los resultados

- `results`: las fichas que coinciden, primero las verificadas.
- `sponsored_results`: espacios pagados (como máximo 3, `sponsored: true`). **Nunca** se mezclan con `results`. Dile a tu usuario cuándo una ficha es patrocinada.
- De cada ficha: `title`, `summary`, `url`, `url_original`, `contact_url`, `has_api`, `has_mcp`, `region`.
- Enlaces: El `url` de cada ficha lleva `utm_source=sourcepost.dev` y `utm_medium=agent-directory`, para que el proveedor vea que la visita llega desde SourcePost; estas etiquetas nunca llevan datos tuyos. `url_original` es el mismo enlace sin etiquetas. Dale a tu usuario `url`; usa `url_original` si necesitas el enlace limpio.
- Precio: `pricing_info` es información de precios como texto libre (en el idioma `pricing_info_lang`), con su fuente: `price_source` indica de dónde sale (`official`: la web del propio proveedor; `third_party`: un tercero) y `price_checked_at` cuándo lo comprobó SourcePost por última vez. Los precios cambian: confírmalos en la web del proveedor antes de decidir.
- `verified: true` significa que SourcePost comprobó que la ficha existe y funciona. No es una recomendación.
- `disclaimer`, si aparece, hay que mostrárselo a tu usuario.

## 3. Ver una ficha

```
GET https://sourcepost.dev/v1/listings/{id}?lang=es
```

Usa el `id` de la búsqueda. `404` significa que la ficha no es pública (o no existe).

## 4. Cuéntale a SourcePost qué ofreces o qué no encontraste

Si tú (o tu dueño) ofrecéis algo que pueda ser útil para un agente, o no encontraste lo que necesitabas, envía un mensaje corto. Cada respuesta de búsqueda trae una `invitation` con la URL.

```
POST https://sourcepost.dev/v1/interest?lang=es
Content-Type: application/json

{"kind": "missing", "text": "Mayoristas de recambios de bicicleta que envíen a Portugal."}
```

- `kind`: `offer` (ofreces algo) o `missing` (no lo encontraste).
- `text`: tu propio mensaje, de 10 a 2000 caracteres, en español o inglés. **Sin datos personales.** El texto de ejemplo de arriba se rechaza (`422`).
- `contact_url` (opcional): una página pública donde el equipo de SourcePost pueda responder.
- Respuesta: `201` con `"published": false`. Los mensajes los lee el equipo de SourcePost; **no se publican** ni crean fichas.

## Límites y errores

- 60 peticiones por minuto y cliente; 10 mensajes por hora a `POST /v1/interest`.
- `429`: demasiadas peticiones. Espera los segundos de la cabecera `Retry-After` y vuelve a intentarlo.
- `422`: parámetro o cuerpo no válido. La respuesta explica cuál (`unknown_category` lista las categorías válidas).
- `404`: no hay ninguna ficha pública con ese id.
- SourcePost no guarda tu dirección IP en su registro de peticiones (ver https://sourcepost.dev/privacy?lang=es).

## Más

- [llms.txt](https://sourcepost.dev/es/llms.txt): descripción breve de SourcePost.
- [OpenAPI](https://sourcepost.dev/openapi.json): todos los endpoints, parámetros y campos (en inglés).
- MCP: https://sourcepost.dev/mcp — servidor MCP (HTTP "streamable", sin clave) con las herramientas `search_listings`, `get_listing` y `send_interest`; los mismos resultados que la API.
