AI Icebreaker Generator - Cold-Email Opening Lines avatar

AI Icebreaker Generator - Cold-Email Opening Lines

Pricing

from $3.00 / 1,000 result (base)s

Go to Apify Store
AI Icebreaker Generator - Cold-Email Opening Lines

AI Icebreaker Generator - Cold-Email Opening Lines

Generate one personalized cold-outreach opening line per Google Maps place record using a BYO LLM key chain (Gemini, Groq, OpenRouter). Base mode uses only fields already on the place record (zero fetch). Enriched mode also fetches the homepage and folds a summary into the prompt. Pay-per-result.

Pricing

from $3.00 / 1,000 result (base)s

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

AI Icebreaker Generator

Turn a batch of Google Maps place records into one hyper-personalized cold-outreach opening line per business. Bring your own LLM key (Gemini has a generous free tier). Two modes: base uses only fields already present on the place, enriched also fetches the homepage and folds a summary into the prompt.

Feed it the output of the Google Maps Scraper and get one ready-to-send opener per business.

What It Does

Given a Google Maps place record, the actor asks an LLM to write ONE sentence that:

  • Is at most 200 characters
  • References something specific about the business (rating, category + city, tenure, description, homepage detail)
  • Matches the requested tone (friendly, professional, casual, direct)
  • Is grounded in the input data. Never a generic template, never invented facts.
  • Falls back to an empty string when the record has too little signal (no name, or missing category AND reviews AND description)

Modes

Base (default, zero-fetch)

Uses only fields already on the place record:

  • title / name
  • category, categories
  • city, country (from complete_address)
  • rating / review_rating, review_count
  • description
  • phone, website (reference only, not fetched)

Enriched (opt-in)

Set enableEnriched: true. In addition to base mode, the actor fetches the business's homepage, condenses it into a ~1000 character markdown summary (headings + tagline + prose paragraphs), and appends it to the LLM prompt. Falls back silently to base mode when the site returns non-200, redirects strangely, or trips an anti-bot challenge.

Input

Two shapes are accepted, and you can mix them in one run.

Flat places list (natural shape, just pipe the google-maps-scraper output):

{
"places": [
{
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"title": "Example Coffee House",
"category": "Coffee shop",
"website": "https://example-coffee.example",
"rating": 4.8,
"review_count": 1240,
"complete_address": { "city": "Berlin", "country": "Germany" }
}
],
"tone": "friendly",
"outputLanguage": "en",
"geminiApiKey": "AIza..."
}

Companies shape (with a company_id passthrough for join-back to your CRM):

{
"companies": [
{ "company_id": "acme-42", "place": { "place_id": "ChIJ...", "title": "Example Company Ltd." } }
],
"tone": "professional",
"geminiApiKey": "AIza..."
}

LLM Configuration

You must supply at least one LLM key. All three providers are supported:

ProviderFree tierGet a key
GeminiYes (generous)https://aistudio.google.com/app/apikey
GroqYeshttps://console.groq.com/keys
OpenRouterPay-as-you-go, cheaphttps://openrouter.ai/keys

Set llmProvider to pick the primary, fallbackProvider and fallback2Provider for the chain. Same-provider transient errors (5xx, timeouts) get one retry; auth/quota errors fall through to the next provider.

Output

One row per input place:

{
"company_id": "acme-42",
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"name": "Example Coffee House",
"icebreaker_line": "Noticed you are running one of the highest-rated (4.8 stars, 1,240 reviews) coffee shops in Berlin. Curious how you keep that streak going.",
"icebreaker_enriched": false,
"llm_provider": "gemini",
"llm_model": "gemini-2.0-flash",
"llm_tokens_input": 340,
"llm_tokens_output": 45,
"generated_at": "2026-07-17T10:30:00Z"
}

icebreaker_line is an empty string when the record had too little signal to produce a specific line. The actor never invents facts to fill the gap.

How To Use It

  1. Run Google Maps Scraper to collect places for a niche and city.
  2. Feed the dataset into this actor as places (or wrap each in companies for join-back).
  3. Pick a tone, set your Gemini key, and (optionally) turn on enriched mode.
  4. Drop the output into your outbound sequencer.

Pricing

Pay-per-result via Apify Pay-Per-Event billing:

EventPriceDescription
Actor start$0.001Charged once per run
Icebreaker generated (base)$0.003Charged per row in base mode
Icebreaker generated (enriched)$0.005Charged per row when enriched mode succeeded

Generating 1,000 lines in base mode costs about $3. Empty input rows and rows the model refused to write for (insufficient signal) are still counted as a result. LLM API usage is billed by your provider directly, not by this actor.

Discovery:

Enrichment:

Notes

  • Empty input is free. No enrichment-start is billed unless there is at least one valid place.
  • The proxy configuration is only used by enriched mode's homepage fetch.
  • Language: set outputLanguage: "auto" to have the model match the business's country language.

Issues & Feature Requests

If the model keeps refusing lines for a class of business, or if you would like a new tone, open an issue on the actor's Issues tab and we will take a look.