La guía de la API de BuyLinksForSEO

Conecta la investigación de editores y los pedidos de backlinks a tus propias herramientas. Esta referencia cubre autenticación, formatos de solicitud, el flujo de pedido a publicación y las respuestas. Tus integraciones usan el mismo saldo y pedidos que tu cuenta de BuyLinksForSEO.

URL base y autenticación

  • URL base https://buylinksforseo.com
  • Prefijo de versión /v1
  • Autenticación Authorization: Bearer <your_api_key> (o ?api_key=…)
  • Tipo de contenido application/json

Crea y copia claves en tu panel → API. Una clave pertenece a una cuenta y actúa sobre esa cuenta. La API puede hacer todo excepto recargar tu saldo — añadir fondos permanece en el panel.

Formato de respuesta

Cada respuesta es JSON. Sobres de éxito y error:

{ "success": true, "data": { … } }
{ "success": false, "error": { "code": "unauthorized", "message": "…" } }

Puntos finales

GET/v1/me

Tu cuenta.

{ "success": true, "data": { "id": 123, "email": "[email protected]", "name": "You", "balance": 45.00 } }
GET/v1/balance

Saldo actual de la cuenta (USD).

GET/v1/donors

Sitios donantes del marketplace (paginados, 20/pág.). Parámetros de consulta opcionales: page, domain_filter, ext_filter, dr_min, referring_domains_min, price_filter, top100_filter.

{ "success": true, "data": [ { "id": 42, "domain": "blog.com", "dr": 61, "price": 12 } ],
  "pagination": { "current_page": 1, "total_pages": 478, "total_records": 9543 } }
GET/v1/article-prompt

Devuelve el prompt exacto que utilizamos para escribir el artículo, para que puedas leerlo y editarlo. Parámetros opcionales: keyword, target_url, language, recommendations. Edita el prompt devuelto y pásalo de vuelta a POST /v1/orders como recommendations; mantén la OUTPUT FORMAT block y se ejecuta literalmente.

{ "success": true, "data": { "default_prompt": "…", "editable_field": "recommendations",
    "modes": { "own": "…", "prompt": "…", "auto": "…" } } }
POST/v1/orders

Crea pedido(s) de backlinks en tu carrito — sin cargo aún. donor_ids siempre es obligatorio; luego elige uno de los tres modos de contenido:

  • Automático — send target_url + keyword; investigamos y redactamos el artículo.
  • Desde tu prompt — also send recommendations (obtén y edita el prompt base vía GET /v1/article-prompt); escribimos según tu briefing.
  • Tu propio artículo — send content (+ opcional title, article_url); publicamos tu HTML listo tal cual. Requiere contenido propio habilitado en tu cuenta.
// auto
{ "donor_ids": [42, 43], "target_url": "https://you.com/pricing", "keyword": "best crm", "language": "en" }
// from your prompt
{ "donor_ids": [42], "target_url": "https://you.com", "keyword": "best crm", "recommendations": "Friendly tone, cite 2 studies…" }
// your own article
{ "donor_ids": [42], "content": "<article>…</article>", "title": "My headline" }
{ "success": true, "data": { "mode": "auto", "order_content_ids": [9001, 9002],
    "basket_ids": [55, 56], "total_price": 24, "status": "in_basket" } }
GET/v1/basket

Revisa lo que hay actualmente en tu cesta (artículos redactados, donante, precio) antes de publicar.

POST/v1/basket/pay

Publica todo en tu cesta, pagando desde el saldo de tu cuenta. Si el saldo es insuficiente, no publica nada y devuelve success:false con cuánto falta. La recarga solo se realiza desde el panel.

{ "success": true, "data": { "status": "published", "charged": 24, "links": 2 } }
GET/v1/links

Tus enlaces pedidos (backlinks) con estado y URL publicada. /v1/orders (GET) es un alias.

{ "success": true, "count": 1, "data": [
  { "id": 8891, "target_url": "https://you.com/pricing", "keyword": "best crm",
    "status": "active", "published_url": "https://donor.com/…?aio-…", "cost": "12.00" } ] }

Flujo de pedido

  1. Buscar sitios — GET /v1/donors para seleccionar donantes relevantes con tráfico real.
  2. Pedido — POST /v1/orders con los IDs de los donantes y tu página/palabra clave → los artículos llegan a tu cesta. Elige el modo de contenido: automático, tu prompt editado (recommendations, ver GET /v1/article-prompt), o tu propio content.
  3. Reseña — GET /v1/basket para revisar los borradores y el total.
  4. Publicar — POST /v1/basket/pay paga desde tu saldo y publica los enlaces en vivo (~24h).
  5. Seguir — GET /v1/links para el estado y las URL publicadas.

Errores

  • 401 unauthorized — missing / invalid / revoked key
  • 400 bad_request / payment_failed — cuerpo incorrecto, o el saldo no cubre la cesta
  • 403 forbidden / own_content_disabled — la clave no puede pedir, o el contenido propio no está habilitado en tu cuenta
  • 404 not_found — unknown endpoint or resource
  • 405 method_not_allowed
  • 500 server_error — transient; retry

Para agentes de IA: autentícate con la clave Bearer, llama a GET /v1/me para confirmar la cuenta, GET /v1/donors para encontrar sitios, después POST /v1/orders → POST /v1/basket/pay para pedir y publicar. O pasa directamente de HTTP y usa la Servidor MCP — same key, native tools.