Dart SDK
Install and use the MisarReach Dart SDK — lead finder, SSE job streaming as a Stream, deals/pipeline CRM, channels, and autopilot.
Official Dart client for the MisarReach developer API — lead finder (23 sources), multi-channel outreach, CRM (deals + pipeline), autopilot, and the AI sales agent. Base URL https://api.misar.io/reach/api, auth Authorization: Bearer mrk_.... Job progress is exposed as a Stream<ReachSseEvent>.
Install
dependencies:
misar_reach: ^1.0.0Configure
import 'package:misar_reach/misar_reach.dart';
final reach = MisarReachClient(apiKey: 'mrk_...');Lead search + SSE stream
final job = await reach.leads.search({'query': 'Series A SaaS founders'});
// Live progress (Server-Sent Events)
await for (final evt in reach.leads.streamJob(job['jobId'] as String)) {
print('${evt.event}: ${evt.data}'); // progress … then complete / error
}
await reach.leads.enrich({'email': 'jane@acme.com'});
await reach.leads.score({'leadIds': ['l_1', 'l_2']});Deals & channels
final deal = await reach.deals.create({'leadEmail': 'cto@acme.com', 'value': 12000});
await reach.pipeline.get();
await reach.deals.suggestions(deal['id'] as String);
await reach.channels.connectWhatsapp({'token': '...'});
await reach.autopilot.start({'campaignId': 'camp_1'});
reach.close();Resources
leads · deals · pipeline · channels · autopilot · salesAgent · campaigns · contacts · conversations · workspaces · settings · ads.
Automatic retries with backoff on 429/5xx (honours Retry-After).
Errors
AuthError (401/403) · NotFoundError (404) · RateLimitError (429, with retryAfter/balance/freeRemaining) · UpgradeRequiredError (429 upgrade) · MisarReachError (base, with status/code/body) · MisarReachNetworkError (connectivity).
See the API Reference and SSE stream.