domingo, 30 Ago 2026

Recursos y herramientas exclusivas para expertos en diseño y desarrollo web

Explorar
BiblioWeb

Biblioweb.es

Todo sobre tecnología web

  • Inicio
  • Categorías
    • Desarrollo Web y Plugins
    • IA & Automatización web
    • Ciberseguridad y Seguridad Web
    • Plugins de WordPress
    • Solución errores web
    • Hosting & Rendimiento Web
  • WordPress
    • Todo sobre WordPress
    • Plugins de WordPress
    • Desarrollo Web y Plugins
    • IA y Automatización web
    • WooCommerce
    • Hosting y Rendimiento Web
    • Ciberseguridad y Seguridad Web
    • Solución de errores web
    • Tiendas online y Funnels
  • Sobre Plugins
    • Yoast Seo
    • Woocommerce
    • Rank Math SEO
    • AI Engine
    • WP Rocket
    • WPCode
    • WP Translate Master
    • CartBounty
    • WP SEO Pro
  • Herramientas
    • Generador de Contraseñas
    • Generador de Código QR
    • Contador de Palabras
    • Formateador JSON
    • Compresor de Vídeo para Web
    • Generador de Firmas de Email
    • Conversor Imagenes a WebP
    • Comprobador de Correos Electrónicos
  • Biblioteca plugins
  • Español ✓
  • English
  • 🇨🇳 中文(简体)
  • Français
  • Deutsch
  • Italiano
Historial
  • Worpdress
  • Plugins wordpress
  • Crear pagina web
  • Woocommerce
  • Trucos wordpress
  • Ver todo
BiblioWebBiblioWeb
Redimensionador de fuentesAa
  • Historial de Noticias
Buscar
  • Inicio
  • Categorias
    • Desarrollo Web y Plugins
    • IA & Automatización web
    • Ciberseguridad y Seguridad Web
    • Plugins de WordPress
    • Woocommerce
    • Hosting & Rendimiento Web
    • Solución de problemas y errores web
    • Tiendas online & Embudos de Ventas (Funnels)
  • WordPress
    • Todo sobre WordPress
    • Plugins de WordPress
    • Desarrollo Web y Plugins
    • IA y Automatización web
    • WooCommerce
    • Hosting y Rendimiento Web
    • Ciberseguridad y Seguridad Web
    • Solución de errores web
    • Tiendas online y Funnels
  • Sobre Plugins
    • Rank Math SEO
    • AI Engine
    • WP Rocket
    • WPCode
    • WP Translate Master
    • CartBounty
    • WP SEO Pro
  • Blog
    • Español ✓
    • English
    • 🇨🇳 中文(简体)
    • Français
    • Deutsch
    • Italiano
  • Mi cuenta
    • Historial de Noticias
  • Herramientas
    • Generador de Contraseñas
    • Generador de Código QR
    • Contador de Palabras
    • Formateador JSON
    • Conversor Imagenes a WebP
    • Comprobador de Correos Electrónicos
    • Compresor de Vídeo para Web
    • Generador de Firmas de Email
Have an existing account? Sign In
Síguenos
© 2026 BiblioWeb — Todos los derechos reservados.
Portada » Blog » La REST API de WordPress: qué es y cómo usarla
Desarrollo Web y Plugins

La REST API de WordPress: qué es y cómo usarla

Adrián Alcalá
Last updated: 08/08/2026 18:37
Por Adrián Alcalá
Compartir
14 Min Read
La REST API de WordPress: qué es y cómo usarla
COMPARTIR

Tu WordPress no es solo una web: también es un servidor de datos. Desde la versión 4.7, la REST API de WordPress viene integrada en el núcleo y expone entradas, páginas, usuarios, medios y taxonomías en formato JSON, listos para ser leídos o modificados desde cualquier aplicación externa: una app móvil, un script de automatización, otra web o un panel de control a medida. Es la tecnología que hace funcionar el editor de bloques, la que usan miles de integraciones y la puerta de entrada al llamado WordPress «headless». Y, sin embargo, muchos usuarios avanzados no la han explorado nunca. En esta guía práctica veremos qué es exactamente la REST API de WordPress, cómo están organizados sus endpoints, cómo autenticarte de forma segura con Application Passwords, cómo leer y crear contenido con ejemplos reales (desde el navegador, con JavaScript y con PHP), cómo crear tus propios endpoints y qué precauciones de seguridad conviene tomar. Todo con código funcional que puedes probar hoy en tu propia web.

Contents
Qué es la REST API de WordPress y para qué sirveEndpoints principales: el mapa de la APIAutenticación con Application PasswordsLeer y crear contenido: ejemplos con JavaScriptCrear tus propios endpoints con register_rest_routeSeguridad: qué exponer y qué protegerPreguntas frecuentesConclusión

Qué es la REST API de WordPress y para qué sirve

Una API REST es una interfaz que permite a dos sistemas comunicarse sobre HTTP usando las operaciones clásicas del protocolo: GET para leer, POST para crear, PUT/PATCH para actualizar y DELETE para borrar. La respuesta llega en JSON, un formato de texto ligero que cualquier lenguaje entiende. En el caso de WordPress, eso significa que todo lo que gestionas desde el escritorio (entradas, páginas, comentarios, categorías, usuarios, medios) tiene también una «puerta trasera» estructurada y oficial para máquinas.

Casos de uso reales donde la REST API de WordPress marca la diferencia:

  • Automatización: publicar o actualizar contenido desde scripts, hojas de cálculo o herramientas como n8n y Make.
  • Headless WordPress: usar WordPress solo como gestor de contenido y montar el frontend con React, Vue o Astro.
  • Apps móviles: la app oficial de WordPress funciona íntegramente sobre esta API.
  • Integraciones entre webs: mostrar en una web los últimos artículos de otra, sincronizar catálogos, centralizar publicación.
  • Paneles a medida: dashboards que leen y escriben en WordPress sin pasar por wp-admin.

La API es también la base de integraciones modernas con inteligencia artificial: plugins como AI Engine, que convierte tu WordPress en un agente de IA, se apoyan en ella para exponer el contenido a asistentes externos.

Endpoints principales: el mapa de la API

Todo empieza en una URL: https://tudominio.com/wp-json/. Ábrela en el navegador y verás el índice completo de rutas disponibles. Los endpoints del núcleo cuelgan del espacio de nombres wp/v2:

Endpoint Contenido
/wp-json/wp/v2/posts Entradas del blog
/wp-json/wp/v2/pages Páginas
/wp-json/wp/v2/media Biblioteca de medios
/wp-json/wp/v2/categories Categorías
/wp-json/wp/v2/tags Etiquetas
/wp-json/wp/v2/users Usuarios (datos públicos)
/wp-json/wp/v2/comments Comentarios
/wp-json/wp/v2/search Búsqueda global

Cada endpoint de colección admite parámetros de consulta muy útiles: ?per_page=5 limita resultados, ?search=wordpress busca, ?categories=12 filtra por categoría, ?orderby=date&order=asc ordena y ?_fields=id,title,link devuelve solo los campos que pidas, aligerando la respuesta. Para un elemento concreto se añade su ID: /wp-json/wp/v2/posts/123.

También te podría interesar

Custom Post Types en WordPress: guía completa
Los 5 plugins esenciales de WordPress para principiantes
Cómo elegir el tema perfecto para diseñar tu web en WordPress
Qué es Elementor y cómo usarlo: guía para empezar

Las respuestas JSON de WordPress llegan sin formato, en una sola línea difícil de leer. Un truco de flujo de trabajo: pega la respuesta en nuestro formateador y validador JSON gratuito y tendrás el árbol indentado y coloreado para inspeccionarlo con comodidad.

Paginación: las cabeceras que debes conocer

Los endpoints de colección devuelven como máximo 100 elementos por petición (10 por defecto). Para recorrer catálogos grandes, la API incluye en cada respuesta dos cabeceras HTTP: X-WP-Total, con el número total de elementos, y X-WP-TotalPages, con el número de páginas disponible según tu per_page. Basta con iterar añadiendo ?page=2, ?page=3 y así sucesivamente hasta alcanzar la última. Si pides una página inexistente, la API responde con un error 400 con el código rest_post_invalid_page_number, una señal cómoda para detener el bucle en scripts de exportación o migración.

Autenticación con Application Passwords

Leer contenido público no requiere identificarse, pero crear, editar o borrar sí. Desde WordPress 5.6 el método integrado y recomendado son las Application Passwords (contraseñas de aplicación): claves específicas por aplicación, revocables individualmente y que no exponen tu contraseña real.

Para crear una: entra en Usuarios → Perfil, baja hasta «Contraseñas de aplicación», escribe un nombre descriptivo (por ejemplo «Script de publicación») y pulsa crear. WordPress te mostrará una sola vez una clave con el formato xxxx xxxx xxxx xxxx xxxx xxxx. Guárdala en un gestor de contraseñas o en un fichero de variables de entorno, nunca en el código fuente.

La clave se usa con autenticación HTTP Basic: usuario y contraseña de aplicación codificados en Base64 en la cabecera Authorization. Requisito imprescindible: la web debe servirse por HTTPS, porque en HTTP plano las credenciales viajarían expuestas.

Prueba rápida desde la terminal con curl:

curl -X POST https://tudominio.com/wp-json/wp/v2/posts \
  -u "tu_usuario:xxxx xxxx xxxx xxxx xxxx xxxx" \
  -H "Content-Type: application/json" \
  -d '{"title":"Borrador desde la API","status":"draft"}'

Si la respuesta es un JSON con el ID del nuevo borrador, la autenticación funciona. Cada permiso depende del rol del usuario: una contraseña de aplicación de un suscriptor no podrá publicar entradas.

Leer y crear contenido: ejemplos con JavaScript

Veamos la API en acción con fetch, tal y como lo harías en una web externa o una aplicación. Primero, leer los últimos artículos de un blog (sin autenticación, contenido público):

const API = 'https://tudominio.com/wp-json/wp/v2';

async function ultimasEntradas() {
  const res = await fetch(`${API}/posts?per_page=5&_fields=id,title,link,date`);
  if (!res.ok) {
    throw new Error('Error HTTP ' + res.status);
  }
  const posts = await res.json();
  posts.forEach((post) => {
    console.log(`${post.date} — ${post.title.rendered} — ${post.link}`);
  });
}

ultimasEntradas();

Y ahora, crear una entrada autenticándonos con una Application Password (esto debe ejecutarse en un entorno servidor o script privado, nunca en el navegador de tus visitantes, porque expondría la clave):

const usuario = 'tu_usuario';
const clave   = 'xxxx xxxx xxxx xxxx xxxx xxxx';
const token   = Buffer.from(`${usuario}:${clave}`).toString('base64');

async function crearEntrada() {
  const res = await fetch('https://tudominio.com/wp-json/wp/v2/posts', {
    method: 'POST',
    headers: {
      'Authorization': `Basic ${token}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      title: 'Publicado por la REST API',
      content: '<p>Este contenido lo ha creado un script.</p>',
      status: 'draft',
      categories: [12],
    }),
  });
  const data = await res.json();
  if (!res.ok) {
    throw new Error(data.message || 'Error al crear la entrada');
  }
  console.log('Creada con ID', data.id, '→', data.link);
}

crearEntrada();

Fíjate en el detalle de title.rendered al leer: la API devuelve los campos de texto como objetos con las variantes rendered (HTML final) y, si estás autenticado con permisos de edición y añades ?context=edit, también raw (contenido original).

Crear tus propios endpoints con register_rest_route

La API del núcleo cubre el contenido estándar, pero el verdadero potencial llega cuando expones datos propios. Con register_rest_route() puedes crear rutas personalizadas bajo tu propio espacio de nombres. Ejemplo completo: un endpoint que devuelve estadísticas básicas del sitio, con un parámetro validado y control de permisos:

<?php
add_action( 'rest_api_init', function () {
    register_rest_route( 'biblioweb/v1', '/estadisticas', array(
        'methods'             => 'GET',
        'callback'            => 'biblioweb_api_estadisticas',
        'permission_callback' => '__return_true', // Endpoint público de solo lectura.
        'args'                => array(
            'tipo' => array(
                'default'           => 'post',
                'sanitize_callback' => 'sanitize_key',
                'validate_callback' => function ( $valor ) {
                    return post_type_exists( $valor );
                },
            ),
        ),
    ) );
} );

function biblioweb_api_estadisticas( WP_REST_Request $request ) {
    $tipo     = $request->get_param( 'tipo' );
    $conteo   = wp_count_posts( $tipo );
    $usuarios = count_users();

    return rest_ensure_response( array(
        'tipo'        => $tipo,
        'publicados'  => (int) $conteo->publish,
        'borradores'  => (int) $conteo->draft,
        'usuarios'    => (int) $usuarios['total_users'],
        'generado_en' => current_time( 'mysql' ),
    ) );
}

Tras guardar este código (en un plugin o snippet), tu nuevo endpoint responde en https://tudominio.com/wp-json/biblioweb/v1/estadisticas?tipo=page. Tres reglas de oro: usa siempre un espacio de nombres propio con versión (biblioweb/v1), define permission_callback explícitamente (es obligatorio desde WordPress 5.5; para endpoints privados usa una comprobación como current_user_can( 'edit_posts' )) y valida cada parámetro de entrada. La referencia completa está en el manual oficial de la REST API de WordPress.

Seguridad: qué exponer y qué proteger

La REST API de WordPress es segura por diseño (solo expone lo que ya es público y exige permisos para escribir), pero conviene ajustar algunos detalles:

  • Enumeración de usuarios: el endpoint /wp/v2/users lista autores con contenido publicado, lo que facilita a un atacante conocer nombres de usuario válidos. Muchos plugins de seguridad lo restringen; también puede filtrarse por código para requerir autenticación.
  • HTTPS obligatorio: sin certificado SSL, las Application Passwords viajan en claro. No hay excepción razonable a esta regla.
  • Principio de mínimo privilegio: crea las contraseñas de aplicación con un usuario cuyo rol tenga solo los permisos que la integración necesita, y revócalas cuando dejen de usarse.
  • No desactives la API a lo bruto: el editor de bloques y muchos plugins dependen de ella. Si quieres limitarla, exige autenticación con el filtro rest_authentication_errors en lugar de bloquearla por completo.
  • Limita la superficie: los endpoints personalizados públicos deben devolver solo datos que no te importe que sean visibles para cualquiera.

Estas precauciones encajan dentro de una estrategia general de endurecimiento; si quieres repasarla, tenemos una guía con trucos para reforzar la seguridad de tu WordPress.

Preguntas frecuentes

¿La REST API de WordPress está activa en mi web?

Casi con total seguridad, sí: viene activada de serie desde WordPress 4.7 (2016). Compruébalo visitando tudominio.com/wp-json/: si ves un JSON con el nombre de tu sitio y el listado de rutas, está operativa. Si devuelve un 404, revisa los enlaces permanentes o algún plugin de seguridad que la esté bloqueando.

¿Es peligroso tener la API activada?

No más que tener la web publicada. La API de lectura solo expone contenido que ya es público en tu web, y toda operación de escritura exige autenticación y permisos. Los dos ajustes sensatos son restringir el listado de usuarios y asegurarte de servir todo por HTTPS. Desactivarla por completo suele causar más problemas de los que evita.

¿Puedo usar la API con custom post types y campos personalizados?

Sí. Los custom post types aparecen en la API si se registraron con show_in_rest => true, y obtienen su propio endpoint (por ejemplo /wp/v2/proyecto). Los campos personalizados se exponen con register_post_meta() marcando también show_in_rest, o con el campo meta de la propia entrada si el plugin que los crea lo soporta.

¿Qué diferencia hay entre la REST API y WPGraphQL?

La REST API es el estándar del núcleo: cada tipo de dato tiene su endpoint y las respuestas tienen estructura fija. GraphQL (vía el plugin WPGraphQL) permite pedir exactamente los campos que necesitas en una sola consulta, lo que gusta en proyectos headless complejos. Para automatizaciones, integraciones y la mayoría de proyectos, la REST API es más simple, no requiere plugins y está soportada oficialmente.

Conclusión

La REST API de WordPress convierte tu web en una plataforma programable: un índice claro de endpoints bajo /wp-json/wp/v2/, autenticación integrada con Application Passwords sobre HTTPS y la posibilidad de ampliar el mapa con rutas propias mediante register_rest_route(). Con lo visto en esta guía puedes leer contenido público desde cualquier aplicación, publicar y editar mediante scripts autenticados, exponer datos a medida con validación y permisos, y hacerlo con las precauciones de seguridad adecuadas. El mejor camino para interiorizarla es práctico: abre tudominio.com/wp-json/wp/v2/posts?per_page=3 en el navegador, pasa la respuesta por un formateador JSON para entender su estructura, crea tu primera Application Password y lanza un borrador desde curl. En quince minutos habrás cruzado la puerta que separa usar WordPress de programar con WordPress.

Compartir este artículo
Correo electrónico Copiar enlace Imprimir
PorAdrián Alcalá
Follow:
Adrián Alcalá es desarrollador WordPress y consultor SEO, autor del plugin WP Translate y creador de BiblioWeb. Desde aquí comparte guías, tutoriales y herramientas gratuitas para quienes crean, optimizan y posicionan páginas web. Lleva años ayudando a negocios de toda España a sacar el máximo partido a WordPress, y todo lo que publica está probado en proyectos reales.
Artículo anterior Custom Post Types en WordPress: guía completa Custom Post Types en WordPress: guía completa
Artículo siguiente Los mejores plugins de caché para WordPress Los mejores plugins de caché para WordPress
como instalar wordpress - ¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (
¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (¡Te lo ponemos fácil!).
Wordpress
como instalar wordpress - ¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfe
¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfecto (¡y que tu web vuele!)
Wordpress
Mejores recursos para aprender WordPress
Los mejores recursos para aprender WordPress en español
Wordpress
como instalar wordpress - ¡Adiós al miedo! Cómo instalar WordPress en tu propio servidor local (¡Perfecto para experimentar s
¡Adiós al miedo! Cómo instalar WordPress en tu propio servidor local (¡Perfecto para experimentar sin riesgos y crear tu #CrearPaginaWeb!)
Wordpress
Anuncio

También te puede interesar

Comparativa constructores web — ilustración sobre Más allá de Framer y Webflow: La comparativa de constructores web que interesa a tu agencia WordPress
Desarrollo Web y Plugins

Más allá de Framer y Webflow: La comparativa de constructores web que interesa a tu agencia WordPress

24/08/2026
Hooks de WordPress: actions y filters explicados
Desarrollo Web y Plugins

Hooks de WordPress: qué son los actions y filters

08/08/2026
Conectar Google Sheets con WordPress
Desarrollo Web y Plugins

Cómo conectar Google Sheets con WordPress

24/08/2026
Entornos de desarrollo para WordPress en la nube
Desarrollo Web y Plugins

Entornos de desarrollo para WordPress en la nube

24/08/2026
Mostrar más
  • Más Noticias:
  • WordPress
  • Instalar
  • Guía
  • CrearPaginaWeb
  • como instalar wordpress
  • Crear
  • instalación
  • futuro
  • Descubre
  • Yoast
  • Complementos
  • trucos
  • wordpress instalacion
  • Adiós
  • Pasarelas
  • página
  • Crear página web
  • truco
  • Error
  • Construcción
BiblioWeb

Biblioweb.es

Actualidad de tecnología web

Información en la que puedes confiar: guías y soluciones prácticas de tecnología web — WordPress, plugins, ciberseguridad, hosting, rendimiento y solución de errores.

Rss

Enlaces de interés

  • Sobre nosotros
  • Contacto
  • Herramientas gratuitas
  • Pluginteca

¡Suscríbete ahora para recibir actualizaciones en tiempo real sobre las últimas noticias!

Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de cookies
  • Política de Privacidad

Ultimas novedades

como instalar wordpress - ¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (

¡Tu primera web en marcha! 🎉 Cómo instalar WordPress sin estrés y con la confianza de un experto (¡Te lo ponemos fácil!).

25/08/2026
Seguir leyendo
como instalar wordpress - ¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfe

¿Quieres saber cómo instalar WordPress como un PRO? 🚀 Guía definitiva para elegir el hosting perfecto (¡y que tu web vuele!)

24/08/2026
Seguir leyendo

© 2026 BiblioWeb — Todos los derechos reservados.

Gestionar consentimiento
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios (no) personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o los ID's únicos en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
  • Administrar opciones
  • Gestionar los servicios
  • Gestionar {vendor_count} proveedores
  • Leer más sobre estos propósitos
Ver preferencias
  • {title}
  • {title}
  • {title}
Welcome to Foxiz
Username or Email Address
Password

Lost your password?