Carpathian Search

Overview

Carpathian Search is a web search engine operated by Carpathian. It runs its own crawler and index, and ranks by relevance first, then by page quality signals such as ad load, tracking and authorship.

Ranking

Each result is scored on text match against the page body, title and inbound anchor text. Quality signals adjust the order only among pages with comparable relevance. See Ranking for the full signal list.

Ads and tracking

Results contain no ads or sponsored placements. The search page loads no third-party resources and sets one first-party cookie to measure search quality, only with consent where the law asks for it. Privacy lists exactly what is recorded.

Index

Results come from Carpathian's own index, not a reseller feed. The index is built by CarpathianBot, which follows robots.txt and every opt-out listed under Opt out.

Reference

Ranking →

Carpathian Search

Ranking

Relevance carries the largest weight. The remaining signals reorder pages of similar relevance. The "Why here" link on each result shows the per-signal breakdown.

Signals

SignalMeasures
RelevanceBM25F text match across body, title and inbound anchor text. Largest weight for every query type.
ProximityDistance between query terms in the page text.
Page typeMatch between the page type declared in structured data and the query intent: recipe, how-to, discussion, news, documentation.
First-handFirst-person accounts and discussion threads.
IntegrityAbsence of affiliate listicles, generated filler, keyword stuffing and gambling spam.
CleanlinessAbsence of ad networks, popups, cookie walls, trackers and affiliate links.
WeightRatio of page text to scripts and markup.
SubstanceText length within a useful range.
AuthorshipAuthor, date, feed, about page or personal domain.
CitationsOutbound links from body text, weighted toward reference sources.
AuthorityNumber and weight of distinct sites linking in.
FreshnessAge of the published date. Applied only to queries for recent content.

Query intent

Each query is classified as navigational, question, recent, exploratory or informational, and the signal weights change with the class. Questions favor pages where the terms appear close together. Navigational queries put the named site's front page first.

Opinion queries

Queries containing terms such as best, vs, review or worth it raise the weight of first-hand and discussion pages and apply a stronger integrity penalty to affiliate content.

← OverviewSearch operators →

Carpathian Search

Search operators

Operators are typed directly into the query.

QueryReturns
cast iron carePages containing all terms. If too few match, pages containing most terms follow.
"cast iron"Exact phrase.
skillet -nonstickPages without the term "nonstick".
skillet site:example.comPages on example.com and its subdomains only.

Matching ignores case, diacritics and simple plurals: Café Recipes matches cafe recipe. Misspelled terms are corrected automatically; the results page shows the correction and links to the uncorrected query.

← RankingPrivacy →

Carpathian Search

Privacy

Carpathian Search records what is searched, from where, on what kind of device, and how the results were used, to measure and improve search quality. No account is required.

Recorded

Not recorded

The cookie

The site sets one first-party cookie, cs_vid. It holds a random identifier, nothing about you, so that a returning visit and a session can be recognized. It expires 30 days after your last search, and each search renews it. It is HttpOnly, Secure and SameSite=Lax: scripts cannot read it and other sites cannot use it. The site sets no other cookie and loads no third-party analytics, ad scripts, fonts or images.

In the European Economic Area, the United Kingdom and Switzerland, and wherever your location cannot be determined, the cookie is set only if you choose Accept on the search page. Choosing No thanks is remembered in your browser's local storage, which never leaves your device, and you are not asked again.

If your browser sends Global Privacy Control (Sec-GPC: 1), the cookie is never set, one already set is deleted, and you are not asked.

Without the cookie, your searches are grouped into sessions under a temporary id: a keyed hash of your IP address, an IPv6 address by its /64 network, and your browser family. The key is random, held in memory only, and replaced every day and at every restart, so the id cannot be reversed to an address or joined across days, and it is never written to disk.

You can delete the cookie at any time in your browser's settings, which also withdraws your consent; later searches are then not linked to earlier ones, and where consent is needed you will be asked again.

How it is kept

Daily totals of everything above are kept for 400 days and used to tune ranking. They are sent to Carpathian over TLS, signed by this server.

A log of each search, click and return, holding the cookie's identifier when it is set, the session id, the query, the location, device, browser, system and language fields above, and the results shown, is kept on the server for 90 days to improve ranking, then deleted. It is not part of what is sent to Carpathian, and only the operator of this server can read it.

Neither is sold or shared with advertisers.

What counts

Only searches and clicks sent by this site's own search page are counted. A search another website triggers in your browser is answered but not counted. Searches through the API are counted without device, visitor or session.

To limit how many searches one address can make, a keyed hash of the address picks a counter of recent searches held in memory. The counter holds a number and a time, not the address or the hash, and is never written to disk.

Trending searches lists only queries at least ten people searched that day, shows no counts, and excludes a maintained blocklist. People are told apart for this with the same daily keyed hash of the IP address.

Site owners

Owners who verify a site in Carpathian's Search Engine Console see, for that site, every query its pages appeared for, with impressions, clicks and average position, by page, by country and by device type. They do not see who searched.

Crawl requests

Submitted site or sitemap URLs and contact emails are stored to process and answer the request. Only the URL is passed to the crawler. The submitting IP address, an IPv6 address by its /64 network, is held in memory for one hour for rate limiting and is not written to disk. Requests sent from other websites are refused.

← Search operatorsTrending searches →

Carpathian Search

Trending searches

Queries rising today and most searched this week, from daily counts, each searched by at least ten people. Details

Rising today

Most searched this week

← PrivacySubmit a sitemap →

Site owners

Submit a sitemap

CarpathianBot discovers pages through sitemaps declared in robots.txt, and through submissions on this page.

Declare it in robots.txt

Sitemap: https://example.com/sitemap.xml

If robots.txt has no Sitemap line, CarpathianBot requests /sitemap.xml.

Supported

Submit

Submit a sitemap URL or a site URL. It is queued within a minute. CarpathianBot fetches robots.txt first, then the front page, the submitted sitemap and any sitemaps robots.txt declares. The crawl budget for a site depends on inbound links, not on submission. Limits: 5 submissions per hour per IP address, one per site per day.

← Trending searchesCarpathianBot →

Site owners

CarpathianBot

CarpathianBot is the Carpathian Search crawler. It makes one request at a time per host and follows robots.txt.

User agent

CarpathianBot/0.1 (+https://search.carpathian.ai/bot)

Crawl behavior

Block a path

User-agent: CarpathianBot
Disallow: /private/

Not done

← Submit a sitemapOpt out →

Site owners

Opt out

Opt-outs apply to search, to AI training, or to both.

Search

User-agent: CarpathianBot
Disallow: /

Pages with noindex in a robots meta tag or X-Robots-Tag header are fetched but not indexed. Pages that are removed, disallowed or marked noindex leave the index on their next fetch.

AI training

To stay in search but out of training datasets built from the crawl:

User-agent: Carpathian-AI
Disallow: /

Also treated as an opt-out: robots.txt rules blocking a named AI crawler, noai or noimageai in a robots tag, and the TDM-Reservation: 1 header.

← CarpathianBotSearch API →

Developers

Search API

JSON access to the same results as the search page. All requests require an API key.

Search

curl https://search.carpathian.ai/v1/search \
  -H "Authorization: Bearer cs_..." \
  -d '{"query": "sourdough starter", "limit": 10}'

Each result includes title, URL, site, snippet with highlight offsets, and published date. Set "explain": true to include the per-signal scores. GET /v1/search?q=... is equivalent.

Fetch a document

POST /v1/document  {"url": "https://bread.example/starter"}

Returns the indexed text of a page. Only indexed pages are available.

Reference

Fields, errors and limits are documented at /llms.txt.

← Opt outArticles →

Articles

Ad and tracker penalties

Among pages of similar relevance, pages without ads, popups and trackers rank higher. This page lists what is detected.

Detected

Page weight

The weight signal compares the page's own text with the scripts and markup around it. A recipe page delivered as text ranks above the same recipe wrapped in a megabyte of scripts.

Limits

These signals never lift an irrelevant page above a relevant one. They only reorder pages of comparable relevance.

← Search APISitemap checklist →

Articles

Sitemap checklist

Ten checks so CarpathianBot finds the pages you want indexed, and only those.

  1. Declare the sitemap in robots.txt with a Sitemap: line.
  2. Use absolute URLs with the final scheme and host, not ones that redirect.
  3. List only URLs that return 200.
  4. Exclude pages marked noindex.
  5. Use each page's declared canonical URL.
  6. Update lastmod only when the content changes.
  7. Split large sites with a sitemap index, at most 50,000 URLs per file.
  8. Gzip is supported for large files.
  9. Advertise an RSS or Atom feed on pages that publish posts.
  10. Confirm robots.txt does not disallow the listed URLs.

← Ad and tracker penaltiesWhat gets indexed →

Articles

What gets indexed

What CarpathianBot extracts from a page and what it ignores.

Indexed

Ignored

← Sitemap checklist