EndPointy Menus adds custom REST API routes to expose your WordPress navigation menus as JSON.
Base namespace: endpointy-menus/v1
Endpoints:
GET /wp-json/endpointy-menus/v1/menus
Returns all registered menus with locations and items.
GET /wp-json/endpointy-menus/v1/menus/<id>
Returns a single menu and its items by menu ID.
GET /wp-json/endpointy-menus/v1/locations
Returns all registered menu locations with assigned menus.
GET /wp-json/endpointy-menus/v1/locations/<location>
Returns a menu assigned to a specific location (e.g., ‘primary’, ‘footer’).
Query Parameters:
nested=true – Returns menu items in a hierarchical tree structure with parent-child relationships./wp-json/endpointy-menus/v1/menus/2?nested=trueThis is useful for headless WordPress setups or any external app that needs to read your menu structure.
Example requests:
Get all menus:
https://your-site.com/wp-json/endpointy-menus/v1/menus
Get single menu by ID:
https://your-site.com/wp-json/endpointy-menus/v1/menus/2
Get all menu locations:
https://your-site.com/wp-json/endpointy-menus/v1/locations
Get menu by location (e.g., ‘primary’):
https://your-site.com/wp-json/endpointy-menus/v1/locations/primary
Get nested menu structure:
https://your-site.com/wp-json/endpointy-menus/v1/menus/2?nested=true
https://your-site.com/wp-json/endpointy-menus/v1/locations/primary?nested=true
Use these URLs directly from your front-end application or API client.
If you find this plugin useful, you can support the developer:
Contributions, issues, and feature requests are welcome!
GitHub: https://github.com/gunjanjaswal/Endpointy-Menus
Issues: https://github.com/gunjanjaswal/Endpointy-Menus/issues