The model looks simple: you bring people who need a service and hand them to whoever provides it, paid per head. The difficulty is that buyer and seller often mean different things by «lead».
A contact is not a lead
A username scraped from a topical chat is a contact. A lead is a person who said they need the service and agreed to be approached. The price gap between them is an order of magnitude, and trying to sell the first at the price of the second ends in refunds and a reputation.
What moves the price
- Explicitness. «Looking for a contractor» beats «interested in the topic».
- Freshness. A week-old contact is worth far less: the need is already handled.
- Exclusivity. A lead sold once is worth more than the same lead sold three times.
- Vertical. Where a client is worth thousands to the buyer, the lead price follows.
The legal side
Passing personal data on without consent is not a grey area, it is a violation. Build it so the person knows their details are being shared and agrees to it — normally as a request they submit themselves, not as an export from a scraper. Selling harvested databases is not a business model, it is a risk that eventually lands.
Doing it cleanly
The shape that works: cold contact brings the person into your dialogue, in the dialogue they state the need and consent to being contacted, and you pass on a request with context rather than a row from a table. That request is the thing worth money. How the dialogue gets there is covered on the lead generation page.