rtrvr.ai logo
Retriever AI
Blog
Book Demo
Pricing
API Docs
Back to Blog

The first browser agent that enriches datasets agentically

Retriever Enrich turns dataset enrichment into generated code running in your browser: prompt on your sheet, the agent writes the enrichment program, and records land at wholesale per-record pricing — no seats, no credit bundles, no fixed waterfalls.

Arjun·July 14, 2026·5 min read
The first browser agent that enriches datasets agentically
9 marketplace datasets
LinkedIn people, contacts & companies, Crunchbase, Instagram, Amazon, Zillow, Indeed, Google Maps
Generated pipelines
The agent writes the waterfall per request — auditable, editable, replayable
Wholesale pricing
$2.50/1k lookup records, $1.50/1k scraped — no seats, no bundles
Approval-gated
Cost estimated and approved in-task before any paid call runs

Agentic Dataset Enrichment demo

Watch Retriever write and run an enrichment pipeline against a live sheet.

Agentic Dataset Enrichment demo
2:45

The data enrichment industry has a familiar shape: a SaaS dashboard, a seat license, a credit bundle that expires monthly, and a fixed menu of "waterfall" templates someone else designed.

You export a CSV from wherever your data actually lives. You upload it to their tool. You map columns. You buy credits at a healthy markup. You hope the waterfall they hard-coded happens to match your problem.

If it doesn't, you open a support ticket or duct-tape three more tools together.

We think that whole shape is wrong. Enrichment is not a product you subscribe to. Enrichment is a program — a loop over your rows, a lookup against a dataset, a join on a key, a fallback when the first source misses. Programs are exactly what agents are good at writing now.

So we shipped what we believe is the first implementation of agentic dataset enrichment, running right in your browser.

What it looks like

You open the Google Sheet you already have — say, 500 companies with nothing but domains. You tell Retriever:

text
Enrich these companies with headcount, industry, and funding, then find a decision maker at each and pull their work email.

No column mapping. No template gallery. No CSV export.

Retriever reads your sheet, writes a JavaScript enrichment plan against the rtrvr.* harness, shows you the estimated cost, and — after you approve — executes it in a sandbox in your extension. Matched records join back onto your rows and stream into the sheet.

The agent isn't picking from someone's prebuilt waterfall. It is writing your waterfall, for this dataset, this request, this sheet — and you can read every line it runs.

The mechanics

Under the hood is a new harness helper, rtrvr.enrich, wired into our code-as-plan architecture and backed by Bright Data's dataset marketplace:

  • Instant lookup — filterable queries over the LinkedIn people, LinkedIn contact-enriched (work emails / phones), and LinkedIn company datasets. The agent composes typed filters (=, in, includes, nested and/or groups) from your plain-English ask.
  • Live scrape — fresh scrape-by-URL for Crunchbase, Instagram, Amazon, Zillow, Indeed, and Google Maps, up to 20 URLs per call.
  • Free discovery — listing datasets and inspecting their field schemas costs nothing, so the agent explores before it spends.

The part that matters: everything around the paid lookup is deterministic code, not model turns. Key extraction, batching, retries, joins, dedup, projection — a for-loop should not cost tokens, and here it doesn't:

js
// Build lookup keys from your sheet rows — the LinkedIn profile slug, not the URL. const ids = rows .map(r => r.linkedinUrl?.split('/in/')[1]?.split(/[/?#]/)[0].toLowerCase()) .filter(Boolean); // Estimate cost and get explicit approval before any paid call. const estCredits = Math.ceil(ids.length * 0.25); const { answers } = await rtrvr.askUser({ questions: [{ key: 'enrichApproval', query: `Enrich ${ids.length} LinkedIn profiles for ~${estCredits} credits?`, choices: ['Yes', 'No'], }], }); if (answers.enrichApproval !== 'Yes') return { summary: 'Enrichment declined.' }; // One instant lookup — batching against the dataset API happens server-side. const { records } = await rtrvr.enrich({ dataset: rtrvr.datasets.linkedinPeople, filter: { name: 'id', operator: 'in', value: ids }, fields: ['name', 'position', 'current_company', 'city'], });

That is the code the agent generates and runs. You didn't write it, but you can audit it, edit it, save it, and replay it on next month's sheet without paying for a single planning token again.

Long jobs don't hold your browser hostage

A heavy scrape (20 Zillow listings, a batch of Crunchbase profiles) can outrun the provider's sync window. When that happens the call comes back instantly as { pending: true, snapshotId } — having billed nothing — and the plan keeps doing other free work while the job finishes:

js
let { records, pending, snapshotId } = await rtrvr.enrich({ dataset: rtrvr.datasets.zillowProperties, scrapeUrls: listingUrls, fields: ['zpid', 'address', 'price', 'bedrooms'], }); if (pending) { ({ records } = await rtrvr.enrich({ collect: snapshotId, fields: ['zpid', 'address', 'price', 'bedrooms'] })); }

Records are billed at exactly one place in the pipeline, so the inline and deferred paths can never double-charge — and a finished job never hands back a collectable handle again.

Wholesale pricing, because the model writes the pipeline

The enrichment SaaS markup pays for the dashboard, the template gallery, and the sales team. When an agent writes the pipeline on demand, none of that needs to exist:

  • Instant lookup: 0.25 credits per returned record ($2.50 per 1,000). Zero matches, zero cost.
  • Live scrape: 0.15 credits per successful record ($1.50 per 1,000). Failed inputs are free.
  • Discovery: free. Pending jobs: free until collected.

No seats. No monthly credit bundle. No minimums. 1 credit = $0.01, passed through at cost, and every paid call is estimated and approved inside the task before it runs.

Why the browser is the right place for this

Every other enrichment tool lives server-side, cut off from where your work actually happens. A browser agent isn't:

  • Your session is the context. Enrich the sheet you have open, the search results you're looking at, the profiles in your other tabs — no export/import loop.
  • Verification is one hop away. A dataset record is a claim; your agent can open the source page and check it, with your logins, before it writes a row.
  • Fallbacks compose on the fly. Missing an email after the lookup? The same plan chains rtrvr.webSearch (0.15 credits a query) and live page extraction as the next tier — an ad-hoc waterfall, written per run, instead of a fixed template.

Enrichment tools sell you a pipeline. Agents write pipelines. Once the pipeline is generated code running next to your data, the subscription layer in the middle is just rent.

Stop renting waterfalls. Prompt your sheet.

Retriever Enrich is live now in the extension — enable it under Settings → Labs, open a sheet, and ask. Full dataset list, filter syntax, and pricing in the docs.

Share this article:
Back to Blog

Build With Retriever AI

Explore Rover or run the full cloud platform

Try the free Chrome extension, turn websites into agentic interfaces with Rover, or run automations at scale in the Cloud.

Try Extension FreeExplore RoverTry Cloud Platform
Install Extension•Read Docs•BYOK Gemini friendly

On this page

  • What it looks like
  • The mechanics
  • Long jobs don't hold your browser hostage
  • Wholesale pricing, because the model writes the pipeline
  • Why the browser is the right place for this
rtrvr.ai logo
Retriever AI

Retrieve, Research, Robotize the Web

By subscribing, you agree to receive marketing emails from Retriever AI. You can unsubscribe at any time.

Product

  • Browser Extension
  • Cloud
  • RoverNEW
  • API & MCP
  • CLI & SDK
  • Templates
  • WhatsApp

Use Cases

  • Vibe Scraping
  • Lead Enrichment
  • Agentic Form Filling
  • Web Monitoring
  • Social Media
  • Job Applications
  • Data Migration
  • AI Web Context
  • Agentic Checkout

Compare

  • vs Apify
  • vs Bardeen
  • vs Browserbase
  • vs Browser Use
  • vs Clay
  • vs Claude
  • vs Comet
  • vs Firecrawl

Resources

  • Documentation
  • Blog
  • Newsletters
  • Changelog
  • Integrations
  • Pricing
  • Book Demo
  • Affiliate Program

Company

  • Team
  • Contact
  • GCP Partner
  • Privacy Policy
  • Terms of Service
  • Security Brief
support@rtrvr.ai

© 2026 Retriever AI. All rights reserved.

Made withfor the automation community