{"id":89,"date":"2026-08-26T08:06:20","date_gmt":"2026-08-26T08:06:20","guid":{"rendered":"https:\/\/usestackpulse.com\/api-rest-wordpress-react\/"},"modified":"2026-08-30T19:13:04","modified_gmt":"2026-08-30T19:13:04","slug":"api-rest-wordpress-react","status":"publish","type":"page","link":"https:\/\/usestackpulse.com\/en\/api-rest-wordpress-react\/","title":{"rendered":"Consume WordPress REST API from React"},"content":{"rendered":"<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\" style=\"padding-top:32px;padding-right:24px;padding-bottom:8px;padding-left:24px\">\n<p class=\"usp-eyebrow wp-block-paragraph\">Home \/ CMS &amp; DEV \/ WordPress REST API<\/p>\n\n\n\n<p class=\"usp-badge wp-block-paragraph\">CMS &amp; DEV<\/p>\n\n\n\n<h1 class=\"wp-block-heading usp-h1\">Consume WordPress REST API from React<\/h1>\n\n\n\n<p class=\"usp-meta wp-block-paragraph\">By the team UseStackPulse Updated on August 26, 2026 6 min reading<\/p>\n\n\n\n<p class=\"usp-lede wp-block-paragraph\">WordPress natively exposes a REST API to \/wp-json\/wp\/v2\/. Here's how to recover your items cleanly from a React application, without additional plugin.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group usp-ad-slot is-layout-flow wp-block-group-is-layout-flow\" style=\"margin-right:24px;margin-bottom:24px;margin-left:24px\">\n<p class=\"usp-ad-label wp-block-paragraph\">Advertising \/ AD Leaderboard 728\u00d790<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-ecfbd4fd wp-block-group-is-layout-flow\" style=\"margin-right:24px;margin-bottom:24px;margin-left:24px\">\n<h2 class=\"wp-block-heading usp-h2\">Retrieve Items with Fetch<\/h2>\n\n\n\n<pre class=\"wp-block-code usp-code\"><code>import { useEffect, useState } from 'react';\n\nfunction ArticlesList() {\n  const &#091;posts, setPosts] = useState(&#091;]);\n\n  useEffect(() =&gt; {\n    fetch('https:\/\/monsite.com\/wp-json\/wp\/v2\/posts?_embed')\n      .then((res) =&gt; res.json())\n      .then((data) =&gt; setPosts(data));\n  }, &#091;]);\n\n  return (\n    <ul>\n      {posts.map((post) =&gt; (\n        <li>{post.title.rendered}<\/li>\n      ))}\n    <\/ul>\n  );\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading usp-h3\">Activate Cors on the WordPress side<\/h3>\n\n\n\n<pre class=\"wp-block-code usp-code\"><code>add_action('rest_api_init', function () {\n    header('Access-Control-Allow-Origin: https:\/\/monapp-react.com');\n    header('Access-Control-Allow-Methods: GET');\n});<\/code><\/pre>\n\n\n\n<p class=\"usp-tip wp-block-paragraph\">Tip: Use _embed in the URL to retrieve the highlighted image and the author in a single query, instead of multiplying API calls.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group usp-ad-slot is-layout-flow wp-block-group-is-layout-flow\" style=\"margin-right:24px;margin-bottom:24px;margin-left:24px\">\n<p class=\"usp-ad-label wp-block-paragraph\">Advertising \/ AD In-article 336\u00d7280<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-b241125f wp-block-group-is-layout-flow\" style=\"margin-right:24px;margin-bottom:40px;margin-left:24px\">\n<h2 class=\"wp-block-heading usp-h2\">frequently asked questions<\/h2>\n\n\n\n<details class=\"wp-block-details usp-faq is-layout-flow wp-block-details-is-layout-flow\"><summary>Do you need a plugin to activate the REST API?<\/summary>\n<p class=\"wp-block-paragraph\" style=\"font-size:13px\">No, it is enabled by default since WordPress 4.7 without additional installation.<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details usp-faq is-layout-flow wp-block-details-is-layout-flow\"><summary>How to post content and not just read it?<\/summary>\n<p class=\"wp-block-paragraph\" style=\"font-size:13px\">You must then authenticate via Application Passwords or JWT and send authenticated POST requests.<\/p>\n<\/details>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Accueil \/ CMS &amp; Dev \/ API REST WordPress CMS &amp; DEV Consommer l&rsquo;API REST WordPress depuis React Par l&rsquo;\u00e9quipe [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_zipai_imported":false,"_zipai_import_id":"","footnotes":""},"class_list":["post-89","page","type-page","status-publish","hentry"],"spectra_blocks_featured_image_url":null,"spectra_blocks_author_info":{"display_name":"usestackpulse","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f2c693076eefeb6a1ac9f8299c6623627456d026be6ffbbb32fd62bd98781cc5?s=96&d=mm&r=g","author_link":"https:\/\/usestackpulse.com\/en\/author\/usestackpulse\/","description":""},"_links":{"self":[{"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/pages\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":2,"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/pages\/89\/revisions"}],"predecessor-version":[{"id":182,"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/pages\/89\/revisions\/182"}],"wp:attachment":[{"href":"https:\/\/usestackpulse.com\/en\/wp-json\/wp\/v2\/media?parent=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}