wp_get_page
Get one WordPress page's content as an editable node list. For Elementor pages, returns normalized nodes (headings, text, buttons, images, links) with their element ids — use these to plan edits. Read-only.
A whole page can be ~18k tokens. WORK IN TWO STEPS:
outline=true → the section/widget skeleton (ids, types, short labels; no field values). Cheap. Find your target here.
node_id= → only that element's subtree. Also: widget_type=icon-box (only those widgets), search=Doctor (only matching nodes), include_styles=true (each widget's current style settings, so you never have to guess Elementor keys). post_content is omitted unless include_content=true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max nodes per response (default 120) | |
| cursor | No | Node-pagination offset from a previous response's next_cursor (responses are always complete JSON — never truncated mid-node) | |
| detail | No | Output verbosity: "concise" (default) trims long lists to top-25 and caps size; "detailed" returns the full result. | |
| search | No | Only nodes whose value contains this text | |
| node_id | No | Return only this element's subtree (id from outline or a previous read) | |
| outline | No | Return the element skeleton only — no field values, plus css_id / hidden_on / custom_width / link where set (enough for a navigation or UX audit without subtree reads). Start here on a big page. | |
| post_id | Yes | The WordPress post/page ID (integer) | |
| site_id | Yes | The WordPress site ID | |
| self_only | No | With node_id: return that element ONLY, no descendants — e.g. a container's own styles (include_styles=true) without its whole subtree | |
| breakpoint | No | desktop | tablet | mobile. With include_styles: each element's EFFECTIVE settings at that width (desktop merged with _tablet/_mobile overrides, visible:true/false, _overridden_keys). With outline: adds visible per row and hidden_at_breakpoint in responsive_summary. Elementor defaults: tablet ≤1024, mobile ≤767. | |
| path_prefix | No | Only nodes under this outline path (e.g. '2' = third top-level section, '2,1') — fetch one section at a time on big pages | |
| widget_type | No | Only nodes of this widget type, e.g. 'icon-box' | |
| include_styles | No | Include each widget's current style settings | |
| include_content | No | Include the full rendered post_content (large; off by default) |