Adds menu endpoints to core WP REST API.
As of April 2026, WP-REST-API Menus is a WordPress JSON plugin with 70 active installations and a 0/5 rating0. It has been downloaded 2.4K+ times in total. Requires WordPress 4.7.0+ and PHP 5.6+. Available on WordPress.org since 2018. Last updated 8 years ago — may have compatibility concerns. Top alternative: Disable REST API.
This plugin adds “routes” or “endpoints” to WP REST API that allows for retrieval of
menu data as JSON.
Updated port of “WP-REST-API V2 Menus” by Claudio La Barbera (http://www.claudiolabarbera.com)
Usage
Get all registered menus:
GET /wp-menus/v1/menus
https://yourwpsite.com/wp-json/wp-menus/v1/menus
Get menu data as JSON from menu slug:
GET /wp-menus/v1/menus/{slug}
https://yourwpsite.com/wp-json/wp-menus/v1/menus/{slug}
Gets the contents of a registered menu by its “slug”.
When assigning a menu a location in /wp-admin/nav-menus.php?action=locations
the slug is the name of the menu in lowercase and without any spaces like a post slug.
If your menu name is Main Menu:
https://yourwpsite.com/wp-json/menus/v1/wp-menus/main-menu
| WordPress | 4.7.0+ requiredTested up to 4.9.29 |
| PHP | 5.6+ required |
Plugin data sourced from WordPress.org. Analysis and metrics by PluginSift.