Search Google
Run a Google search and return the page's organic result cards (title, url, site, byline, meta, snippet), with redirect wrappers already cleaned from urls. Runs with your injected Google cookies (loggedIn:true), so results are personalized to your account/IP.
Supports full Google query syntax: site:, quoted "exact phrases", OR, -exclude, intitle:. Quoted phrases return a smaller, more precise set; dropping quotes broadens recall with some near-miss results mixed in. Use site: to scope a domain/path, e.g. site:www.linkedin.com/in.
Each call returns one results page (up to ~10 organic cards, no per-call count option). Use `page` (0-based) to move through further pages, mirroring the search results pager. Pages are reproducible on the same account/IP and are largely non-overlapping (occasional overlap of one result at page boundaries), so different pages can be fetched concurrently and unioned — always dedupe by canonical url.
Narrow queries return the same results in the same order across replays on one account/IP; very broad, high-volume queries may reorder between runs.
For broader coverage, fetch multiple pages concurrently and/or split the query itself — vary the site: path, phrases/OR-terms, or use `freshness` for disjoint date-bounded windows. Always dedupe by url.
Search Gmail
Search the signed-in Gmail with the native query syntax (from:, to:, subject:, has:attachment, after:/before:, labels…) and return matching threads: threadId (feed it to get_thread / reply_to_email), sender, senderEmail, subject, snippet, date, unread, starred, hasAttachment. Results are threads rather than individual messages, which is Gmail's own search granularity, and only the first page of results is returned (up to 50).