# PageSourceSearch

> Search engine over the source code of websites: find every site whose HTML or JavaScript contains an exact snippet, tag, tracking ID, library or regex pattern, with each match highlighted.

PageSourceSearch (https://www.pagesourcesearch.com/) is a public search engine over the source code of websites. Its crawler, PageSourceSearchBot, stores the exact bytes of the HTML and the first-party JavaScript of each site it visits; a query is an exact byte sequence (case-sensitive; a term of 1 or 2 characters is searched with a space added) or a .NET regular expression, and the answer lists the sites that contain it, grouped by domain, with every match highlighted in the stored file. Library code such as jQuery or React is stored but not indexed. The search is free and needs no account; a JSON API is available to key holders.

## How it works

- **Crawl.** PageSourceSearchBot fetches a site's root page, a handful of further pages and the scripts they load, first-party hosts only, and stores the exact bytes.
- **Classify.** A classifier separates a site's own code from library code (jQuery, React and the like); libraries are stored and shown in previews but not indexed, so results are about the site, not its dependencies.
- **Index and search.** Every stored file is indexed by its 3-byte windows. A query looks those up, verifies the candidates byte for byte (or with your regex) and lists the sites that hold every term.

## Pages

- [Search](https://www.pagesourcesearch.com/): the search form, example queries, what people find with it, how it works and common questions
- [Query help](https://www.pagesourcesearch.com/help): literals, several terms and quoted phrases, regular expressions, why a query is rejected, what a result is, the filters, the FAQ and the JSON API
- [About the crawler](https://www.pagesourcesearch.com/about): what PageSourceSearchBot fetches, its robots.txt token, how to opt out, what is stored and shown
- [Websites by technology](https://www.pagesourcesearch.com/technologies): for each analytics tag, CMS, framework, chat widget and payment provider, the highest-ranked sites whose source contains the code that reveals it, with the discovery keyword; one page per technology under /technology/
- [Site profiles](https://www.pagesourcesearch.com/site): what one website is built with, from its stored source: libraries and versions, tracking and verification ids, third-party hosts, every stored page and script with each version on record, and a crawl-by-crawl timeline; one page per site under /site/{domain}
- [Websites by tracking ID](https://www.pagesourcesearch.com/id): reverse lookup of analytics, tag manager, pixel and site-verification ids: every site whose source carries one; one page per kind under /id/{kind} and per value under /id/{kind}/{value}
- [Websites by third-party host](https://www.pagesourcesearch.com/hosts): every site whose pages or scripts load from a host; one page per host under /host/{host}
- [OpenSearch description](https://www.pagesourcesearch.com/opensearch.xml): add the site as a browser search engine

## Frequently asked questions

### What is PageSourceSearch?

PageSourceSearch is a search engine over the source code of websites. Its crawler stores the raw HTML and first-party JavaScript of each site it visits, and a query (an exact byte sequence or a regular expression) lists every site that contains it, grouped by domain, with each match highlighted in the stored file.

### How is it different from a web search engine?

A web search engine indexes the visible text of rendered pages and ranks them by relevance. PageSourceSearch indexes the source bytes, so tags, attributes, script code, tracking IDs, comments and markup patterns are searchable, and a match is exact: what you type is what the page contains.

### Is the search case-sensitive?

Yes. A literal query is matched byte for byte, so Gtag and gtag are different queries. Choose regex mode under Filters and start the pattern with (?i) for a case-insensitive match.

### What happens to a query of 1 or 2 characters?

The index is built from 3-byte windows of every file, so a shorter term has no window of its own. It is searched with a space added after it, and before it too for a single character: 'ab' finds 'ab ' and 'a' finds ' a '. A regex needs a fixed run of 3 characters.

### Can I search across a whole site rather than one page?

Yes, and that is the default: with Same site selected next to the search box the words may be spread over different pages and scripts of one domain. Switch to Same page to require them all in one file.

### Can I keep my site out of the index?

Yes. Add 'User-agent: PageSourceSearchBot' followed by 'Disallow: /' to your robots.txt, or write to bot@pagesourcesearch.com to have stored pages removed.

### How do I see what a website is built with?

Open its profile at /site/{domain} or through the lookup form on /site: it lists the libraries and versions in its stored source, its tracking and verification IDs, the third-party hosts it loads, every stored page and script with its earlier versions, and a timeline of what changed between crawls. Every domain in the results links to its profile.

### Can I find every website that shares one Google Analytics or Tag Manager ID?

Yes: /id/{kind}/{value}, for example /id/ga4/G-XXXXXXXXXX or /id/gtm/GTM-XXXXXXX, lists every site in the index whose source carries the id. /id lists every kind the crawler extracts; /hosts and /host/{host} do the same for third-party hosts.

### Can I search for a phrase with spaces?

Yes. Put the phrase in double quotes: "gtag('js', new Date" is one term with its spaces. Without quotes, spaces separate terms, and a file matches only when it contains every term.

### Does it search text or source code?

Source. PageSourceSearch indexes the raw bytes of the HTML and the first-party JavaScript a site serves, not the visible text of a rendered page. Tags, attributes, script code and comments are all searchable.

### Why are library files such as jQuery or React not matched?

A classifier separates a site's own code from library code. Libraries are stored and shown in previews but left out of the index, so that a query about a site's code is not swamped by the dependencies every site shares. The websites-by-technology pages list the sites that use a given library instead.

### Can I find every site that contains my query?

Yes. By default a search stops at the first 20,000 candidate chunks and marks the count 'at least N'. Tick 'every domain (slower)' under Filters to count and page through every site that holds the terms; a common term can then take tens of seconds.

### What is PageSourceSearchBot?

PageSourceSearchBot is the crawler of PageSourceSearch, a search engine over the source of web pages. It fetches a site's robots.txt, its root page, a few further pages and the site's own scripts, and stores their exact bytes for searching by literal or regular expression.

### How do I block PageSourceSearchBot?

Add the group 'User-agent: PageSourceSearchBot' followed by 'Disallow: /' to your robots.txt. The crawler reads robots.txt before anything else, so a disallowed root stops the visit before any page is fetched. To have already stored pages removed, email bot@pagesourcesearch.com with the domain name.

### How much does the crawler fetch from a site?

At most 5 pages and the first-party scripts they load, one request at a time per host and rate-limited; it never logs in, submits forms, runs scripts or fetches images, fonts or stylesheets. A live site is revisited about once a week.

### Does PageSourceSearch serve copies of my pages?

No. It stores the source bytes for searching and shows short snippets around matches and a text preview of the stored file, marked noindex for search engines. Nothing is rendered, executed or served as a live page.

## Technologies with a websites-using page

6716 technologies have a page listing the sites that use them, by category:

- [Analytics and tag managers](https://www.pagesourcesearch.com/technologies/analytics-and-tag-managers): 284 technologies
- [Advertising and pixels](https://www.pagesourcesearch.com/technologies/advertising-and-pixels): 204 technologies
- [A/B testing and personalization](https://www.pagesourcesearch.com/technologies/a-b-testing-and-personalization): 120 technologies
- [Customer data and CRM](https://www.pagesourcesearch.com/technologies/customer-data-and-crm): 217 technologies
- [Content management systems](https://www.pagesourcesearch.com/technologies/content-management-systems): 420 technologies
- [E-commerce platforms](https://www.pagesourcesearch.com/technologies/e-commerce-platforms): 325 technologies
- [JavaScript frameworks](https://www.pagesourcesearch.com/technologies/javascript-frameworks): 78 technologies
- [Server-side frameworks and languages](https://www.pagesourcesearch.com/technologies/server-side-frameworks-and-languages): 54 technologies
- [UI libraries and CSS](https://www.pagesourcesearch.com/technologies/ui-libraries-and-css): 184 technologies
- [Fonts and icons](https://www.pagesourcesearch.com/technologies/fonts-and-icons): 74 technologies
- [Hosting, CDNs and performance](https://www.pagesourcesearch.com/technologies/hosting-cdns-and-performance): 104 technologies
- [Chat and customer engagement](https://www.pagesourcesearch.com/technologies/chat-and-customer-engagement): 365 technologies
- [Marketing, forms and email](https://www.pagesourcesearch.com/technologies/marketing-forms-and-email): 383 technologies
- [Consent, security and monitoring](https://www.pagesourcesearch.com/technologies/consent-security-and-monitoring): 121 technologies
- [Payments](https://www.pagesourcesearch.com/technologies/payments): 154 technologies
- [Authentication and identity](https://www.pagesourcesearch.com/technologies/authentication-and-identity): 47 technologies
- [Maps and geolocation](https://www.pagesourcesearch.com/technologies/maps-and-geolocation): 64 technologies
- [Video, audio and media](https://www.pagesourcesearch.com/technologies/video-audio-and-media): 85 technologies
- [Search and site search](https://www.pagesourcesearch.com/technologies/search-and-site-search): 48 technologies
- [Comments, reviews and social](https://www.pagesourcesearch.com/technologies/comments-reviews-and-social): 157 technologies
- [Booking, scheduling and events](https://www.pagesourcesearch.com/technologies/booking-scheduling-and-events): 197 technologies
- [Documentation and developer tools](https://www.pagesourcesearch.com/technologies/documentation-and-developer-tools): 104 technologies
- [Accessibility and localization](https://www.pagesourcesearch.com/technologies/accessibility-and-localization): 41 technologies
- [Markup and embeds](https://www.pagesourcesearch.com/technologies/markup-and-embeds): 60 technologies
- [JavaScript libraries](https://www.pagesourcesearch.com/technologies/javascript-libraries): 633 technologies
- [.NET and Blazor libraries](https://www.pagesourcesearch.com/technologies/net-and-blazor-libraries): 66 technologies
- [WordPress plugins and themes](https://www.pagesourcesearch.com/technologies/wordpress-plugins-and-themes): 207 technologies
- [Shopify apps](https://www.pagesourcesearch.com/technologies/shopify-apps): 69 technologies
- [Loyalty, referral and affiliates](https://www.pagesourcesearch.com/technologies/loyalty-referral-and-affiliates): 78 technologies
- [SEO and content tools](https://www.pagesourcesearch.com/technologies/seo-and-content-tools): 18 technologies
- [Recruitment, HR and logistics](https://www.pagesourcesearch.com/technologies/recruitment-hr-and-logistics): 37 technologies
- [npm packages on CDNs](https://www.pagesourcesearch.com/technologies/npm-packages-on-cdns): 1532 technologies
- [Other tools](https://www.pagesourcesearch.com/technologies/other-tools): 186 technologies

The most used, each with the keyword it is detected by:

- [Websites using ethers.js](https://www.pagesourcesearch.com/technology/ethers): `ethers(\.umd)?(\.min)?\.js|/ethers@`
- [Websites using Ionicons](https://www.pagesourcesearch.com/technology/ionicons): `ionicons`
- [Websites using Three.js](https://www.pagesourcesearch.com/technology/threejs): `three(\.module)?(\.min)?\.js`
- [Websites using Tesseract.js](https://www.pagesourcesearch.com/technology/tesseract-js): `tesseract(\.js[@/]|\.min\.js)`
- [Websites using rel="me" identity links](https://www.pagesourcesearch.com/technology/rel-me): `rel="me"`
- [Websites using Pretendard](https://www.pagesourcesearch.com/technology/pretendard): `[Pp]retendard`
- [Websites using Lity](https://www.pagesourcesearch.com/technology/lity): `data-lity`
- [Websites using AlertifyJS](https://www.pagesourcesearch.com/technology/alertify): `alertify`
- [Websites using Fontello](https://www.pagesourcesearch.com/technology/fontello): `fontello`
- [Websites using jQuery Nice Select](https://www.pagesourcesearch.com/technology/nice-select): `nice-select`
- [Websites using PACE progress bar](https://www.pagesourcesearch.com/technology/pace-progress): `/pace(\.min)?\.js`
- [Websites using styled-components](https://www.pagesourcesearch.com/technology/styled-components): `data-styled`
- [Websites using Pusher Channels (pusher-js)](https://www.pagesourcesearch.com/technology/pusher-js): `js\.pusher\.com/|pusher(\.min)?\.js`
- [Websites using Canonical link](https://www.pagesourcesearch.com/technology/canonical): `rel="canonical"`
- [Websites using tablesorter](https://www.pagesourcesearch.com/technology/tablesorter): `tablesorter`
- [Websites using Stimulus](https://www.pagesourcesearch.com/technology/stimulus): `data-controller=`
- [Websites using Open Graph tags](https://www.pagesourcesearch.com/technology/open-graph): `property="og:title"`
- [Websites using Fine Uploader](https://www.pagesourcesearch.com/technology/fine-uploader): `fine-?uploader`
- [Websites using Velocity.js](https://www.pagesourcesearch.com/technology/velocity): `velocity(\.min)?\.js|\.velocity\(`
- [Websites using Tabler Icons](https://www.pagesourcesearch.com/technology/tabler-icons): `tabler-icons`
- [Websites using Azure Application Insights](https://www.pagesourcesearch.com/technology/azure-application-insights): `(js\.monitor\.azure\.com|az416426\.vo\.msecnd\.net)/scripts/`
- [Websites using jQuery (jsDelivr, unpkg, cdnjs)](https://www.pagesourcesearch.com/technology/jquery-cdn-npm): `(cdn\.jsdelivr\.net/npm/|unpkg\.com/|cdnjs\.cloudflare\.com/ajax/libs/)jquery[@/]\d`
- [Websites using Primer (GitHub design system)](https://www.pagesourcesearch.com/technology/primer): `data-light-theme=`
- [Websites using Selectric](https://www.pagesourcesearch.com/technology/selectric): `selectric`
- [Websites using Devicon](https://www.pagesourcesearch.com/technology/devicon): `devicon-`
- [Websites using Omeka](https://www.pagesourcesearch.com/technology/omeka): `stylesheet`
- [Websites using Splitting](https://www.pagesourcesearch.com/technology/splitting-js): `data-splitting`
- [Websites using Packery](https://www.pagesourcesearch.com/technology/packery): `data-packery`
- [Websites using jQuery](https://www.pagesourcesearch.com/technology/jquery): `/jquery(-[\d.]+)?(\.min)?\.js`
- [Websites using Twitter Cards](https://www.pagesourcesearch.com/technology/twitter-cards): `name="twitter:card"`
- [Websites using RSS](https://www.pagesourcesearch.com/technology/rss): `application`
- [Websites using Stellar.js](https://www.pagesourcesearch.com/technology/stellar-js): `data-stellar-`
- [Websites using JSON-LD structured data](https://www.pagesourcesearch.com/technology/json-ld): `application/ld+json`
- [Websites using Vue 2 server-side rendering](https://www.pagesourcesearch.com/technology/vue-2-ssr): `data-server-rendered="true"`
- [Websites using Apple touch icon](https://www.pagesourcesearch.com/technology/apple-touch-icon): `rel="apple-touch-icon"`
- [Websites using React Select](https://www.pagesourcesearch.com/technology/react-select): `id="react-select-\d+-input"`
- [Websites using Essential JS 2](https://www.pagesourcesearch.com/technology/essential-js-2): `e-control`
- [Websites using PHP (.php URLs)](https://www.pagesourcesearch.com/technology/php-urls): `href="/[^"?#]*\.php[?"#]`
- [Websites using YouTube](https://www.pagesourcesearch.com/technology/youtube): `.youtube.com/`
- [Websites using Refersion](https://www.pagesourcesearch.com/technology/refersion): `.refersion.com`
- [Websites using Forter](https://www.pagesourcesearch.com/technology/forter): `forter.com`
- [Websites using React Flow](https://www.pagesourcesearch.com/technology/react-flow): `text/css`
- [Websites using Moment.js](https://www.pagesourcesearch.com/technology/moment): `moment(-with-locales)?(\.min)?\.js`
- [Websites using ZURB Foundation](https://www.pagesourcesearch.com/technology/zurb-foundation): `foundation`
- [Websites using Bootstrap 4 (from a CDN)](https://www.pagesourcesearch.com/technology/bootstrap-4): `bootstrap[@/]4\.\d`
- [Websites using ASP.NET Core asp-append-version](https://www.pagesourcesearch.com/technology/aspnetcore-append-version): `\.(css|js)\?v=[A-Za-z0-9_-]{43}"`
- [Websites using Google Fonts](https://www.pagesourcesearch.com/technology/google-fonts): `fonts.googleapis.com/css`
- [Websites using RSS feed autodiscovery](https://www.pagesourcesearch.com/technology/rss-feed): `application/rss+xml`
- [Websites using JavaScript Cookie](https://www.pagesourcesearch.com/technology/js-cookie): `Cookies\.(get|set|remove)\(`
- [Websites using jQuery Mobile](https://www.pagesourcesearch.com/technology/jquery-mobile): `jquery.mobile`
- [Websites using Wunderkind (BounceX)](https://www.pagesourcesearch.com/technology/wunderkind): `tag\.(wknd\.ai|bounceexchange\.com)/`
- [Websites using WordPress](https://www.pagesourcesearch.com/technology/wordpress): `wp-content/plugins/`
- [Websites using jQuery Form Plugin](https://www.pagesourcesearch.com/technology/jquery-form): `jquery\.form(\.min)?\.js`
- [Websites using Speculation Rules](https://www.pagesourcesearch.com/technology/speculation-rules): `type="speculationrules"`
- [Websites using oEmbed discovery](https://www.pagesourcesearch.com/technology/oembed-discovery): `application/json+oembed`
- [Websites using Alpine Intersect plugin](https://www.pagesourcesearch.com/technology/alpine-intersect): `\sx-intersect[\s:.=]`
- [Websites using Platter](https://www.pagesourcesearch.com/technology/platter): `/platter.css`
- [Websites using CJ Affiliate](https://www.pagesourcesearch.com/technology/cj-affiliate): `(anrdoezrs\.net|jdoqocy\.com|tkqlhce\.com|dpbolvw\.net|kqzyfj\.com)/click-`
- [Websites using Preconnect resource hints](https://www.pagesourcesearch.com/technology/preconnect): `rel="preconnect"`
- [Websites using Switchery](https://www.pagesourcesearch.com/technology/switchery): `switchery`
- [Websites using Preload hints](https://www.pagesourcesearch.com/technology/preload): `rel="preload"`
- [Websites using jQuery Migrate](https://www.pagesourcesearch.com/technology/jquery-migrate): `jquery-migrate`
- [Websites using Vimeo](https://www.pagesourcesearch.com/technology/vimeo): `vimeo.com`
- [Websites using Underscore.js](https://www.pagesourcesearch.com/technology/underscore): `underscore(-min|\.min)?\.js`
- [Websites using RDFa](https://www.pagesourcesearch.com/technology/rdfa): `typeof="`
- [Websites using Octicons](https://www.pagesourcesearch.com/technology/octicons): `octicon-`
- [Websites using Alpine Collapse plugin](https://www.pagesourcesearch.com/technology/alpine-collapse): `\sx-collapse[\s>.=]`
- [Websites using Sitelinks search box (SearchAction)](https://www.pagesourcesearch.com/technology/sitelinks-searchbox): `"SearchAction"`
- [Websites using focus-visible polyfill](https://www.pagesourcesearch.com/technology/focus-visible): `focus-visible(\.min)?\.js|/focus-visible@`
- [Websites using Lightbox](https://www.pagesourcesearch.com/technology/lightbox): `lightbox(?:-plus-jquery)?.{0,32}\.js`
- [Websites using Lettering.js](https://www.pagesourcesearch.com/technology/lettering-js): `.lettering(`
- [Websites using Swiper](https://www.pagesourcesearch.com/technology/swiper): `swiper-wrapper`
- [Websites using Microdata](https://www.pagesourcesearch.com/technology/microdata): `itemtype=`
- [Websites using Masonry](https://www.pagesourcesearch.com/technology/masonry): `masonry(\.pkgd)?(\.min)?\.js`
- [Websites using Prototype](https://www.pagesourcesearch.com/technology/prototype-js): `/prototype(\.min)?\.js`
- [Websites using interact.js](https://www.pagesourcesearch.com/technology/interact-js): `interact\(['"][.#]`
- [Websites using Subresource Integrity](https://www.pagesourcesearch.com/technology/subresource-integrity): `integrity="sha`
- [Websites using YouTube embeds](https://www.pagesourcesearch.com/technology/youtube-embed): `youtube.com/embed/`
- [Websites using Reveal.js](https://www.pagesourcesearch.com/technology/reveal-js): `(?:^|/)reveal(?:\.min)?\.js`
- [Websites using WordPress Multisite](https://www.pagesourcesearch.com/technology/wordpress-multisite): `wp-content/uploads`
- [Websites using Font Awesome](https://www.pagesourcesearch.com/technology/font-awesome): `font-awesome`
- [Websites using WordPress emoji (Twemoji)](https://www.pagesourcesearch.com/technology/wordpress-emoji): `s\.w\.org\\?/images\\?/core\\?/emoji`
- [Websites using YakuHanJP](https://www.pagesourcesearch.com/technology/yakuhanjp): `[Yy]aku[Hh]an[Jj][Pp]`
- [Websites using hoverIntent](https://www.pagesourcesearch.com/technology/hoverintent): `hoverIntent`
- [Websites using PureCounter](https://www.pagesourcesearch.com/technology/purecounter): `purecounter`
- [Websites using Awesomplete](https://www.pagesourcesearch.com/technology/awesomplete): `awesomplete`
- [Websites using Slick carousel](https://www.pagesourcesearch.com/technology/slick): `.slick({`
- [Websites using Open Web Analytics](https://www.pagesourcesearch.com/technology/open-web-analytics): `Open Web Analytics Tracker`
- [Websites using Stencil](https://www.pagesourcesearch.com/technology/stencil): `hydrated`
- [Websites using Scrollify](https://www.pagesourcesearch.com/technology/scrollify): `scrollify`
- [Websites using Gutenberg (WordPress block editor)](https://www.pagesourcesearch.com/technology/gutenberg): `wp-block-library-css`
- [Websites using Adobe Target](https://www.pagesourcesearch.com/technology/adobe-target): `targetPageParams`
- [Websites using Google Search Console verification](https://www.pagesourcesearch.com/technology/google-site-verification): `name="google-site-verification"`
- [Websites using PWA](https://www.pagesourcesearch.com/technology/pwa): `manifest`
- [Websites using theme-color meta tag](https://www.pagesourcesearch.com/technology/theme-color): `name="theme-color"`
- [Websites using HashThemes Total](https://www.pagesourcesearch.com/technology/hashthemes-total): `/wp-content/themes/(?:t|T)otal(?:-plus)?/`
- [Websites using Vimeo embeds](https://www.pagesourcesearch.com/technology/vimeo-embed): `player.vimeo.com/video/`
- [Websites using Lightbox2](https://www.pagesourcesearch.com/technology/lightbox2): `data-lightbox=`
- [Websites using jQuery UI](https://www.pagesourcesearch.com/technology/jquery-ui): `jquery-ui`
- [Websites using CKEditor](https://www.pagesourcesearch.com/technology/ckeditor): `ckeditor`

## Contact

Questions about the crawler, removal of stored pages and API keys: bot@pagesourcesearch.com
