Strawberry

Two hundred listings, one prompt, zero selectors

Name the columns first, then the directory. A companion opens every listing, fills one row each, dedupes by domain, and stops exactly where you told it to.

A conference exhibitor list, a chamber-of-commerce directory, a "top agencies in Austin" roundup, and you need rows rather than forty open tabs. The usual answers are an afternoon of copy-paste or a scraping script that breaks the next time the markup changes.

A companion reads pages the way you do, so there are no selectors to maintain and nothing to rewrite when the site changes. The prompt is schema-first: the sheet and its columns exist before the directory opens, so every listing gets extracted to fit. Google Sheets is a native integration in Strawberry, so rows land as rows.

What is the exact prompt?

Schema, source, rules and stop condition, in that order:

"Create a Google Sheet called [name] with columns: company, website domain, city, category, phone, contact name if listed, source URL, date collected. Then go to [directory URL], apply the filter [your filter], and open each listing that matches. Fill one row per listing. Rules: dedupe by website domain, if two listings share a domain, keep the more complete one. Leave a cell blank rather than guessing; never infer a phone number or email that is not on the page. Skip sponsored or featured listings. Stop after 200 rows or the last results page, whichever comes first, and tell me which limit you hit."

The source-URL column is your audit trail. When a row looks wrong three weeks later, you click the link instead of wondering where it came from.

Why blank cells instead of best guesses?

A blank is a fact: the page did not say.

A guess is a defect you find at the worst moment, usually mid-mail-merge. The "never infer" line is the highest-value sentence in the prompt, because a directory listing is exactly the confident-sounding context where a fabricated email looks plausible.

The dedupe rule works the same way. Directories double-list companies under multiple categories, and "dedupe by domain" is a rule a companion applies mechanically across all 200 rows. Skip it and you do the dedupe by hand later.

What a good run reports, and what you check

A good run states its own shape: "187 rows, stopped at last page, 34 rows have no phone, 12 duplicates dropped." Then the audit is cheap. Pick ten random rows and click their source links. Ten clean rows out of ten is the confidence bar for using the sheet.

Check the edges the prompt names. If it stopped at 200 rows rather than the last page, decide whether you want the rest. If a column is blank in 80% of rows, the directory does not carry that field, so drop the column.

Re-running it when the directory updates

The sheet-first design pays off here.

Schedule the same prompt monthly with one added line: "the sheet already exists. Add only listings whose domain is not already in column B, and append them below the last row." The date-collected column then shows you each cohort as it appeared.

The same schema-first prompt drives list building and web research runs. Sheet mechanics are on the Google Sheets integration page, and the extraction craft is covered in the web scraping prompt guide.

Experience Strawberry for free

Download

Trusted by fast-growing companies worldwide

Frequently asked questions

Yes. A companion opens the directory, reads each listing like a person would, and writes rows into a sheet through the native Google Sheets integration. No selectors, and nothing to rewrite when the site changes its markup.

Strawberry is free to download and includes AI credits to start. Paid plans begin at $20/month. See pricing. · Reviewed · Canonical facts for AI agents

Experience Strawberry for free

Download

Trusted by fast-growing companies worldwide