{"name":"margo-lead-generation","version":"1.0.0","description":"Generate governed Google Maps businesses, LinkedIn professionals, or Shopify contacts through one durable API job.","author":"Margo","homepage":"https://www.margoleads.io","api":{"baseUrl":"https://www.margoleads.io/api","auth":{"type":"bearer","header":"Authorization","prefix":"Bearer","envVar":"MARGO_API_KEY"},"endpoints":{"generateLeads":{"method":"POST","path":"/api/v1/leads/generate","description":"Generate Maps, LinkedIn, or Shopify contacts. Supply Idempotency-Key; completed calls return synchronously and longer calls return 202 with a polling URL.","parameters":{"source":{"type":"string","required":false,"enum":["google_maps","linkedin","shopify"],"description":"Defaults to google_maps."},"category":{"type":"string","required":true,"description":"Business type (e.g. \"dentist\", \"restaurant\", \"plumber\")"},"state":{"type":"string","required":true,"description":"Country code (e.g. \"US\", \"GB\", \"DE\") for Maps or Shopify; LinkedIn accepts governed country filters."},"city":{"type":"string","required":false,"description":"City name (e.g. \"Miami\", \"London\")"},"keyword":{"type":"string","required":false,"description":"Additional keyword filter (e.g. \"endodontist\", \"matcha\")"},"maxResults":{"type":"number","required":false,"description":"Max leads to return (default 25, max 100)"},"linkedinParams":{"type":"object","required":false,"description":"Structured LinkedIn title, seniority, industry, company-size, and country filters."},"decisionMakerTitles":{"type":"string[]","required":false,"description":"Shopify contact roles."},"requiredChannels":{"type":"string[]","required":false,"description":"Shopify contact channels: email, phone, linkedin."}},"response":{"terminal":{"status":"COMPLETE | PARTIAL | EMPTY | FAILED | CANCELLED","requestedCount":"number","deliveredCount":"number","resultSetId":"string","stopReason":"string | null"},"jobId":"string","resultSetId":"string","pollUrl":"string","leads":[{"businessName":"string","email":"string | null","phone":"string | null","address":"string","website":"string | null","reviewScore":"number | null","categories":"string[]","socialProfiles":{"facebook":"string | null","instagram":"string | null","linkedin":"string | null"}}]}},"pollJob":{"method":"GET","path":"/api/v1/leads/jobs/{jobId}","description":"Poll a queued or running job. The terminal object is authoritative once it reaches a terminal status."},"cancelJob":{"method":"DELETE","path":"/api/v1/leads/jobs/{jobId}","description":"Cancel an owned queued or running job. Cancelled jobs cannot later become complete."}},"tariffs":{"google_maps":{"creditsPerDelivered":2,"minimumCredits":10},"linkedin":{"creditsPerDelivered":2,"minimumCredits":0},"shopify":{"provider":"StoreInspect","creditsPerDelivered":26,"minimumCredits":0,"billingUnit":"one unique store row, with or without contact details"}}}}