ego (lite) is just a browser, ego is your personal agent across devices.
Join waitlist
SERP scraping for Google & Bing results

Free SERP scraper for Google & Bing with your AI agent

Use ego (lite) as a free SERP scraper for Google and Bing search results. Send a query list to Codex, Claude Code, or another coding Agent: it runs each search in a visible browser Space on your Mac, records what the results page actually displays, and returns a CSV or Markdown report with the engine, rank, title, URL, snippet, source link, and check time for every result.

Download for Mac(yes, free)

Trusted by developers from

OpenAIAnthropicGoogleMetaNVIDIACursorPerplexity
SpaceXTeslaNotionFigmaStripeNetflixAirbnb

How to scrape Google and Bing search results in 5 steps

Give your Agent a bounded query list, the engines to check, and a clear output contract. ego (lite) supplies the visible browser, a separate Space per engine, and the takeover point for anything Google or Bing wants a human to decide.

1

Install ego (lite) and choose an authorized browser context

Download ego (lite) for Mac, then import only the Chrome context you are authorized to use. Google and Bing serve results to a signed-out browser, but what they show still depends on the session: locale, language, consent choices, and sign-in state all shape the results page. The Agent works inside the context you choose and never enters credentials or works around a check.

2

Send the SERP scraping prompt to your AI agent

Give your Agent a short prompt: the queries, the engines to check, the fields you need, and CSV or Markdown as the output format. Keep the rule that the Agent stops when Google or Bing shows a CAPTCHA, an unusual-traffic page, a consent screen, or another human decision.

3

Watch each query being searched on screen

Your Agent runs each query in its own ego (lite) Space and records the rank, title, URL, and snippet each results page displays, paging through as many result pages as you asked for. Nothing happens off screen: open the Space at any point and you can see exactly which results page a row came from.

Coding Agent reading a Google search results page in a visible ego (lite) browser Space
4

Run Google and Bing in parallel Spaces

Give each engine its own Space and run the same query list on both at once. The Google and Bing collections progress side by side without mixing browser state, which makes cross-engine comparison part of the run instead of a second job. Your own tabs stay untouched while the Agent works.

Separate ego (lite) Spaces running Google and Bing search result collection in parallel
5

Review the source-linked SERP report and flag anything odd

The Agent returns a CSV or Markdown report where every row keeps its engine, query, rank, result URL, checked-at time, and access status. Fields the results page did not display stay marked unavailable, and any query that hit a CAPTCHA or consent screen is listed for your review.

Source-linked Google and Bing search results report with ranks, URLs, and check times

Why use ego (lite) as your SERP scraper?

Most Google SERP scrapers run in a hosted cloud on proxy networks you never see, and the do-it-yourself scripts now fight a browser requirement they cannot meet. ego (lite) keeps the browser visible, the engines separate, and the report tied to its sources. It also stops at Google's and Bing's checks instead of pretending they do not exist.

Finish this browser task 3.5× faster with ego (lite)

Use the same coding Agent for the collection and the analysis that follows. It runs each search in a real browser and returns one source-linked report you can hand to a teammate. In the task shown here, ego (lite) finished in 81.8 seconds, compared with 282.9 seconds for an agent browser. Actual timing varies by website, workflow, and network conditions.

Task-time comparison for ego (lite) and an agent browser during search results research

Run Google and Bing side by side

Give each engine its own ego (lite) Space and run the same query list on both at once. Since Microsoft retired the Bing Search APIs in August 2025, there is no official self-serve Bing results API left; here, Bing is just a second Space in the same run, and the report shows where the two engines agree and where they diverge.

Parallel ego (lite) Spaces for separate Google and Bing search result collection tasks

Keep multitasking while your Spaces work

Run several research tasks in parallel, each in its own visible Space. Keep working in your own tabs, or open any Space whenever you want a progress check. If one run reaches a CAPTCHA, unusual-traffic, or consent screen, the Agent pauses only that Space and hands it back to you—without interrupting the rest.

Use only a browser context you authorize

Import the Chrome context you choose instead of renting a proxy pool. The results the Agent records are the results a real user in that session would see, shaped by its locale, language, and settings, and the report says so instead of selling you a synthetic neutral ranking.

ego (lite) Chrome context import for an authorized search session

What this SERP scraper can and cannot collect

Google's spam policies treat automated queries sent without permission as machine-generated traffic, and Microsoft's terms restrict automated access to Bing. This workflow does not change what the engines permit. It stays deliberately small by using a bounded query list, your own authorized session, and only what each results page visibly displays. It organizes search results; it does not unlock scale.

What your Agent can record

Search results the current authorized session visibly displays.

  • Organic result rank, title, URL, and snippet for each query, in the order the page displays them
  • Labeled ads, People Also Ask questions, and related searches, each recorded with its block type
  • Google and Bing results in the same run, each engine in its own Space, for side-by-side comparison
  • A source-linked CSV or Markdown report with engine, query, checked-at time, and access status on every row

What stays out of scope

No bypass, no proxy rotation, no invented metrics, no industrial tracking.

  • Search volume, keyword difficulty, or CPC numbers, because the results page does not display them
  • Bypassing CAPTCHA, unusual-traffic checks, consent screens, or rate limits, or rotating proxies and identities
  • Rank tracking thousands of keywords on a daily schedule, since each run stays bounded to the query list you provide and moves at a supervised pace
  • Clicking ads or simulating engagement with any result
  • Results deeper or fresher than what the live pages display to your session at check time

Read Google's policy on machine-generated traffic

Scrape search results you can verify later

Give your Agent the queries and the engines to check. ego (lite) turns the run into a source-linked report with visible collection, a Space per engine, and a stopping point at every check Google or Bing puts up.

Try the free SERP scraper

Google/Bing SERP scraper FAQ

A SERP scraper is a tool or workflow that collects data from search engine results pages, such as the ranked titles, URLs, and snippets Google or Bing display for a query, into a structured file like a CSV. Most SERP scrapers are hosted APIs that fetch results through proxy networks you never see. With ego (lite), your own coding Agent runs each search in a visible browser on your Mac, records only what the results page displays in your session, and keeps the source URL and check time beside every row.

Install ego (lite), then give your Agent a short prompt with the queries, the engines to check, the fields you need, and the rule to stop at any CAPTCHA or consent screen. The Agent runs each query in its own ego (lite) Space, records the visible rank, title, URL, and snippet for as many results pages as you asked for, and returns a CSV or Markdown report. You can watch the Space while it works and take over whenever Google asks for a human decision.

The free options people remember mostly stopped working in January 2025, when Google began requiring JavaScript for Search and plain HTTP scripts started getting an enable-JavaScript page instead of results. Most tools now advertising "free" resolve to trials or small monthly credit packs. ego (lite) is free to download for Mac, and the work is done by the coding Agent you already use, so the only cost is your Agent's tokens. The trade-off is scale: it is built for bounded, supervised collection, not industrial crawling.

Two changes broke most of the do-it-yourself stack. In January 2025 Google made Search require JavaScript, so requests-plus-BeautifulSoup scripts and long-unmaintained packages in the GoogleScraper family stopped receiving results HTML. In September 2025 Google also removed the &num=100 parameter, so the old one-request top-100 pull now takes ten paginated requests. ego (lite) is unaffected by the JavaScript requirement because the Agent works in a real rendering browser, but the pagination reality is one more reason to keep runs bounded.

Yes. Bing is just a second Space in the same run: the Agent opens bing.com, runs the same query list, and records the visible results beside the Google rows for comparison. This matters more since August 2025, when Microsoft retired the entire Bing Search API family and left no official self-serve results API. Microsoft's terms still restrict automated access, so the same rules apply: a bounded list, a supervised pace, and a stop at any check Bing puts up.

No. ego (lite) is a local Mac app, not a hosted SERP API. There are no endpoints, request quotas, or per-thousand-query billing. If you need to embed search results into production software at volume, a commercial SERP API is the built-for-purpose category, and the engines' terms on automated access apply to those vendors just as they do here. ego (lite) fits the other job: personal-scale research where you want to see the browser doing the work and verify every row.

Google's spam policies prohibit sending automated queries without permission, and Microsoft's Services Agreement restricts automated access to Bing. Separately, U.S. courts have declined to treat viewing public web data as computer intrusion in cases like hiQ v. LinkedIn, but such rulings do not erase the engines' terms. This is not legal advice: keep collection small, supervised, and bounded, and you are responsible for how you use what you collect.

It can. Google shows an unusual-traffic page or CAPTCHA when query patterns look automated, and consent screens appear in some regions. This workflow lowers the odds by moving at a visible, supervised pace on a small bounded list, but it cannot promise the check never appears, and it will not bypass one. When a check appears, the Agent stops in that Space, records the status, and hands the browser to you to decide what happens next.

No, and this page will not pretend otherwise. A run is bounded by the query list you provide: think a few dozen queries producing hundreds of source-linked rows in a supervised session, not thousands of keywords refreshed on a schedule. Dedicated rank trackers are the category for daily tracking, and even their costs multiplied after Google removed &num=100 in September 2025. This workflow is for bounded research you can read, check, and stand behind.

Yes. If you only need a Google URL scraper, ask for engine, query, rank, and result URL and drop the other fields. The Agent returns a clean URL list that still keeps its provenance columns, so you know which query and results page each URL came from and when it was checked. That list can feed a follow-up task, such as having the same Agent open each URL for deeper research.

Yes, when they are visible on the results page. Each row carries a block type, so labeled ads stay separated from organic results, and People Also Ask questions and related searches are recorded as displayed. The Agent never clicks ads. Fields a results page did not show for a query stay marked unavailable rather than being filled in from guesswork.

Not exactly, and no honest SERP tool can promise that. Google and Bing shape results by locale, language, search settings, and sign-in state, so the report records what a real user in your chosen browser context sees, with a checked-at time on every row. That is the point for verifiable research: you can reopen any source URL in the same session and check the row. For a different vantage point, run the list again in another context you are authorized to use.