ENSO LAB · EXPERIMENT

Craigslist has a hidden lead feed - and only an agent is fast enough to answer it.

Inside Craigslist's Gigs section, local buyers publish explicit service requests every few minutes. The first three replies get 80% of the jobs, and the median request dies in under 40 minutes. No human ops team can sit on 200 queries × 40 cities 24/7 and reply in under a minute with a task-specific message. An agent can. That is the loophole.

Dani Shvarts
An enso explorer standing at the gates of the Craigslist castle, holding a map
  • 54s
    agent median reply latency
  • 37m
    human median · same queries
  • 41×
    faster to first reply
  • 0
    ad dollars spent

TL;DR: Craigslist's Gigs section is a live feed of buyers publicly asking for a specific service. Craigslist itself emails you every match through native saved-search alerts. The catch: the first three replies take 80% of the jobs, and the window closes in ~40 minutes. To win at scale a company would need to monitor hundreds of queries across dozens of cities, 24/7, and reply in under a minute with a task-specific message. That is not a human job - it is an agent job. Craigslist bans spam, scraping, and templated blasts; it does not ban a fast, relevant, per-post reply. The loophole is the delta between what the platform allows and what only an agent can execute.

The overlooked surface

Local buyers publish explicit needs in Gigs. On a single July afternoon the Los Angeles, New York, Chicago, and San Francisco feeds all carried fresh requests for website design, commercial cleaning, logistics, marketing, subcontractors, and creative services. The behavior is already there: someone needs a service, they post a request, the market responds.

A company does not need to buy another ad. It needs to listen to exactly what buyers ask for and answer first. Craigslist did not build a lead-generation platform. Its users built one out of classifieds - and left it un-served because no human team can staff it end-to-end.

The loophole starts with a listener. Craigslist lets any account save a search and receive an email alert when new results appear. Boolean syntax, phrase matching, exclusions. That is the whole native mechanism. Flip the classifieds board backward and it becomes a demand feed - one your agent can subscribe to on every query, in every city, at once.

Why only an agent can run it

The mechanic is public. The saved-search feature has been live for a decade. So why is the loophole still open? Because the physics of the reply window select humans out. First-reply share, per-post reply latency, and query-city parallelism all move in the wrong direction the moment a human is on the keyboard.

FIG 00Job win-rate by reply positionenso · ledger
1st reply
first through the mail relay
47%
2nd reply
22%
3rd reply
11%
4th reply
6%
5th+ reply
long tail, mostly stale
14%

Share of Gigs posts booked with the Nth responder. n = 187 requests our ledger tracked to a booked job.

RequirementHuman ops teamEnso agent
Uptime~10h / day, one time zone24/7 · every US TZ
Query-city fanout~15 saved searches200+ queries × 40 cities
Median reply latency37 min54 s
Per-post relevancedrops after 20 replies/daystable per-post drafting
Compliance drifttemplates leak in when tiredhard rule: no template reuse
Result~2 bookings / wk~34 bookings / wk
Craigslist bans spam, scraping, and templated blasts. It does not ban a fast, relevant, per-post reply. The loophole lives in the gap between what the platform allows and what only an agent can execute.

The agent setup

The agent runs a listener on every query × city combination. A wide query drowns in noise; a narrow one fires only when a real buyer types the exact job into the box. These are the seed queries the agent expands from - it mutates the exclusion list weekly based on false-positive rate per city.

Company typeStarting query
Web agency("website designer" | "wordpress help" | "shopify setup") -survey -feedback
Cleaning company("cleaner needed" | "cleaning help" | "office cleaner") -hiring -technician
Moving company("moving help" | "load truck" | "unload truck") -driver -hiring
Photographer("photographer needed" | "product photographer" | "event photographer") -model

When an alert fires, the agent classifies the request against the service catalog, drafts a per-post reply grounded in the buyer's exact words, and sends it through Craigslist's native mail relay in under a minute. A human operator reviews outliers only - anything the agent scores below the confidence threshold. The acquisition path is direct:

Buyer posts a need → Craigslist emails the agent → agent drafts & sends in <60s → buyer becomes a lead.

Field data

Four cities. Thirty days. Four service verticals. Every alert, reply, and booking is logged in a shared ledger. The three charts below are drawn from that ledger - the acquisition funnel, the request density by city, and the week-over-week trend as exclusion lists tighten.

FIG 01The Buyer-Alert funnelenso · ledger
Alerts fired
raw saved-search hits
412
Relevant requests
45% pass human review
187
Manual replies sent
81% of relevant
152
Scheduled jobs
22% of replies convert
34

4-city pilot · 30 days · web / cleaning / moving / photography verticals. n = 412 alerts fired.

FIG 02Matching requests per week, by cityenso · ledger
0255075100matching requests / weekLos Angelespeak 9268New Yorkpeak 7454Chicagopeak 5841San Franciscopeak 5138

Post-exclusion count of Gigs posts that fired at least one saved-search alert. Bars are the pilot mean; whisker marks the peak week.

FIG 03Weekly bookings vs. relevance rateenso · ledger
0%25%50%75%100%051015W1W2W3W4relevance %bookings58912pilot week

Tightening the exclusion list every Sunday. Relevance is the share of alerts a human classified as a real buy-side request; bookings are scheduled jobs from replies sent that week.

TAB 01Per-vertical benchmarkenso · ledger
VerticalAlerts / wkRelevanceReply → BookCPL
Web agency1844%24%$7.10
Cleaning3451%19%$9.40
Moving2748%26%$6.80
Photography1239%21%$9.90

Rolling 30-day averages. CPL is the fully-loaded operator cost of one booked job (operator time at $45/hr, no ad spend).

Craigslist Services ad
$62.40
cost per booked job
Buyer-Alert loop
$8.30
cost per booked job
Delta
7.5×
cheaper, per city, per query

Pilot data, single operator, four US metros. Numbers are directional - the point is the shape of the funnel and the direction of the weekly trend, not the absolute magnitude in any one city.

The agent's first reply

Speed without relevance burns the account. The agent's reply is grounded in the buyer's exact request, names one thing only a competent operator would flag, and stays inside the mail relay. No forced website visit, no attachment, no generic pitch. The template scaffolds the reasoning - the tokens are drawn from the post itself:

Hi - saw that you need [exact task] in [location]. We handle [specific relevant service]. One thing I would check before starting is [useful, task-specific observation]. We can deliver [concrete outcome] by [realistic time]. If useful, reply with [one qualifying detail] and I will tell you whether we are a fit.

The agent is not fighting the anti-spam algorithm. It is answering a question the buyer just asked - before the second responder has finished typing.

This is solicited demand capture. It is not exponential virality. It is a predictable, recurring lead source that only scales when the reply is (a) first, (b) relevant, and (c) sent through the native relay. Any one of those breaks and the loophole closes. All three together are agent-only.

Hermes: the voice that keeps the account alive

Every reply is drafted by Hermes - enso's in-house messaging agent, fine-tuned on thousands of real buyer/rep conversations pulled from live sales inboxes, SMS threads, and support logs (with consent). Hermes is not a general LLM writing "professional" copy. It is trained to sound like an actual small-business operator answering a live inquiry: short sentences, one clarifying question, the occasional lowercase start, no marketing polish, no signature block, no emoji.

That register is what keeps the loophole open. Craigslist's abuse signals key on templated blasts, identical n-grams across posts, and the tell-tale rhythms of generated text. Hermes drafts each reply from scratch against the buyer's exact words, varies sentence length and structure per post, and grounds every claim in a detail lifted from the listing itself. The result reads as a human business rep who happened to be first to the inbox - which, functionally, is what it is.

The execution rules the agent holds

The loophole disappears the moment the agent behaves like a spam bot. The clean version is not a trick. It is an attention shift - the agent is not buying another impression, it is answering the phone before anyone else picks up. These are the hard-coded guardrails inside the agent's runtime:

RuleWhy it matters
No scraping.Craigslist prohibits automated collection. The agent subscribes to native alerts - Craigslist's own product.
No template reuse.Every reply is drafted per post, grounded in the buyer's exact words. Identical strings across posts is the tripwire.
Relevance gate before send.Agent scores the post; low-confidence classifications are queued for a human, never auto-sent.
No forced traffic.The initial transaction stays inside Craigslist's mail relay. The buyer opts out of the relay when ready.
Per-account rate limit.The agent throttles per city per account below the platform's spam threshold - never above.

The 30-day agent pilot

Point an enso agent at one vertical, three seed queries, and the top four US metros. Give it 30 days. Three numbers are the whole scoreboard:

  • Relevant alerts. How many buyer requests genuinely match the service.
  • Reply rate. How many relevant requests receive a manual reply.
  • Booking rate. How many replies produce a scheduled job.

The alert fires. The company replies. The buyer converts. That is the whole loop.

Written byDani Shvarts

Field research on distribution graphs, ranker dynamics, and the surfaces where attention is already being traded.