Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Amaculus/screaming-frog-api/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Callcrawl.compare(other) to compare two Crawl instances. The returned CrawlDiff holds four change buckets (status, title, redirect, field) plus lists of added and removed pages.
CrawlDiff
Returned bycrawl.compare(other, ...). Frozen dataclass.
Fields
URLs present in the new crawl but not in the old crawl.
URLs present in the old crawl but not in the new crawl.
Pages whose HTTP status code changed between the two crawls.
Pages whose title changed.
Pages whose redirect target or redirect type changed.
Pages where one or more of the tracked field groups changed (canonical, meta description, H1-3, word count, indexability, robots directives, etc.).
Methods
.summary() → dict[str, int]
Return counts for each change bucket plus a total_changes key.
.to_rows() → list[dict[str, Any]]
Flatten all change buckets into a single list of dicts, each with a change_type key.
Each row has at minimum:
| Key | Description |
|---|---|
change_type | One of added_page, removed_page, status_change, title_change, redirect_change, field_change |
url | The affected URL |
change_type:
status_change
status_change
field:"Status Code"old_value: previous status codenew_value: new status code
title_change
title_change
field:"Title 1"old_value: previous titlenew_value: new title
redirect_change
redirect_change
field:"Redirect URL"old_value: previous redirect targetnew_value: new redirect targetold_type: previous redirect typenew_type: new redirect type
field_change
field_change
field: the field group name (e.g."Canonical","H1-1","Meta Description")old_value: previous valuenew_value: new value
.to_pandas() / .to_polars()
Return diff.to_rows() as a pandas or Polars DataFrame. Requires the respective library to be installed.
compare() parameters
These parameters oncrawl.compare() control which fields are diffed.
The baseline crawl to compare against.
Column name candidates for title comparison. Compared left-to-right; the first present value wins. Defaults to
("Title 1", "Title").Column name candidates for redirect URL comparison. Defaults to
("Redirect URL", "Redirect URI", "Redirect Destination").Column name candidates for redirect type comparison. Defaults to
("Redirect Type",).A mapping of field group label → candidate column names. Each group produces
FieldChange entries. Pass None to use the default groups.Default field groups:Canonical→Canonical Link Element 1,Canonical Link Element, …Canonical StatusMeta Description→Meta Description 1, …Meta Keywords→Meta Keywords 1, …Meta Refresh→Meta Refresh 1, …H1-1,H2-1,H3-1Word CountIndexability,Indexability StatusMeta Robots,X-Robots-TagDirectives Summary
StatusChange
Frozen dataclass. Represents a page whose HTTP status code changed.The page URL.
Previous HTTP status code.
New HTTP status code.
TitleChange
Frozen dataclass. Represents a page whose title changed.The page URL.
Previous title value.
New title value.
RedirectChange
Frozen dataclass. Represents a page whose redirect target or type changed.The page URL.
Previous redirect destination URL.
New redirect destination URL.
Previous redirect type (e.g.
"301").New redirect type.
FieldChange
Frozen dataclass. Represents a change in any tracked field group.The page URL.
The field group label (e.g.
"Canonical", "H1-1", "Meta Description").Previous value of the field.
New value of the field.