WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by Jonny Harris v2.0.0

REST API blocks

Add gutenberg blocks data into the post / page REST API endpoints.

REST API blocks

The facts

Rating
5★ from 2
Active installs
200+
Price
Free
Last updated
3 Jan 2026
Added
Aug 2021
Requires WP
5.9
Tested up to
WP 6.9.7
Requires PHP
7.4
Downloads
7,489

Our analysis

AI-assisted

REST API blocks is a WordPress plugin that adds block data in JSON format to the REST API. Once installed, it introduces two new fields: 'has_blocks' and 'blocks', which provide information about blocks used in posts or pages.

This plugin is designed for developers who need to access block data through the REST API, facilitating integration with other applications or services that use this data format.

Best for: Developers looking to integrate block data into applications using the WordPress REST API.

What it does well

  • Adds block data in JSON format to the REST API
  • Introduces 'has_blocks' and 'blocks' fields
  • Free to use and available on WordPress.org
  • Active installation count of 200

Where it falls short

  • Limited information on additional features or capabilities

Verdict

REST API blocks offers a straightforward solution for accessing block data via the REST API, though it may not provide extensive features beyond this functionality.

From the developer

Jonny Harris's own description of REST API blocks, lightly tidied.

A simple plugin to add block data in json format into the rest api. Once installed, there will be two new fields added to the rest api, has_blocks and blocks.
For example output.
"has_blocks": true, "block_data": [ { "blockName": "core/image", "attrs": { "url": "https://www.spacedmonkey.com/wp-content/uploads/2018/12/test-image.jpg", "alt": "Terminal de aeropuerto", "caption": "fsfsdfdsfdssfd", "href": "https://www.spacedmonkey.com/test-image", "rel": "noreferrer noopener", "linkClass": "jonny-123", "linkTarget": "_blank", "id": 147355, "width": 582, "height": 327, "linkDestination": "attachment" }, "innerBlocks": [ ], "innerHTML": "\n<figure class=\"wp-block-image is-resized\"><a class=\"jonny-123\" href=\"https://www.spacedmonkey.com/test-image\" target=\"_blank\" rel=\"noreferrer noopener\"><img src=\"https://www.spacedmonkey.com/wp-content/uploads/2018/12/test-image.jpg\" alt=\"Terminal de aeropuerto\" class=\"wp-image-147355\" width=\"582\" height=\"327\"/></a><figcaption>fsfsdfdsfdssfd</figcaption></figure>\n", "innerContent": [ "\n<figure class=\"wp-block-image is-resized\"><a class=\"jonny-123\" href=\"https://www.spacedmonkey.com/test-image\" target=\"_blank\" rel=\"noreferrer noopener\"><img src=\"https://www.spacedmonkey.com/wp-content/uploads/2018/12/test-image.jpg\" alt=\"Terminal de aeropuerto\" class=\"wp-image-147355\" width=\"582\" height=\"327\"/></a><figcaption>fsfsdfdsfdssfd</figcaption></figure>\n" ], "rendered": "\n<figure class=\"wp-block-image is-resized\"><a class=\"jonny-123\" href=\"https://www.spacedmonkey.com/test-image\" target=\"_blank\" rel=\"noreferrer noopener\"><img src=\"https://www.spacedmonkey.com/wp-content/uploads/2018/12/test-image.jpg\" alt=\"Terminal de aeropuerto\" class=\"wp-image-147355\" width=\"582\" height=\"327\"/></a><figcaption>fsfsdfdsfdssfd</figcaption></figure>\n" } ],

Technical Notes

  • Requires PHP 5.6+.
  • Requires WordPress 5.5+.
  • Issues and Pull requests welcome on the GitHub repository: https://github.com/spacedmonkey/wp-rest-blocks

Development

This plugin uses @wordpress/env for local development and testing.

Prerequisites

  • Node.js 20+ and npm
  • Docker Desktop (must be installed and running)

Setup

  1. Clone the repository
  2. Install dependencies:
    bash npm install composer install

  3. Start the WordPress environment:
    bash npm run env:start

    This will start a local WordPress instance at http://localhost:8888 (admin: http://localhost:8888/wp-admin with username admin and password password)

    Note: Docker must be running for this to work. The first time you run this, it will download WordPress and set up the database, which may take a few minutes.

Available Commands

  • npm run env:start – Start the WordPress environment
  • npm run env:stop – Stop the WordPress environment
  • npm run env:reset – Reset the environment (clean database)
  • npm run env:destroy – Destroy the environment completely
  • npm run test:php – Run PHPUnit tests
  • npm run test:php:multisite – Run PHPUnit tests in multisite mode
  • npm run lint:php – Run PHP CodeSniffer
  • npm run lint:php:fix – Fix PHP coding standards issues automatically

Running Tests

After starting the environment with npm run env:start, you can run the tests:

`bash

npm run test:php
`

For multisite tests:

Read the full description on the official page →

Tagged as

Alternatives

Other plugins for integrating services.

LocoAI

LocoAI

89

LocoAI - Auto Translate For Loco Translate is a powerful tool for developers looking to quickly translate thei...

Free 70k+ installs 4.9★ (637)
Uncanny Automator

The AI + Automation plugin for WordPress. Automate workflows across all your plugins and apps, add an AI agent...

Free 40k+ installs 4.9★ (156)
Open User Map

Create custom interactive maps with free Leaflet-based styles, no Google Maps API key, frontend marker submiss...

Free 10k+ installs 5★ (67)
Activity Log

Monitor every change on your WordPress site — who did what, when, and where it came from — for a complete audi...

Free 200k+ installs 4.3★ (74)
Reviews Feed

No API key required. Display Yelp and Google reviews for any business in a clean, customizable feed on your si...

Free 100k+ installs 4.4★ (34)
Bit integrations

Contact Form, Google Sheet, MailChimp, Brevo, Webhook, Zoho CRM Automation and Integration plugin that Connect...

Free 20k+ installs 4.9★ (160)