Page Data Tools and Filters
Query SEO page records with structured filters for status, metadata, headings, canonicals, depth, response performance, links, images, and structured data.
list_pages is the main evidence tool for on-page SEO analysis. It supports typed, allowlisted fields and structured operators so an agent can retrieve a precise result set instead of scanning an unrestricted export.
Page tools
list_pages
Returns filtered page records for a known project and crawl.
get_page_details
Returns more detail for one page. Use it after a filtered query identifies a representative or business-critical URL.
list_quick_wins
Returns detected opportunities. Verify each important opportunity with list_pages, list_links, or list_images.
Filterable fields
| Type | Examples |
|---|---|
| Numeric | status_code, title_length, description_length, h1_count, h2_count, words_count, depth, response_time_ms, response_bytes, json_ld_count |
| Link and image counts | total_links_count, internal_links_count, external_links_count, total_images_count, missing_alt_images_count |
| Boolean | canonical_present, canonical_matches_final_url, og_required_tags_present, twitter_card_present |
| String | url, final_url, domain, content_type, title, description, h1, canonical, fetched_at |
Filter examples
Find a specific status code
Use list_pages with status_code eq 404.
Return URL, final URL, title, depth, and internal link count.Find deep HTML pages
Use list_pages with content_type contains "text/html" and depth gte 4.
Group results by the first meaningful URL path segment.Find canonical conflicts
Use list_pages where canonical_present eq true
and canonical_matches_final_url eq false.
Show URL, final URL, and canonical.Find pages with missing-alt candidates
Use list_pages where missing_alt_images_count gt 0.
Sort the reviewed results by missing_alt_images_count descending.Operators
Use eq, neq, gt, gte, lt, lte, in, contains, or is_null according to field type. Numeric comparisons require numeric fields. contains applies to string fields.
Better answers through bounded queries
Ask one question per query, use a deterministic filter, and request a representative sample when the result set is large. This makes the result easier to reproduce and reduces the chance that an agent overgeneralizes from an arbitrary subset.
Related documentation