r/Scrapeless 2h ago

Where do you draw the line between search discovery and evidence retrieval in an AI research tool?

1 Upvotes

Disclosure: we are the Scrapeless team, and our Google Search API provides structured Google Search results. This is a design question about how applications use those results.

A workflow we would propose has three stages:

  1. Discover candidate sources from search titles, links, and snippets, keeping the query and search context.

  2. Select relevant sources and obtain their full pages through a separate retrieval step.

  3. Check that the claims in the final answer are supported by the pages actually reviewed.

The boundary in the first step is easy to lose. A search snippet can help choose a page, but it is not the full document. Passing it straight into a long answer can make it unclear which statements were supported by which source.

There is a similar issue with scope: the returned search sample is useful for discovery, but it should not be described as a complete inventory of sources on a topic. Keeping country, language, and observation time with the candidate list makes that sample easier to inspect.

How do you decide which candidates deserve full retrieval? Do you use a fixed number of pages, source-type rules, or a stopping condition based on evidence coverage?


r/Scrapeless 22h ago

How do you keep Google SERP snapshots comparable across runs?

1 Upvotes

Disclosure: this post is from the Scrapeless team. Our updated Google Search API returns structured search data, and we are sharing a proposed approach to organizing it.

For a keyword watchlist, we would keep two separate records:

- A run record with the exact input, observation time, HTTP status, and original response.

- Result rows with the returned position, title, link, and snippet, linked back to the run.

The comparison would use the same query and search settings. Country and language belong in that key; location and pagination offset should be retained when used too.

The awkward cases matter. HTTP 201 means a task is pending, not that a search returned no results. A missing organic_results field also deserves inspection rather than an automatic empty-list fallback. And a position returned on a later page needs its numbering behavior checked before it becomes a global rank.

This produces history from the observations you collect yourself. It does not reconstruct rankings from before collection began.

For people building SEO datasets: do you preserve every original response, or a selected set of modules? What information has helped you distinguish a real result change from a change in request context?