Crawl data
Retrieve Screpy crawl pages, links, images, on-page findings, and Quick Wins through the REST API.
Read one completed crawl at a time
Choose the data endpoint that answers the decision you are making: use overview data for a broad status check, then pages, links, images, on-page findings, or Quick Wins for the underlying work. Select the completed crawl first through crawls.
Always keep the project and crawl scope together. Paginate through large result sets and do not combine rows from different crawls when reporting a single audit result. Use comparisons when the question is about change between baselines.
/projects/{project_uid}/crawls/{crawl_uid}/on-page-overviewAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/on-page-overview"{ "data": { "summary": { "status": "string", "finished_at": "2019-08-24T14:15:22Z", "health_score": 0, "health_score_version": 0, "health_score_confidence": 0, "health_score_coverage": 0, "health_score_groups": [ null ], "health_score_delta": 0, "pages_total": 0, "critical_issues": 0, "warnings": 0, "notices": 0, "issues_total": 0, "avg_response_time_ms": 0, "duration_seconds": 0, "broken_links": 0, "total_images_count": 0, "missing_metadata": 0, "issues_added": 0, "issues_fixed": 0 }, "trends": [ null ], "groups": [ null ], "coverage": [ null ] }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/quick-winsThe selected crawl verifies access and completion. Result rows vary by quick-win type.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Value in
- "strikingDistancePages"
- "ctrOpportunities"
- "newContentOpportunities"
- "secondPageKeywords"
- "lostQueries"
- "risingQueries"
- "fallingQueries"
- "risingPages"
- "fallingPages"
Value in
- "7d"
- "28d"
- "3m"
- "6m"
Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/quick-wins"{ "data": [ {} ], "links": { "next": "http://example.com" }, "meta": { "next_cursor": "string", "range": "7d", "warnings": [ "string" ] }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/pagesLists pages from a completed crawl. Send filters as indexed PHP-style query
arrays, such as filters[0][field]=status_code&filters[0][operator]=eq&filters[0][value]=440.
Authorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Up to 20 indexed PHP-style filter objects. Example:
filters[0][field]=status_code&filters[0][operator]=eq&filters[0][value]=440.
properties <= 20Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/pages"{ "data": [ { "url": "http://example.com", "final_url": "http://example.com", "domain": "string", "status_code": 0, "content_type": "string", "title": "string", "title_length": 0, "description": "string", "description_length": 0, "h1": "string", "h1_count": 0, "h2_count": 0, "words_count": 0, "content_ratio": 0, "depth": 0, "response_time_ms": 0, "response_bytes": 0, "canonical": "string", "canonical_present": true, "canonical_matches_final_url": true, "json_ld_count": 0, "og_required_tags_present": true, "twitter_card_present": true, "total_links_count": 0, "external_links_count": 0, "internal_links_count": 0, "total_images_count": 0, "missing_alt_images_count": 0, "fetched_at": "2019-08-24T14:15:22Z" } ], "links": { "next": "http://example.com" }, "meta": { "limit": 0, "next_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/pages/detailAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Exact crawled HTTP or HTTPS page URL.
^https?://urilength <= 2048Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/pages/detail?url=http%3A%2F%2Fexample.com"{ "data": { "url": "http://example.com", "final_url": "http://example.com", "domain": "string", "status_code": 0, "content_type": "string", "title": "string", "title_length": 0, "description": "string", "description_length": 0, "h1": "string", "h1_count": 0, "h2_count": 0, "words_count": 0, "content_ratio": 0, "depth": 0, "response_time_ms": 0, "response_bytes": 0, "canonical": "string", "canonical_present": true, "canonical_matches_final_url": true, "json_ld_count": 0, "og_required_tags_present": true, "twitter_card_present": true, "total_links_count": 0, "external_links_count": 0, "internal_links_count": 0, "total_images_count": 0, "missing_alt_images_count": 0, "fetched_at": "2019-08-24T14:15:22Z" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/linksAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Up to 20 indexed PHP-style filter objects.
properties <= 20Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/links"{ "data": [ { "destination_url": "string", "target_domain": "string", "is_external": true, "link_count": 0, "source_pages": 0, "broken_link_count": 0, "nofollow_link_count": 0 } ], "links": { "next": "http://example.com" }, "meta": { "limit": 0, "next_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/links/sourcesAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Exact HTTP or HTTPS destination URL.
^https?://urilength <= 2048Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/links/sources?destination_url=http%3A%2F%2Fexample.com"{ "data": [ { "source_url": "string", "source_status_code": 0, "anchor_text": "string", "fetch_status_code": 0, "is_nofollow": true, "target_blank": true } ], "links": { "next": "http://example.com" }, "meta": { "limit": 0, "next_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/imagesAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Up to 20 indexed PHP-style filter objects.
properties <= 20Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/images"{ "data": [ { "image_url": "string", "alt": "string", "width": 0, "height": 0, "fetch_status_code": 0, "is_external": true, "is_data_uri": true, "is_svg": true, "has_srcset": true, "source_pages": 0 } ], "links": { "next": "http://example.com" }, "meta": { "limit": 0, "next_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}/projects/{project_uid}/crawls/{crawl_uid}/images/sourcesAuthorization
bearerApiKey Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
Accessible project UID. Discover it with GET /projects; do not guess it.
^[a-z0-9]{10}$Crawl UID belonging to the selected project. Discover it with GET /projects/{project_uid}/crawls.
^[a-z0-9]{16}$Query Parameters
Exact HTTP or HTTPS image URL.
^https?://urilength <= 2048Maximum records to return. Defaults to 50.
1 <= value <= 10050Opaque cursor returned by the prior response. Do not construct or alter it.
length <= 512Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/crawls/string/images/sources?image_url=http%3A%2F%2Fexample.com"{ "data": [ { "source_url": "string", "source_status_code": 0, "alt": "string", "width": 0, "height": 0, "fetch_status_code": 0 } ], "links": { "next": "http://example.com" }, "meta": { "limit": 0, "next_cursor": "string" }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string", "errors": { "property1": [ "string" ], "property2": [ "string" ] }}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}