rankion.ai
API

API de Proyectos

Crea, lista y actualiza proyectos; gestiona artículos y keywords por proyecto.

En Rankion un proyecto es el contenedor central — un dominio por proyecto, un team owner y todos los sub-recursos (artículos, keywords, mapas de internal-link, storylines) cuelgan de él. Aparte existen los Tracking Projects como recurso propio para la monitorización de AI Visibility (ver más abajo).

CRUD

Method Endpoint Descripción Créditos
GET /v1/projects Lista de todos los proyectos del team (paginada)
POST /v1/projects Crear nuevo proyecto
GET /v1/projects/{id} Detalle del proyecto
PUT /v1/projects/{id} Actualizar settings
DELETE /v1/projects/{id} Eliminar proyecto (soft)
# Lista
curl -H "Authorization: Bearer $TOKEN" "$BASE/projects"

# Crear
curl -X POST "$BASE/projects" \
     -H "Authorization: Bearer $TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"name":"Mein Blog","domain":"meinblog.de","language":"de","country":"DE"}'

Response (recortada):

{
  "data": {
    "id": 12,
    "name": "Mein Blog",
    "domain": "meinblog.de",
    "language": "de",
    "country": "DE",
    "team_id": 7,
    "created_at": "2026-05-01T08:30:00Z"
  }
}

Sub-recursos por proyecto

Articles

Todos los endpoints CRUD y de generación de artículos cuelgan del proyecto:

Method Endpoint Descripción Créditos
GET /v1/projects/{project}/articles paginado (20/página)
POST /v1/projects/{project}/articles Body: {title, slug?, content?, status?}

API completa de artículos → API de Artículos.

Keywords

Method Endpoint Descripción Créditos
GET /v1/projects/{project}/keywords Keywords del proyecto
POST /v1/projects/{project}/keywords Crear keyword
DELETE /v1/keywords/{id} Eliminar keyword
POST /v1/keywords/research Job de keyword research 5
POST /v1/keywords/{id}/expand Expansión A-Z (async) 10
GET /v1/keywords/{id}/expansions Resultados de una expansión

Internal Linking

Method Endpoint Descripción Créditos
POST /v1/projects/{project}/internal-links/analyze Calcular el mapa de internal links del proyecto (async) 5
GET /v1/articles/{id}/link-suggestions Sugerencias para un artículo
PUT /v1/link-suggestions/{id} Aceptar/rechazar sugerencia

Otros sub-recursos del proyecto

Familia de endpoints Top endpoint
Storylines GET/POST /v1/projects/{project}/storylines
Style Profiles GET/POST /v1/projects/{project}/style-profiles
Knowledge Base GET/POST /v1/projects/{project}/knowledge-base
Link Lists GET/POST /v1/projects/{project}/link-lists
Orphan Scans POST /v1/projects/{project}/orphan-scans/discover
Calendar GET/POST /v1/projects/{project}/calendar
Project Images GET /v1/projects/{project}/images (legacy — el primario es /v1/images a nivel de team)

Tracking Projects (¡recurso propio!)

Los Tracking Projects están separados de los proyectos normales. Son la base de datos para AI Visibility Tracking — por cada Tracking Project una marca, un set de keywords y un set de plataformas.

Namespace de endpoints: /v1/tracking-projects/...

Flujo del asistente

La interfaz web tiene un asistente de 5 pasos que puedes replicar 1:1 por API:

Paso Endpoint Descripción
1+2 POST /v1/tracking-projects/analyze Analizar dominio/keyword, dispatcha AnalyzeDomainJob. Body: {mode:"domain"|"keyword", domain?, keyword?, name?, language?, country?} → 202 + project_id
3+4 GET /v1/tracking-projects/{id}/analysis-status Polling: devuelve {analysis_status, suggested_keywords, suggested_competitors, suggested_prompts, suggested_personas, classification}
5 POST /v1/tracking-projects/{id}/activate Atómico: crea keywords/prompts/competitors + pone status=active
# Paso 1+2: arrancar el análisis
RESP=$(curl -s -X POST "$BASE/tracking-projects/analyze" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"mode":"domain","domain":"example.com","language":"de","country":"DE"}')
PID=$(echo $RESP | jq -r .project_id)

# Paso 3+4: polling hasta completed
while [ "$(curl -s "$BASE/tracking-projects/$PID/analysis-status" \
  -H "Authorization: Bearer $TOKEN" | jq -r .analysis_status)" != "completed" ]; do
  sleep 3
done

# Paso 5: activación atómica
curl -X POST "$BASE/tracking-projects/$PID/activate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "keywords":["best crm","crm software"],
    "competitors":[{"domain":"hubspot.com"}],
    "prompts":[{"prompt":"What is the best CRM?","category":"recommendation"}],
    "platforms":["chatgpt","perplexity"],
    "frequency":"weekly",
    "with_search":true,
    "reality_check_enabled":true
  }'

Operaciones runtime

Method Endpoint Descripción
GET /v1/tracking-projects Todos los Tracking Projects del team
GET /v1/tracking-projects/{id} Detalle con KPIs actuales
PUT /v1/tracking-projects/{id} Actualizar settings (brand aliases, frecuencia, plataformas, toggle AVI)
POST /v1/tracking-projects/{id}/run Dispatchar un tracking run manual
GET /v1/tracking-projects/{id}/runs Historial de runs
GET /v1/tracking-projects/{id}/scores Histórico de scores para gráficas
GET /v1/tracking-projects/{id}/avi AI Visibility Index actual (Reality Check)
POST /v1/tracking-projects/{id}/generate-report Reporte en Markdown (10 créditos, límite 1/30min)

Tabla completa de los ~30 endpoints de tracking en docs/API_REFERENCE.md.

Workflow de ejemplo: proyecto + primer artículo

# 1) Crear proyecto
PID=$(curl -s -X POST "$BASE/projects" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"Demo Site","domain":"demo.example","language":"de","country":"DE"}' \
  | jq -r .data.id)

# 2) Crear stub de artículo
ART=$(curl -s -X POST "$BASE/projects/$PID/articles" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"Beste AI-Tools 2026","status":"draft"}' \
  | jq -r .data.id)

# 3) Generar el contenido del artículo (5 créditos, async)
curl -X POST "$BASE/articles/$ART/generate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"keyword":"AI Tools 2026","article_type":"blog","target_length":1500}'

# 4) Polling hasta listo
while [ "$(curl -s "$BASE/articles/$ART" \
  -H "Authorization: Bearer $TOKEN" | jq -r .data.processing_status)" != "ready" ]; do
  sleep 5
done

Workflows detallados de artículos: API de Artículos.

Relacionado: Autenticación y tokens de API · Créditos y rate limits · AI Visibility Tracking.

Letzte Aktualisierung: 1 de mayo de 2026

Cookies: Utilizamos cookies necesarias para el funcionamiento y opcionales para mejoras. Detalles

Necesarias
Activo
Analítica
Marketing