Source search and extraction

Search the source code of an entire website

View-source answers a question about one page. The questions that matter are about all of them: which pages still carry the old phone number, which are missing the tracking tag, what the author field says on each article.

Enter a domain. The crawl stores the HTML of every page, and Search the source on the results page searches all of it at once: text, a regular expression, or a CSS selector.

One email when the scan finishes, with the score and every check. No newsletter.
More options: paths, depth, JavaScript rendering, privacy

Crawls up to 5000 pages plus their images, scripts and stylesheets. No account needed: you get a private link to the results.

Four ways to search

Contains. Every page whose HTML includes the text, with how many times and the text around the first few matches.

Does not contain. Every page that lacks it.

Regular expression. A pattern instead of fixed text, with what it matched on each page. Put part of the pattern in brackets and that part alone is returned.

CSS selector. The elements a selector matches on each page, as their text or as one of their attributes. This is extraction: the values from each page, side by side in columns.

The page shows the first five values for each address. The CSV export has all of them.

Searches worth running

Pages missing the analytics or tag manager snippet. Does not contain:

GTM-ABC1234

Leftover Universal Analytics ids. Regular expression:

UA-\d{4,10}-\d{1,4}

Insecure references on an HTTPS site. Contains:

src="http://

The social sharing image of every page. CSS selector, attribute content:

meta[property="og:image"]

The author of every article. CSS selector, attribute content:

meta[name="author"]

The price shown on every product page. CSS selector, using whatever class your theme gives it:

.product-price

Placeholder text that reached production. Contains:

lorem ipsum

Every page that loads a particular script. CSS selector, attribute src:

script[src*="hotjar"]

Why it is quick

Nothing is fetched when you search. The crawl already stored every page in the scan's own database, so a search is a read over those copies. You can run twenty searches in a row without sending your site another request, and the answers all describe the same moment.

It also means the stored pages are yours to keep: the whole crawl downloads as a SQLite database, bodies included, for searches nobody built a form for.

Where it stops

It searches HTML pages, not the contents of scripts, stylesheets or PDFs. It searches what the server sent, not the page after scripts have run. A page where a selector or pattern matches nothing is left out of the results, so compare the number of pages matched with the number searched, both shown above the table, to see how many lack it. Searches ignore case unless you ask otherwise.

An assistant can run the same searches for you over the scan's MCP endpoint. And if the question is one of the common ones, it may already be answered: the crawl runs 37 checks, including structured data and robots directives, without your writing a pattern.

Questions people ask

How do I search the source code of a whole website?
Crawl the site so every page's HTML is stored, then search the stored copies. Enter a domain above; when the crawl is under way, open Search the source on the results page and type what you are looking for. It answers with every page that matches.
Can I find the pages that do NOT contain something?
Yes, and it is the more useful half. “Does not contain” lists the pages missing your analytics snippet, your cookie banner, a required disclaimer or a structured-data block.
Is this the same as custom extraction in a desktop crawler?
It does the same job. Screaming Frog calls it Custom Search and Custom Extraction and includes it in the paid licence. Here a CSS selector, with an optional attribute, pulls the matching value out of every page and exports them all.
Does it search the page after JavaScript has run?
No. It searches the HTML the server sent, which is what view-source shows and what most crawlers read. Content a script adds in the browser is not in it.
Are there limits?
A crawl covers up to 5,000 pages. A search pattern can be 500 characters, and one extraction can return up to 20 MB of values or a million spreadsheet cells; past that it stops with a message instead of handing you a silently shortened file.

Search every page of a site

Text, regex or CSS selector over up to 5,000 pages, with CSV export. Free, no signup.
Scan a site, free

Read next