# 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

6258 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): 276 technologies
- [Advertising and pixels](https://www.pagesourcesearch.com/technologies/advertising-and-pixels): 205 technologies
- [A/B testing and personalization](https://www.pagesourcesearch.com/technologies/a-b-testing-and-personalization): 114 technologies
- [Customer data and CRM](https://www.pagesourcesearch.com/technologies/customer-data-and-crm): 199 technologies
- [Content management systems](https://www.pagesourcesearch.com/technologies/content-management-systems): 410 technologies
- [E-commerce platforms](https://www.pagesourcesearch.com/technologies/e-commerce-platforms): 303 technologies
- [JavaScript frameworks](https://www.pagesourcesearch.com/technologies/javascript-frameworks): 79 technologies
- [Server-side frameworks and languages](https://www.pagesourcesearch.com/technologies/server-side-frameworks-and-languages): 53 technologies
- [UI libraries and CSS](https://www.pagesourcesearch.com/technologies/ui-libraries-and-css): 185 technologies
- [Fonts and icons](https://www.pagesourcesearch.com/technologies/fonts-and-icons): 77 technologies
- [Hosting, CDNs and performance](https://www.pagesourcesearch.com/technologies/hosting-cdns-and-performance): 103 technologies
- [Chat and customer engagement](https://www.pagesourcesearch.com/technologies/chat-and-customer-engagement): 346 technologies
- [Marketing, forms and email](https://www.pagesourcesearch.com/technologies/marketing-forms-and-email): 377 technologies
- [Consent, security and monitoring](https://www.pagesourcesearch.com/technologies/consent-security-and-monitoring): 118 technologies
- [Payments](https://www.pagesourcesearch.com/technologies/payments): 152 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): 63 technologies
- [Video, audio and media](https://www.pagesourcesearch.com/technologies/video-audio-and-media): 82 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): 153 technologies
- [Booking, scheduling and events](https://www.pagesourcesearch.com/technologies/booking-scheduling-and-events): 186 technologies
- [Documentation and developer tools](https://www.pagesourcesearch.com/technologies/documentation-and-developer-tools): 100 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): 637 technologies
- [.NET and Blazor libraries](https://www.pagesourcesearch.com/technologies/net-and-blazor-libraries): 59 technologies
- [WordPress plugins and themes](https://www.pagesourcesearch.com/technologies/wordpress-plugins-and-themes): 208 technologies
- [Shopify apps](https://www.pagesourcesearch.com/technologies/shopify-apps): 61 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): 35 technologies
- [npm packages on CDNs](https://www.pagesourcesearch.com/technologies/npm-packages-on-cdns): 1205 technologies
- [Other tools](https://www.pagesourcesearch.com/technologies/other-tools): 180 technologies

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

- [Websites using flag-icons](https://www.pagesourcesearch.com/technology/flag-icons): `class="(fi fi-[a-z]{2}|flag-icon flag-icon-[a-z]{2})["\s]`
- [Websites using Ant Design](https://www.pagesourcesearch.com/technology/ant-design): `[" ]ant-(btn|layout|row|col|menu)[ "-]`
- [Websites using ethers.js](https://www.pagesourcesearch.com/technology/ethers): `ethers(\.umd)?(\.min)?\.js|/ethers@`
- [Websites using Ant Design Icons](https://www.pagesourcesearch.com/technology/ant-design-icons): `anticon-`
- [Websites using Ionicons](https://www.pagesourcesearch.com/technology/ionicons): `ionicons`
- [Websites using rel="me" identity links](https://www.pagesourcesearch.com/technology/rel-me): `rel="me"`
- [Websites using Genericons](https://www.pagesourcesearch.com/technology/genericons): `genericon-`
- [Websites using Tesseract.js](https://www.pagesourcesearch.com/technology/tesseract-js): `tesseract(\.js[@/]|\.min\.js)`
- [Websites using Lity](https://www.pagesourcesearch.com/technology/lity): `data-lity`
- [Websites using Pretendard](https://www.pagesourcesearch.com/technology/pretendard): `[Pp]retendard`
- [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 jQuery Bar Rating](https://www.pagesourcesearch.com/technology/jquery-bar-rating): `barrating`
- [Websites using AlertifyJS](https://www.pagesourcesearch.com/technology/alertify): `alertify`
- [Websites using Canonical link](https://www.pagesourcesearch.com/technology/canonical): `rel="canonical"`
- [Websites using Omeka](https://www.pagesourcesearch.com/technology/omeka): `stylesheet`
- [Websites using Pusher Channels (pusher-js)](https://www.pagesourcesearch.com/technology/pusher-js): `js\.pusher\.com/|pusher(\.min)?\.js`
- [Websites using RSS](https://www.pagesourcesearch.com/technology/rss): `application`
- [Websites using AdminLTE](https://www.pagesourcesearch.com/technology/adminlte): `[Aa]dmin[Ll][Tt][Ee](\.min)?\.(css|js)`
- [Websites using tablesorter](https://www.pagesourcesearch.com/technology/tablesorter): `tablesorter`
- [Websites using Stimulus](https://www.pagesourcesearch.com/technology/stimulus): `data-controller=`
- [Websites using Preact (from a CDN)](https://www.pagesourcesearch.com/technology/preact-cdn): `(cdn\.jsdelivr\.net/npm|unpkg\.com|esm\.sh|cdnjs\.cloudflare\.com/ajax/libs)/preact`
- [Websites using Open Graph tags](https://www.pagesourcesearch.com/technology/open-graph): `property="og:title"`
- [Websites using styled-components](https://www.pagesourcesearch.com/technology/styled-components): `data-styled`
- [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 Essential JS 2](https://www.pagesourcesearch.com/technology/essential-js-2): `e-control`
- [Websites using Azure Application Insights](https://www.pagesourcesearch.com/technology/azure-application-insights): `(js\.monitor\.azure\.com|az416426\.vo\.msecnd\.net)/scripts/`
- [Websites using Tabler Icons](https://www.pagesourcesearch.com/technology/tabler-icons): `tabler-icons`
- [Websites using Splitting](https://www.pagesourcesearch.com/technology/splitting-js): `data-splitting`
- [Websites using jQuery](https://www.pagesourcesearch.com/technology/jquery): `/jquery(-[\d.]+)?(\.min)?\.js`
- [Websites using Selectric](https://www.pagesourcesearch.com/technology/selectric): `selectric`
- [Websites using Packery](https://www.pagesourcesearch.com/technology/packery): `data-packery`
- [Websites using Twitter Cards](https://www.pagesourcesearch.com/technology/twitter-cards): `name="twitter:card"`
- [Websites using React Flow](https://www.pagesourcesearch.com/technology/react-flow): `text/css`
- [Websites using Primer (GitHub design system)](https://www.pagesourcesearch.com/technology/primer): `data-light-theme=`
- [Websites using JSON-LD structured data](https://www.pagesourcesearch.com/technology/json-ld): `application/ld+json`
- [Websites using Refersion](https://www.pagesourcesearch.com/technology/refersion): `.refersion.com`
- [Websites using Forter](https://www.pagesourcesearch.com/technology/forter): `forter.com`
- [Websites using Apple touch icon](https://www.pagesourcesearch.com/technology/apple-touch-icon): `rel="apple-touch-icon"`
- [Websites using Vue 2 server-side rendering](https://www.pagesourcesearch.com/technology/vue-2-ssr): `data-server-rendered="true"`
- [Websites using React Select](https://www.pagesourcesearch.com/technology/react-select): `id="react-select-\d+-input"`
- [Websites using PHP (.php URLs)](https://www.pagesourcesearch.com/technology/php-urls): `href="/[^"?#]*\.php[?"#]`
- [Websites using RSS feed autodiscovery](https://www.pagesourcesearch.com/technology/rss-feed): `application/rss+xml`
- [Websites using Platter](https://www.pagesourcesearch.com/technology/platter): `/platter.css`
- [Websites using Moment.js](https://www.pagesourcesearch.com/technology/moment): `moment(-with-locales)?(\.min)?\.js`
- [Websites using Devicon](https://www.pagesourcesearch.com/technology/devicon): `devicon-`
- [Websites using Google Fonts](https://www.pagesourcesearch.com/technology/google-fonts): `fonts.googleapis.com/css`
- [Websites using YouTube](https://www.pagesourcesearch.com/technology/youtube): `.youtube.com/`
- [Websites using WordPress](https://www.pagesourcesearch.com/technology/wordpress): `wp-content/plugins/`
- [Websites using oEmbed discovery](https://www.pagesourcesearch.com/technology/oembed-discovery): `application/json+oembed`
- [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 jQuery Migrate](https://www.pagesourcesearch.com/technology/jquery-migrate): `jquery-migrate`
- [Websites using jQuery Mobile](https://www.pagesourcesearch.com/technology/jquery-mobile): `jquery.mobile`
- [Websites using Alpine Collapse plugin](https://www.pagesourcesearch.com/technology/alpine-collapse): `\sx-collapse[\s>.=]`
- [Websites using JavaScript Cookie](https://www.pagesourcesearch.com/technology/js-cookie): `Cookies\.(get|set|remove)\(`
- [Websites using WordPress Multisite](https://www.pagesourcesearch.com/technology/wordpress-multisite): `wp-content/uploads`
- [Websites using Sitelinks search box (SearchAction)](https://www.pagesourcesearch.com/technology/sitelinks-searchbox): `"SearchAction"`
- [Websites using Preconnect resource hints](https://www.pagesourcesearch.com/technology/preconnect): `rel="preconnect"`
- [Websites using Preload hints](https://www.pagesourcesearch.com/technology/preload): `rel="preload"`
- [Websites using Microdata](https://www.pagesourcesearch.com/technology/microdata): `itemtype=`
- [Websites using RDFa](https://www.pagesourcesearch.com/technology/rdfa): `typeof="`
- [Websites using Underscore.js](https://www.pagesourcesearch.com/technology/underscore): `underscore(-min|\.min)?\.js`
- [Websites using WordPress emoji (Twemoji)](https://www.pagesourcesearch.com/technology/wordpress-emoji): `s\.w\.org\\?/images\\?/core\\?/emoji`
- [Websites using Masonry](https://www.pagesourcesearch.com/technology/masonry): `masonry(\.pkgd)?(\.min)?\.js`
- [Websites using Vimeo](https://www.pagesourcesearch.com/technology/vimeo): `vimeo.com`
- [Websites using focus-visible polyfill](https://www.pagesourcesearch.com/technology/focus-visible): `focus-visible(\.min)?\.js|/focus-visible@`
- [Websites using Font Awesome](https://www.pagesourcesearch.com/technology/font-awesome): `font-awesome`
- [Websites using PWA](https://www.pagesourcesearch.com/technology/pwa): `manifest`
- [Websites using Subresource Integrity](https://www.pagesourcesearch.com/technology/subresource-integrity): `integrity="sha`
- [Websites using Prototype](https://www.pagesourcesearch.com/technology/prototype-js): `/prototype(\.min)?\.js`
- [Websites using YakuHanJP](https://www.pagesourcesearch.com/technology/yakuhanjp): `[Yy]aku[Hh]an[Jj][Pp]`
- [Websites using YouTube embeds](https://www.pagesourcesearch.com/technology/youtube-embed): `youtube.com/embed/`
- [Websites using Open Web Analytics](https://www.pagesourcesearch.com/technology/open-web-analytics): `Open Web Analytics Tracker`
- [Websites using Swiper](https://www.pagesourcesearch.com/technology/swiper): `swiper-wrapper`
- [Websites using Google Search Console verification](https://www.pagesourcesearch.com/technology/google-site-verification): `name="google-site-verification"`
- [Websites using hoverIntent](https://www.pagesourcesearch.com/technology/hoverintent): `hoverIntent`
- [Websites using theme-color meta tag](https://www.pagesourcesearch.com/technology/theme-color): `name="theme-color"`
- [Websites using Slick carousel](https://www.pagesourcesearch.com/technology/slick): `.slick({`
- [Websites using ZURB Foundation](https://www.pagesourcesearch.com/technology/zurb-foundation): `foundation`
- [Websites using JS.org](https://www.pagesourcesearch.com/technology/js-org): `.js.org/`
- [Websites using Adobe Target](https://www.pagesourcesearch.com/technology/adobe-target): `targetPageParams`
- [Websites using jQuery UI](https://www.pagesourcesearch.com/technology/jquery-ui): `jquery-ui`
- [Websites using Cloudflare Web Analytics](https://www.pagesourcesearch.com/technology/cloudflare-web-analytics): `static.cloudflareinsights.com/beacon.min.js`
- [Websites using Nextra](https://www.pagesourcesearch.com/technology/nextra): `class="[^"]*nextra-`
- [Websites using Vimeo embeds](https://www.pagesourcesearch.com/technology/vimeo-embed): `player.vimeo.com/video/`
- [Websites using Yoast SEO](https://www.pagesourcesearch.com/technology/yoast-seo): `This site is optimized with the Yoast SEO`
- [Websites using NProgress](https://www.pagesourcesearch.com/technology/nprogress): `nprogress`
- [Websites using imagesLoaded](https://www.pagesourcesearch.com/technology/imagesloaded): `imagesloaded`
- [Websites using Switchery](https://www.pagesourcesearch.com/technology/switchery): `switchery`
- [Websites using Gutenberg (WordPress block editor)](https://www.pagesourcesearch.com/technology/gutenberg): `wp-block-library-css`
- [Websites using NanumSquare](https://www.pagesourcesearch.com/technology/nanum-square): `[Nn]anum[Ss]quare`
- [Websites using Stencil](https://www.pagesourcesearch.com/technology/stencil): `hydrated`
- [Websites using jQuery.scrollTo](https://www.pagesourcesearch.com/technology/jquery-scrollto): `jquery\.scroll[Tt]o`
- [Websites using Ionic Framework](https://www.pagesourcesearch.com/technology/ionic): `[<"]ion-app[>"\s]`
- [Websites using hreflang (multilingual sites)](https://www.pagesourcesearch.com/technology/hreflang): `hreflang="`
- [Websites using YouTube IFrame Player API](https://www.pagesourcesearch.com/technology/youtube-iframe-api): `youtube.com/iframe_api`
- [Websites using AngularJS](https://www.pagesourcesearch.com/technology/angularjs): `[\s-]ng-app[\s=>]`
- [Websites using Adobe Flash](https://www.pagesourcesearch.com/technology/adobe-flash): `application/x-shockwave-flash`

## Contact

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