HANAWI SYSTEMS / WORK / SOURCING PIPELINE
05/05Case

249 sponsor prospects for $2.87 in API spend

A creator with a combined audience of over 100,000 needed local businesses to pitch for sponsorship, matched to a specific cultural audience across two cities. The obvious automated approach, scrape everything and sort later, runs up an API bill fast and returns mostly noise.

DELIVERED · $2.87 SPEND AGAINST A $5 CEILING · RE-RUNNABLE

Sector
Creator sponsorship
Basis
Client engagement
Stack
Python · Apify · custom enrichment and classification
Output
249 prioritized businesses, contacts attached
Cost
$2.87 total API spend

The problem: API spend with no ceiling

Doing it by hand meant hours in Google Maps. Doing it naively meant paying per scraped result for a list padded with popular but irrelevant places, because map search results optimize for popularity, not for fit. The job needed both a cost ceiling and a relevance filter that could not be gamed by the search engine's own padding.

The approach

A five-stage re-runnable pipeline: build the search space, pull business data through a scraping API under an explicit dollar cap passed in at runtime, enrich each record with contact and social details from its own website for free, then classify, deduplicate and prioritize.

The classification rule is the part that mattered: businesses are categorized on their own name and category, never on the search term that surfaced them. That is what keeps padded irrelevant results out of the final list.

The system

SOURCING PIPELINE / SYSTEM MAP DIAGRAM
SEARCH SPACE CITIES x TERMS PULL DATA UNDER A $ CAP ENRICH OWN SITE, FREE CLASSIFY NAME, NOT TERM PRIORITIZE DEDUPED LIST THE CAP IS AN ARGUMENT TO THE RUN, NOT A HOPE.
FIG. 01 Five stages. The paid stage sits inside a runtime dollar cap; the free enrichment happens after, from each business's own website.

Result

  • 249 prioritized businesses delivered with contact and social details attached.
  • Total API spend of $2.87 against a $5 ceiling: roughly $0.0115 per delivered business.
  • Cost bounded at runtime by a cap argument, so an expanded run cannot surprise anyone with a bill.
  • Fully re-runnable: new cities or categories are a config change, not a rebuild.

Related, but a different ceiling: the cold email engine bounds sending volume while working a list. This pipeline bounds API spend while building one.

Built by Hisham Hanawi. This is a systems integration build.

Bounded cost is a design decision.

100% JOB SUCCESS · TOP RATED PLUS · 583 HOURS / 6 ENGAGEMENTS

Source: Upwork profile, verified 2026-08