Settings

Everything on this page can be kept as a profile: a named set of these settings you switch to from the + in the search bar, or that switches itself for some searches. To keep profiles on the server, so they follow your cookie to other devices, turn on server storage.


Safe search
Theme

What to show on results

Image strip size
Thumbnails shown above web results on page 1. 0 turns the strip off.
Results per page
1–200.
My result indicators
Your own yes/no questions asked of every result's page, one per line as label: question, up to three. A "yes" shows the label on the result, like "slop detected". Needs Result indicators on.
TLS badge colours
For the TLS & ECH badge below.
Top bar
Home, Settings, History and Bookmarks on results pages.
Archive availability
This server (not your browser) asks archive.org and archive.today for a copy. A copy found is shown highlighted and remembered by this server for good; none found is shown muted, with the link offering to save one, and asked again after a week.
More results
Jev decides when they fit.
TLS version, ECH, CDN or hosting country, and connect time for each result. Checked by this server, cached a month. Countries: IP Geolocation by DB-IP.
where the site's server is, not its language or publisher
Checks the top results' pages for trackers, fingerprinting, session recording, cookie prompts, sign-in or paywalls, bot checks, no-JavaScript readability and stale dates. Read by this server, cached a week.
Marks results on newly registered domains. This server sends only the domain name to its registry; cached a month.
Turns off Jev (the classifier that ranks, checks and tags results) and every other AI feature. What leaves this server
For an ambiguous search ("python"), offers each meaning as a search. Sends the query and result titles to Jev and a small model.
"youtube rust tutorial" goes to YouTube's search for "rust tutorial" when Jev is sure you meant the site. Sends the search to Jev.
When the dictionary card has several dictionaries, Jev chooses which one it opens on: Urban Dictionary for slang, a medical dictionary for a medical word. Sends the search to Jev.
Pick up to three results (▾ › More like this) and a small model writes a search for what they share. Sends those pages' text to the model.
When results leave a gap (all old, one viewpoint, no primary source), runs up to three extra searches and shows them under "Researched". Sends your query and the results' titles to a small model and Jev.
Up to eight follow-up searches written from the first results' pages, grouped as narrower, broader, next door, the other side and original source. Sends the pages' text to Jev and a small model.
Published and edited dates on the top ten results ("~2010" = uncertain). Sends dates and nearby words to Jev.
Tags machine-written pages among the top ten. Sends page text to the classifier.
Names a top-ten page that adds nothing over another from the same site or title, beside the results. Sends page text to the classifier.
Shows where a video came from ("site originally"). Sends its title and description to TypeSafe.
Under the top five results, the links on each page worth opening next. Sends page text to the classifier.
On the results page, long-press (hold) a result's domain or an engine badge to hide matching results live. A menu then lets you undo, or add the domain to your discard filters permanently.
▶ on YouTube, Vimeo, Dailymotion, PeerTube, Spotify, SoundCloud, TikTok and TIDAL links. Nothing loads from the site until you press it, which tells the site you came from this server.
Turns each engine indicator on a result into a link to that engine's own search for the same query.
Archive.org and Archive.is.
Puts related searches and the filter bar beside the results.
Adds time range, region, and safe search controls below the category tabs.
Group consecutive results from the same domain into one collapsible row.
The results line
The line above the results. Settled time is your browser's own clock, from your click until it stopped fetching.

How to calculate results

Which engines are asked, how long to wait for them, when a saved copy will do, and how the results are ordered. What each result shows is under What to show on results.

Cache freshness
43200 = 30 days; 0 = always fresh. Engine IDs as shown in brackets under Engines, separated by commas; blank = any. A saved copy, ours or a friend’s, that lacks one is searched again. A friend never shares results from the engines it runs on its own keys, so naming one of those rules out that friend’s copies. Unknown IDs are dropped on save.
My algorithm
What to move up and push down, in plain words. Up to 1000 characters, sent to the ranking model: write about results, not yourself. Needs Rank by my algorithm.
Rewrites your search for an engine your algorithm names ("on Hacker News, search the product name only"). Never adds words. Sends your algorithm and query to a small model.
Max wait after first positive result (ms)
Idle timeout after last result (ms)
Time for the classifier to rank, before the page is sent (ms)
0 leaves the engines' order.
Reorders the results the engines sent back, by how well each fits your search and the rules you write under My algorithm, and can bring good results up from further down the list. It works only with what the engines found: it does not search by itself, and it does not replace the search engines or real research. A result that moved shows ↑2 or ↓1; hover it to see why. What leaves the server is listed on About.
A search typed the way you'd say it is also searched in the words an engine does best with, and the results are merged. Sends the search to Jev and a small model.
Engine configuration
Single engine mode
Proxy a single engine — your results come only from it. Other engines still cache in the background, but this turns off metasearch entirely (no cross-engine merging, weights, or ranking-profile reranking) for your searches.

Changing anything here replaces the server's defaults for this category.

Result reranking & Goggles

Shape which results rise, sink, or disappear — independent of which engines produced them. Rerank-raise a domain to float it up; rerank-discard one to drop it from the results entirely. If you need longer or more shareable rulesets, a Goggle can be used (a standard introduced by Brave) — it can boost, downrank, or discard by site or URL pattern. Your rerankings apply on top of the Goggle: a rerank-discard always wins (the result is gone no matter what the Goggle says), and a rerank-raise stacks with any Goggle boost.

Goggle URL
A Brave-compatible Goggle ($boost/$downrank/$discard by site or URL pattern). Applies to every result type; refreshed every 30 minutes.
Rerank & Goggle storage
Server copies are deleted after 90 days unused.
Rerank — discard domains (sites you've hidden)
Includes sites hidden by long-press. Subdomains included.
Rerank — raise domains
Comma/space separated; subdomains included (reddit.com also matches old.reddit.com).
Or upload a Goggle
Drop a .goggle file here, click to choose, or paste its text below.
Stored on the server. Max 2 MB. Replaces the Goggle URL above.

History & Privacy

Stored history shows up as bolded suggestions when you start typing in the search bar.

Syncs your History page across devices with this cookie.
Enables viewing of history page without serverside storage. Uncheck to destroy all records.
This server keeps an anonymous list of what's been searched, never tied to you. It powers the Trending page. Uncheck to leave your searches out of it. To stay in it but out of Trending, tick “Don't count my searches in Trending” below instead.
Bookmark flag button
Long-pressing a URL segment bookmarks it either way.
Tracker detection (server-side)
Known trackers on each result (WhoTracksMe data).
Searches enter the shared cache keyed by an unreadable hash so repeats are instant for everyone. If you just want fresher results, lower "Cache freshness" in How to calculate results --even to 0, which never serves you from the cache but still caches for others. You may also consider scheduling a search (below) to avoid unwanted potential correlations, instead of disabling this rule. Unchecking this is left as an option for paranoiagenic circumstances, however it is advisable, if you suspect this metasearch provider is compromised in any way, to just use a different one. 4got protects everyday people from surveillance and dragnets, but does not completely replace opsec intelligence and internet common sense for those who are targeted and in danger.
A search shows on Trending only once 3 different people made it the same day; who made it is never shown. Tick to leave yours out.
A link appears in this server's directory once at least five different people who opted in keep it; the page shows the count, never who. Only bookmarks stored on the server can count.
Dead links (server-side)
Marks results this server couldn't reach. Cached a day.
Marks results that weren't in your previous search for the same query. Requires history to be on.
Remembers which results you open, kept in this browser, never on the server. Only Save results I open to archive.org sends an address, through the server to archive.org. Requires history to be on.
Each result is saved once, on the open you choose (1 is the first). The address goes through this server, which keeps nothing, to archive.org, where the copy is public. Requires Store what I click.
Of the results marked new, keeps the mark only on those you have not opened before. Requires Highlight new results and Store what I click.
Lock what this browser keeps

Localization

Known languages
Comma-separated ISO 639-1 codes (e.g. en,es,fr). Results in other languages will be auto-translated into your first known language.
Region (blank = all)
Your location
For weather and distances. Its name is looked up at Open-Meteo or OpenStreetMap.
Temperature unit
Distance unit
Your query is also translated into up to two of your other known languages, and each translation is searched too; those results are mixed in with a small language tag. Slower. Sends the query to the translation service.

Advanced

Private local engine
A search endpoint on your own machine — an Obsidian vault indexer, recoll, a Kiwix archive. Your browser queries it directly and merges the results here; this server never sees the query or the results. Loopback addresses only. Your searcher must answer with 4got result JSON and send Access-Control-Allow-Origin and Access-Control-Allow-Private-Network: true. Result URLs may use custom schemes like obsidian://. Chrome may ask once for local network access: allow it.
Send to my download client
Puts a send to… button next to NZB and torrent results. Your browser posts to your downloader directly — this server never sees what you download. Format client|url|key where client is sabnzbd, nzbget, qbittorrent or transmission. Loopback and LAN addresses only; your client must send an Access-Control-Allow-Origin header.
Lock this browser to a profile
Pins this browser to one profile and hides Settings behind the PIN — the profile switcher and ?profile= stop working. Leave the profile blank to lock to the one currently selected. Clearing this site's cookies removes the lock.
Search method
When your search ends with a tab name (e.g., "paris maps", "cats videos", "react packages"), automatically switch to that tab with the keyword removed.
Show results as each engine answers. Web tabs only.
Scores inside domain clusters always show.
Engine badges
Oracle & AI
Otherwise your query goes to: CoinGecko; DuckDuckGo instant answers; Foursquare / HERE, Open-Meteo / OpenStreetMap (place names); Open-Meteo / OpenStreetMap (place names); OpenStreetMap (map tiles) and Open-Meteo (elevation); OpenStreetMap / Nominatim; OpenWeatherMap / Open-Meteo; USGS; WHOIS servers; Wikipedia; Wolfram Alpha; aqicn.org; company-data services; dictionaryapi.dev, Wiktionary, Urban Dictionary, Merriam-Webster, Wordnik; doi.org; exchange-rate services; flight-status services; ipapi.co; lyrics services; music services; news APIs; package registries; public DNS resolvers; public statistics APIs; radio-browser.info; recipe services; sports-score services; stock-quote services; the configured translation services; the site itself (a TLS handshake).
Oracles on the All tab
Oracles on other tabs
Sometimes: when your search asks for one. Always: each tab's own as well, on every search.
AI on double-search
When you search twice or prefix !!.
Instant-answer shortcut
When a query is fully answered by a local oracle (a calculation, a unit conversion, a color code), show just the answer instead of asking every engine, with a "search anyway" link.
Custom AI instructions
Added to the AI's instructions; they win on conflict.
AI on search
When no instant answer matches, a classifier picks one. Sends the query.
Answers yes/no questions ("does olive oil go bad") when the classifier is confident; never on health or safety.
Starts the research agent when a cited answer would beat links ("should I buy an electric car"); it may ask up to three questions first. Sends your query and the first result titles to a classifier.
Display an experimental live dot graph during speed test and benchmark oracles.
Oracle configuration
Local
External
API keys

Your keys are stored as cookies in this browser. Clear a field and save to remove one.

Not shared
Jev, the classifier (TypeSafe)
Paid per question asked — While the account has credit — Get a key
Google via SerpApi (paid)
100 searches/mo free, then paid per search (shared across all SerpApi engines) — No expiry — Get a key
Yandex via SerpApi (paid)
Shares your SerpApi quota with the other SerpApi engines — No expiry — Get a key
DuckDuckGo via SerpApi (paid)
Fallback; shares your SerpApi quota — No expiry — Get a key
GitHub code search
10 req/min authenticated (code search needs a token) — No expiry; classic tokens can be set to expire — Get a key
GitLab snippets
2,000 req/min authenticated — Set when you create the token — Get a key
RAWG (video games)
20,000 requests/month on the free tier — No expiry — Get a key
Google Programmable Search (paid)
100 queries/day free, then paid — No expiry — Get a key
Exa (searches by meaning) (paid)
$10 of free credit each month (about 590 searches), then about $17 per 1,000 — No expiry — Get a key
IEEE Xplore
200 calls/day on the free tier — Keys go inactive if unused — Get a key
IsThereAnyDeal
Generous; fair-use — No expiry — Get a key
Libraries.io
60 req/min — No expiry — Get a key
Podcast Index
Free, fair-use — No expiry — Get a key
Springer Nature (open access)
5,000 calls/month free — No expiry — Get a key
Wolfram|Alpha
2,000 queries/month free — No expiry — Get a key
DeepL
500,000 chars/month free — No expiry — Get a key
Freesound
Fair use, throttled — No expiry — Get a key
ChatNoir (Webis)
API key required — No expiry — Get a key
Spotify (paid)
Requires registered app + OAuth — OAuth tokens expire hourly — Get a key
Spotify Client ID
Used with spotify_client_secret for OAuth — No expiry — Get a key
Spotify Client Secret
Used with spotify_client_id for OAuth — No expiry — Get a key
Brave Search API (paid)
$5/1K requests; $5 free credit each month (about 1K requests) — No expiry — Get a key
Yep Search API (paid)
$4/1K balanced, $8/1K advanced — No expiry — Get a key
AQICN (Air Quality)
1,000 req/min free — No expiry — Get a key
Currents API (News)
600 req/day free — No expiry — Get a key
OpenWeatherMap
1M calls/month free — No expiry — Get a key
Foursquare Places
500 calls/month free since June 2026; this server stops its own key at 14 a day — No expiry — Get a key
HERE Places
30K transactions/month free (base plan); this server stops its own key at 900 a day — Requires a card and billing address at signup (any address and a privacy.com card were accepted) — Get a key
MW Collegiate Dictionary
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Thesaurus
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Learner's
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Medical
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Spanish-English
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW School Dictionary
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Elementary
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Intermediate
1K queries/day free (shared across MW keys) — No expiry — Get a key
MW Intermediate Thesaurus
1K queries/day free (shared across MW keys) — No expiry — Get a key
Wordnik (Multi-source Dictionary)
100 calls/hour free — No expiry — Get a key
Alpha Vantage (Stocks)
25 requests/day free — No expiry — Get a key
Twelve Data (Stocks)
800 calls/day free — No expiry — Get a key
Finnhub (Stocks + News)
60 calls/min free — No expiry — Get a key
Newsdata.io (News)
200 credits/day free — No expiry — Get a key
The Guardian (News)
500 calls/day free (developer key) — No expiry — Get a key
GNews (News)
100 requests/day free — No expiry — Get a key
Google Cloud Vision (Reverse Image)
1K units/month free, $3.50/1K after — No expiry — Get a key
SerpApi (Google Lens + Reverse Image) (paid)
100 searches/mo free, then paid per search (shared across all SerpApi engines) — No expiry — Get a key
SauceNAO (Anime/Art Reverse Image)
200/day free (6/30s burst) — No expiry — Get a key
Flickr
3,600 queries/hour free — No expiry — Get a key
TMDB (Movies)
~40 requests/10s free — No expiry — Get a key
Giphy
42 requests/hour (free tier) — No expiry — Get a key
SoundCloud
Client ID required — No expiry — Get a key
Pexels (Images)
200 requests/hour free — No expiry — Get a key
Naver Papago (Translation)
10K chars/day free — No expiry — Get a key
Microsoft Translator
2M chars/month free — No expiry — Get a key
Lingva Translate Instance URL
Self-hosted, no external limit — No expiry — How to self-host
NLLB Model URL
Self-hosted, no external limit — No expiry — How to self-host
Usenet & torrent indexers (bring your own subscription)
Newznab/Torznab indexers and self-hosted aggregators, asked with your key. Results appear in the Files tab and are never cached.
NZBGeek (usenet) (paid)
Paid membership; generous API limits — While your membership is active — Get a key
NZBFinder (usenet) (paid)
Free tier is limited; paid tiers higher — While your membership is active — Get a key
DrunkenSlug (usenet)
Free tier available; invite-gated at times — While your membership is active — Get a key
Prowlarr (self-hosted — all your trackers at once)
Yours; no external limit — None — How to self-host
Jackett (self-hosted — all your trackers at once)
Yours; no external limit — None — How to self-host

Abuse of 4got or anything that gets it banned may lead to your data being deleted and the server being more locked down for everyone, so don't do that please. Keep shared limits low.

Hostname rewriting

Rewrite walled-garden URLs to privacy-friendly alternatives. Leave blank for default, or off to disable. Comma-separated hostnames are supported (e.g. old.reddit.com, teddit.net) — the first is used for rewrites.

youtube (youtube.com, www.youtube.com, m.youtube.com)
reddit (reddit.com, www.reddit.com, new.reddit.com)
twitter (twitter.com, x.com, www.twitter.com, www.x.com)
medium (medium.com)
imgur (imgur.com, www.imgur.com, i.imgur.com)
tiktok (tiktok.com, www.tiktok.com)
fandom (fandom.com, www.fandom.com)
doi (doi.org, dx.doi.org)
Translation matrix override
This will override any setting inside of the translation matrix override
all backends
Comma-separated backend priority, e.g. llm,lingva,microsoft,nllb
eu backends
Comma-separated backend priority, e.g. llm,deepl,lingva,microsoft,nllb
cjk backends
Comma-separated backend priority, e.g. llm,papago,lingva,microsoft,nllb
llm: unlimited
deepl: unconfigured — add API key in API Keys section
papago: unconfigured — add API key in API Keys section
lingva: 0/100 today
nllb: unconfigured — add API key in API Keys section
microsoft: unconfigured — add API key in API Keys section
Banner preferences
Lucky opens the first result of what you typed, or with the box empty, a search someone here made recently.

Uncheck banners you don't want to see on the landing page.

API Usage
(shared) — covered by the server

Profiles & tabs (global)

Applies to every profile.

Your tabs
Torrents and Usenet are built in, behind More.
Custom tabs appear behind More. Saved immediately.
Profile rules
Switch profiles by themselves. One rule per line: a condition, ->, then a profile's short name (or default). The first rule that holds picks the profile. Tab profiles, locks and + menu picks override rules.
    Variables and functions

    Write conditions with and, or, not, parentheses, == != < <= > >=, numbers, and text in quotes. # starts a comment. “Now” is this request's value.

    What the request shows

    phone yes-or-no now: no
    The browser says it is a phone (“desktop site” mode counts as desktop).
    tablet yes-or-no now: no
    The browser says it is a tablet. iPads report as desktop; use touch.
    desktop yes-or-no now: yes
    Neither phone nor tablet.
    lang text now: ""
    The browser’s first language (“de”, not “de-AT”); empty if none.
    hour a number now: 1
    The hour, 0–23, in your time zone (UTC until known).
    weekday text now: "sat"
    The day now, in the same time zone as hour. Values: "mon", "tue", "wed", "thu", "fri", "sat", "sun".
    weekend yes-or-no now: yes
    weekday is sat or sun.
    tab text now: "all"
    The tab being searched. Tabs with their own profile ignore rules. Values: "all", "images", "videos", "news", "music", "science", "it", "files", "maps", "social", "books", "forums", "packages", "weather", "lyrics".
    profile text now: "default"
    The profile picked in the + menu, or “default”.
    tor yes-or-no now: no
    The request came from a known Tor exit.
    onion yes-or-no now: no
    The request came to this server’s .onion address.
    gpc yes-or-no now: no
    The browser sent Global Privacy Control (Firefox private windows, Brave).
    save_data yes-or-no now: no
    The browser asked to save data (Chromium only).

    What only the browser knows

    network text now: "unknown"
    Connection type (Chromium on Android/ChromeOS only; otherwise “unknown”). Values: "cellular", "wifi", "ethernet", "other", "none", "unknown".
    cellular yes-or-no now: no
    network is “cellular”; no when unknown.
    wifi yes-or-no now: no
    network is “wifi”. No when the browser does not say.
    speed text now: "unknown"
    Recent connection speed (Chromium only). Values: "slow-2g", "2g", "3g", "4g", "unknown".
    width a number now: unknown
    The window’s width in CSS pixels at the last page load; unknown before the browser has reported it.
    screen text now: "unknown"
    width as a class: “narrow” below 600, “medium” below 1024, “wide” from 1024; “unknown” before the browser has reported it. Values: "narrow", "medium", "wide", "unknown".
    touch yes-or-no now: unknown
    The main pointer is a finger.
    dark yes-or-no now: unknown
    The system prefers dark colours.
    reduced_motion yes-or-no now: unknown
    The system asks for less motion.

    Functions

    accepts("fr")
    yes when the browser lists that language anywhere (lang is only the first).
    known(width)
    yes when the variable has a value.
    between(hour, 22, 6)
    yes when the first number is at least the second and below the third; ranges wrap (22 to 6 is the night).

    Private windows

    Private windows start without cookies, so rules don't apply there. Closest signals: gpc (Firefox private windows) and tor.

    Without server storage

    A rule's profile applies after one extra page load.

    Tabs
    Searches on a tab use its profile.
    Research contexts
    Loading…
    While a context is active, results you’ve seen (scrolled past, opened or marked ✓) are hidden from later searches. Needs server storage.
    Saved as cookies in this browser. View your data below.

    Your data

    Nothing saved; using defaults.

    Your data. Download everything linked to this cookie as JSON lines: settings, history, bookmarks and folders kept on this server, likes, profiles and research contexts, scheduled searches. Bring it here or to another 4got:
    An import adds to what is here and deletes nothing.
    Server-stored data is not end-to-end encrypted.

    Move it elsewhere. Move what you have here onto another browser, another device, or another 4got server. Pick what travels. Settings on their own make a plain link that is safe to paste anywhere. Adding your API keys or your session makes a secret passport: it works once, expires in 15 minutes, and anyone holding it can use your API keys, or take over your cookie, on this server until you clear your data. Your session cannot be separated from your history and bookmarks, because those are stored against it.




    As a bookmark, only settings keep working.



    Got one from another device? Open its link, or paste it here.

    Themes and colours

    Paste colour values (--bg0: #1d2021; one per line, or a whole body { … } block), name it, pick dark or light, save. Stored in this browser. Accepted tokens: bg bg0 bg1 bg2 bg3 fg fg0 fg1 fg2 fg3 blue green yellow red comment footer-bg oracle-bg.
    To use a theme for one profile, pick it beside the mode.

    Scheduled & standing searches

    Scheduled: runs once at a set time. Standing: re-runs whenever its copy is older than your freshness window.
    Scheduling hides your search timing from the upstream engines, not from this server: the server has to hold the query to run it later. Once you delete a schedule the row is gone, and the run itself was never logged against your cookie, so with server history off nothing links that search back to you.
    Push to ntfy when a run finds new results (the query and the new results’ titles and links go to that server; on ntfy.sh use an unguessable topic). Webhooks get JSON (title, body, link); add #secret to the URL to sign it with HMAC-SHA256 in X-4got-Signature.
    Limits: 0 standing, 3 pending scheduled. Blank freshness = 43200 min.
    Server: 20.9 GB / 1000.0 GB · resets Oct 4 20:44 UTC (1.8 days)