Misar IO Docs

Quickstart

Run your first lead search, verify emails, and create a deal with MisarReach in minutes.

Find, verify, and track leads

Submit a natural-language query to find matching leads. The search runs asynchronously and returns a jobId immediately.

curl -X POST https://api.misar.io/reach/api/lead-finder/search \
  -H "Authorization: Bearer msr_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "CTOs at B2B SaaS startups with 10-50 employees in India",
    "filters": {
      "location": "India",
      "companySize": "10-50"
    }
  }'

Response:

{ "jobId": "550e8400-e29b-41d4-a716-446655440000" }

Poll for results

Poll the job status endpoint until status is "completed":

curl https://api.misar.io/reach/api/lead-finder/jobs/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer msr_your_key_here"

Response when complete:

{
  "job": {
    "id": "550e8400-...",
    "status": "completed",
    "query": "CTOs at B2B SaaS...",
    "result_count": 42
  }
}

Retrieve leads

curl "https://api.misar.io/reach/api/lead-finder/leads?jobId=550e8400-..." \
  -H "Authorization: Bearer msr_your_key_here"

Each lead includes name, role, company, email, linkedin_url, and optionally a score and verify_status.

Verify email deliverability

Before sending outreach, verify up to 20 emails in one request:

curl -X POST https://api.misar.io/reach/api/lead-finder/verify \
  -H "Authorization: Bearer msr_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "emails": ["[email protected]", "[email protected]"]
  }'

Response:

{
  "results": [
    { "email": "[email protected]", "status": "valid", "score": 98, "pending": false },
    { "email": "[email protected]", "status": "risky", "score": 54, "pending": false }
  ],
  "verified": 2
}

Create a deal

Track a lead in the pipeline by creating a deal:

curl -X POST https://api.misar.io/reach/api/deals \
  -H "Authorization: Bearer msr_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "leadEmail": "[email protected]",
    "leadName": "Priya Sharma",
    "value": 15000,
    "currency": "USD",
    "notes": "Responded positively to cold email. Schedule demo next week."
  }'

Using the TypeScript SDK

import { MisarReachClient } from "@misar/reach-sdk";

const client = new MisarReachClient({
  apiKey: process.env.MISARREACH_API_KEY!,
});

// Start search
const { jobId } = await client.leads.search({
  query: "Founders at fintech startups in Southeast Asia",
  filters: { location: "Southeast Asia" },
});

// Poll for completion
let job = await client.leads.getJob(jobId);
while (job.status === "pending" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 2000));
  job = await client.leads.getJob(jobId);
}

// Fetch results
const { leads } = await client.leads.list({ jobId });
console.log(`Found ${leads.length} leads`);

// Verify top leads
const emails = leads.slice(0, 10).map((l) => l.email);
const { results } = await client.leads.verify({ emails });
const validLeads = results.filter((r) => r.status === "valid");