MCP 服务器

Lead Intelligence

com.timzinin.api/lead-intelligence

此 MCP 可以做什么

Provides paid lead-intelligence tools for job discovery, contact verification, lead-list hygiene, permit signals, and website conversion-gap analysis.

careers-page-scraper
Careers ATS Jobs by Company Domain
Resolve company domains to public Greenhouse, Lever, Ashby, Workable, Rippling, or Workday boards. Get attributed jobs, function and seniority, source evidence, confirmed zero, partial, and unresolved states. — $0.02/call, x402 (USDC on base).
只读 可访问外部资源
输入模式
{'type': 'object', 'title': 'Careers Page Jobs Scraper input', 'properties': {'domains': {'type': 'array', 'title': 'Company domains', 'editor': 'stringList', 'example': ['apify.com', 'figma.com'], 'prefill': ['apify.com'], 'maxItems': 100, 'description': 'Plain company domains — no ATS token needed, this Actor figures out the applicant-tracking system itself (Greenhouse, Lever, Ashby, Workable, Rippling or Workday). Accepts bare domains or full URLs ("https://www.figma.com/careers" is normalized to "figma.com"). Takes priority over \'datasetId\' when both are set (by presence, even if every domain in it turns out invalid). Up to 100 domains per run.', 'sectionCaption': 'Companies to resolve', 'sectionDescription': 'Enter company domains directly or select a source Dataset. Direct domains take priority and the Actor keeps ATS attribution explicit.'}, 'datasetId': {'type': 'string', 'title': 'Dataset ID', 'editor': 'resourcePicker', 'example': 'your_dataset_id', 'description': "Pick another Actor's dataset of companies to resolve instead of typing domains directly (e.g. a company-list scraper's run). Ignored when 'domains' is set. Picking it here — not just pasting the ID — is what grants this run's token READ access to that dataset. When this Actor is added as an Integration on another Actor, this field is filled in automatically from the triggering run. Domains are read from whichever field in each row looks like one (companyDomain, domain, website, url, ...).", 'resourceType': 'dataset', 'resourcePermissions': ['READ']}, 'maxConcurrency': {'type': 'integer', 'title': 'Max concurrency', 'default': 5, 'example': 3, 'maximum': 20, 'minimum': 1, 'description': 'How many domains to resolve in parallel, 1-20.', 'sectionCaption': 'Resolution depth and performance', 'sectionDescription': 'Control parallel company resolution and the disclosed depth cap for paginated Workday and Rippling boards.'}, 'maxJobsPerCompany': {'type': 'integer', 'title': 'Max jobs per company', 'default': 500, 'example': 100, 'maximum': 5000, 'minimum': 1, 'description': "Depth limit for paginated sources (Workday, Rippling) — how many open roles to read per company before stopping. Non-paginated sources (Greenhouse, Lever, Ashby, Workable) already return their whole board in one call and are never capped by this. Raise it if a company's board is deeper than the default and you need the rest (e.g. a large Workday tenant) — every extra page costs real run time (Workday averages ~1.1s/page). When the cap is reached, or the source's own total is untrustworthy (a proven Workday quirk), a free 'resolved-truncated' row says so explicitly on the dataset — this Actor never silently drops jobs without disclosing it."}}, 'description': 'Job postings by company domain: give it a bare domain and it finds that company\'s ATS itself across six platforms — Greenhouse, Lever, Ashby, Workable, Rippling, Workday — then returns the open roles. Says so honestly when it cannot identify one, instead of reporting a false "no jobs".', 'schemaVersion': 1}
clinic-reception-gap-lead-finder
Clinic Reception Gap Lead Finder
Analyze submitted clinic websites for reception-channel gaps with exact BYOD crawling and no discovery. — $0.05/call, x402 (USDC on base).
可访问外部资源
输入模式
{'type': 'object', 'title': 'Clinic Reception Gap Lead Finder input', 'required': ['schemaVersion', 'requestId', 'clinics'], 'properties': {'clinics': {'type': 'array', 'items': {'type': 'object', 'required': ['recordId', 'name', 'websiteUrl'], 'properties': {'name': {'type': 'string', 'title': 'Clinic name', 'maxLength': 200, 'minLength': 1, 'description': 'Public clinic name.'}, 'address': {'type': 'string', 'title': 'Address', 'nullable': True, 'description': 'Optional clinic address.'}, 'recordId': {'type': 'string', 'title': 'Record ID', 'maxLength': 128, 'minLength': 1, 'description': 'Buyer-supplied record ID.'}, 'websiteUrl': {'type': 'string', 'title': 'Website URL', 'pattern': '^(?:http://(?:[A-Za-z0-9.-]+(?::80)?|\\[[0-9A-Fa-f:]+\\](?::80)?)(?:[/?][^#\\s]*)?|https://(?:[A-Za-z0-9.-]+(?::443)?|\\[[0-9A-Fa-f:]+\\](?::443)?)(?:[/?][^#\\s]*)?)$', 'description': 'Absolute clinic website URL without credentials, fragments, or nonstandard ports.'}}, 'additionalProperties': False}, 'title': 'Submitted clinics', 'editor': 'json', 'prefill': [{'name': 'Mayo Clinic', 'address': None, 'recordId': 'clinic-prefill-001', 'websiteUrl': 'https://www.mayoclinic.org/'}], 'maxItems': 100, 'minItems': 1, 'description': 'Buyer-submitted clinic websites to analyze.'}, 'requestId': {'type': 'string', 'title': 'Request ID', 'editor': 'textfield', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$', 'prefill': 'clinic-daily-prefill-001', 'description': 'Correlation key for this run.'}, 'maxResults': {'type': 'integer', 'title': 'Max results', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Maximum useful rows to bill and return.'}, 'detailLevel': {'enum': ['compact', 'evidence'], 'type': 'string', 'title': 'Detail level', 'default': 'compact', 'description': 'Compact or evidence-rich output.'}, 'minGapScore': {'type': 'integer', 'title': 'Minimum gap score', 'default': 40, 'maximum': 100, 'minimum': 0, 'description': 'Minimum score for a useful clinic lead.'}, 'schemaVersion': {'enum': ['1.0'], 'type': 'string', 'title': 'Schema version', 'default': '1.0', 'description': 'Input schema version.'}, 'freshnessMinutes': {'type': 'integer', 'title': 'Freshness minutes', 'default': 60, 'maximum': 1440, 'minimum': 0, 'description': 'Cache freshness window in minutes.'}}, 'schemaVersion': 1, 'additionalProperties': False}
domain-to-verified-work-email
Domain to Verified Work Email
Find the work email a named person publishes on their own company website, confirmed by a same-document schema.org Person assertion. No pattern guessing, no SMTP probing. $0.01 only when a published match is found; no-match, role mailbox, ambiguous and partial outcomes are free. — $0.02/call, x402 (USDC on base).
可访问外部资源
输入模式
{'type': 'object', 'title': 'Domain to Verified Work Email input', 'required': ['people'], 'properties': {'people': {'type': 'array', 'items': {'type': 'object', 'required': ['fullName', 'domain'], 'properties': {'domain': {'type': 'string', 'title': 'Company domain', 'pattern': '^(?=.{4,253}$)(?:[a-zA-Z0-9¡-\uffff](?:[a-zA-Z0-9¡-\uffff-]{0,61}[a-zA-Z0-9¡-\uffff])?\\.)+[a-zA-Z¡-\uffff](?:[a-zA-Z0-9¡-\uffff-]{0,61}[a-zA-Z0-9¡-\uffff])?$', 'maxLength': 253, 'minLength': 4, 'description': 'Bare public company hostname such as example.com; schemes, paths, credentials and IP literals are rejected.'}, 'fullName': {'type': 'string', 'title': 'Full name', 'pattern': '^\\s*\\S+(?:\\s+\\S+)+\\s*$', 'maxLength': 160, 'minLength': 3, 'description': "The person's real first and last name as it should appear on the company website."}, 'inputRef': {'type': 'string', 'title': 'Caller reference', 'maxLength': 200, 'description': 'Optional opaque CRM or workflow reference copied to the result row exactly, including leading, trailing, repeated, and tab whitespace.'}, 'companyName': {'type': 'string', 'title': 'Company name', 'maxLength': 200, 'description': 'Optional company name used as an additional page-evidence signal, never to invent an address.'}}, 'additionalProperties': False}, 'title': 'People and company domains', 'editor': 'json', 'prefill': [{'domain': 'visionwide.co', 'fullName': 'King Lee', 'companyName': 'Visionwide'}], 'maxItems': 50, 'minItems': 1, 'description': 'One to 50 people. Each domain must be a bare public company hostname, not a URL.'}, 'maxConcurrency': {'type': 'integer', 'title': 'Maximum concurrency', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'People processed concurrently only in local non-monetized runs. On-platform source work and paid delivery are sequential.'}, 'maxPagesPerPerson': {'type': 'integer', 'title': 'Maximum pages per person', 'default': 3, 'maximum': 4, 'minimum': 1, 'description': 'Number of pages selected from the Actor-owned fixed order: /team, /about, /contact, then /.'}}, 'description': 'People to match against literal emails on company websites that also publish an exact schema.org Person name-email assertion. The Actor never guesses patterns or tests a mailbox.', 'schemaVersion': 1, 'additionalProperties': False}
job-posting-to-hiring-manager-email
Job Posting to Hiring Manager Email
Turn a Greenhouse or Lever vacancy into the named hiring owner behind it, with a provider-verified work address from your own BYOK enrichment key. You pay $0.02 only for a verified hiring contact; ambiguous company matches, unsupported boards and empty results are free. — $0.02/call, x402 (USDC on base).
可访问外部资源
输入模式
{'type': 'object', 'title': 'Job Posting to Hiring Manager Email input', 'required': ['jobs'], 'properties': {'jobs': {'type': 'array', 'items': {'type': 'object', 'properties': {'jobUrl': {'type': 'string', 'title': 'ATS posting URL', 'pattern': '^https://[a-zA-Z0-9¡-\uffff][a-zA-Z0-9¡-\uffff.-]{0,252}/\\S*$', 'maxLength': 2048, 'minLength': 12, 'description': 'Direct posting link on a supported board, such as boards.greenhouse.io or jobs.lever.co. Board token and job identifier are parsed from the URL, never guessed.'}, 'inputRef': {'type': 'string', 'title': 'Caller reference', 'maxLength': 200, 'description': 'Optional opaque CRM or workflow reference copied to the result row exactly, including leading, trailing, repeated, and tab whitespace.'}, 'jobTitle': {'type': 'string', 'title': 'Exact job title', 'maxLength': 200, 'minLength': 2, 'description': 'The vacancy title as the board publishes it. Required together with a company domain; matching is exact after whitespace and case normalization, never fuzzy.'}, 'location': {'type': 'string', 'title': 'Location', 'maxLength': 200, 'description': 'Optional location used only to disambiguate two vacancies sharing one title, never to invent a match.'}, 'department': {'type': 'string', 'title': 'Department', 'maxLength': 200, 'description': 'Optional department used only to disambiguate and to rank role relevance, never to invent a match.'}, 'companyDomain': {'type': 'string', 'title': 'Company domain', 'pattern': '^(?=.{4,253}$)(?:[a-zA-Z0-9¡-\uffff](?:[a-zA-Z0-9¡-\uffff-]{0,61}[a-zA-Z0-9¡-\uffff])?\\.)+[a-zA-Z¡-\uffff](?:[a-zA-Z0-9¡-\uffff-]{0,61}[a-zA-Z0-9¡-\uffff])?$', 'maxLength': 253, 'minLength': 4, 'description': 'Bare public company hostname such as example.com. Used to probe supported boards for that company; schemes, paths, credentials and IP literals are rejected.'}}, 'additionalProperties': False}, 'title': 'Vacancies', 'editor': 'json', 'prefill': [{'jobTitle': 'Account Executive, Bridge', 'companyDomain': 'stripe.com'}], 'maxItems': 100, 'minItems': 1, 'description': 'One to 100 vacancies. Give either a direct ATS posting URL, or a company domain plus the exact job title.'}, 'providerName': {'enum': ['hunter', 'apollo', 'prospeo', 'snov', 'rocketreach'], 'type': 'string', 'title': 'Contact-data provider', 'enumTitles': ['Hunter', 'Apollo', 'Prospeo', 'Snov.io', 'RocketReach'], 'description': 'Which provider your key belongs to. Only meaningful together with a provider API key.'}, 'maxConcurrency': {'type': 'integer', 'title': 'Maximum concurrency', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'Vacancies processed concurrently only in local non-monetized runs. On-platform source work and paid delivery are sequential, and Lever pacing stays at one request per second regardless of this value.'}, 'providerApiKey': {'type': 'string', 'title': 'Your provider API key', 'editor': 'textfield', 'isSecret': True, 'description': 'Your own key, used on your own quota. It is never stored, never logged, never reused across runs and never redistributed. Without it, no owner lookup is attempted and the vacancy returns free.'}}, 'description': 'Vacancies to resolve to the person who owns hiring for them. The Actor reads public ATS boards without a key, and returns an address only when your own contact-data provider confirms it. It never guesses a pattern and never tests a mailbox.', 'schemaVersion': 1, 'additionalProperties': False}
lead-list-cleaner
Lead List Cleaner - Dedupe, DNS & Email Hygiene
Normalize mixed lead rows, deduplicate domains and emails, check DNS/MX evidence, score retained leads, and return every rejection, confidence gap, safe action, and run summary for auditable CRM staging. — $0.02/call, x402 (USDC on base).
只读 可访问外部资源
输入模式
{'type': 'object', 'title': 'Lead List Cleaner input', 'properties': {'items': {'type': 'array', 'items': {'type': 'object'}, 'title': 'Items', 'editor': 'json', 'example': [{'name': 'Example Co', 'email': 'sales@example.com', 'website': 'https://example.com'}], 'prefill': [{'url': 'https://www.google.com/maps/place/Shopify', 'phone': '+1 888-746-7439', 'title': 'Shopify', 'website': 'https://www.shopify.com', 'categoryName': 'Software company'}, {'link': 'https://www.hubspot.com', 'name': 'HubSpot', 'email': 'press@hubspot.com', 'phoneNumber': '+1 888-482-7768'}, {'domain': 'zoom.us', 'companyName': 'Zoom Video Communications', 'description': 'Video conferencing platform. Contact us at info@zoom.us for enterprise sales.'}, {'phone': '+1 888-746-7439', 'title': 'Shopify Inc', 'website': 'https://shopify.com'}, {'phone': '+1 888-926-2289', 'title': 'Stripe', 'emails': ['support@stripe.com'], 'website': 'https://stripe.com', 'categoryName': 'Payment processor'}], 'description': "Raw lead rows to clean directly, one object per lead — any shape works (Google Maps scraper export, CSV turned into JSON, anything with an email/website/phone somewhere in it). Takes priority over 'datasetId' and 'datasetUrl'."}, 'checks': {'type': 'array', 'items': {'enum': ['dedupe', 'email', 'domain', 'score'], 'type': 'string', 'enumTitles': ['Dedupe', 'Email verify (syntax + MX)', 'Domain alive check', 'Hotness score']}, 'title': 'Checks to run', 'editor': 'select', 'default': ['dedupe', 'email', 'domain', 'score'], 'example': ['dedupe', 'email', 'domain', 'score'], 'prefill': ['dedupe', 'email', 'domain', 'score'], 'description': "Pipeline stages to run, in order. 'dedupe' collapses rows sharing the same domain/email. 'email' verifies syntax + MX. 'domain' verifies the domain is alive. 'score' computes the hotness score used for the 'minScore' cutoff.", 'sectionCaption': 'Cleaning and scoring policy', 'sectionDescription': 'Choose deterministic pipeline stages, the buyer-owned score threshold, and a hard row cap. Disabled checks remain visible evidence gaps.'}, 'maxRows': {'type': 'integer', 'title': 'Max rows', 'default': 1000, 'example': 100, 'maximum': 100000, 'minimum': 1, 'description': 'Safety cap on how many input rows this run will process, regardless of source.'}, 'minScore': {'type': 'integer', 'title': 'Minimum score', 'default': 0, 'example': 40, 'maximum': 100, 'minimum': 0, 'description': 'Drop leads scoring below this threshold (0-100) from the clean, billed output. They still show up as free rejected rows with a reason.'}, 'datasetId': {'type': 'string', 'title': 'Dataset ID', 'editor': 'resourcePicker', 'example': 'your_dataset_id', 'description': "Pick another Actor's dataset to clean (e.g. a Google Maps or lead-scraper run). Ignored when 'items' is set. Picking it here — not just pasting the ID — is what grants this run's token READ access to that dataset. When this Actor is added as an Integration on another Actor, this field is filled in automatically from the triggering run.", 'resourceType': 'dataset', 'sectionCaption': 'Choose one lead source', 'sectionDescription': 'Use direct Items, a Dataset selected with READ permission, or a public JSON URL. Direct Items take priority; leave unused source fields empty.', 'resourcePermissions': ['READ']}, 'datasetUrl': {'type': 'string', 'title': 'Dataset URL', 'editor': 'textfield', 'example': 'https://api.apify.com/v2/datasets/YOUR_PUBLIC_DATASET_ID/items?clean=true', 'description': "Public URL returning a JSON array of lead rows. Used only when both 'items' and 'datasetId' are empty."}}, 'description': "Turn any scraper's raw dataset into a clean, scored lead list — dedupe rows, kill dead emails and dead domains, rank the rest by hotness. Runs standalone or as an Integration bolted onto Google Maps / lead scrapers.", 'schemaVersion': 1}
new-opening-permit-lead-radar
New Opening Permit Lead Radar
Detect commercial permit and license openings from five fixed Socrata datasets and return evidence-backed signals. — $0.03/call, x402 (USDC on base).
可访问外部资源
输入模式
{'type': 'object', 'title': 'New Opening Permit Lead Radar input', 'required': ['schemaVersion', 'requestId'], 'properties': {'requestId': {'type': 'string', 'title': 'Request ID', 'editor': 'textfield', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$', 'prefill': 'permit-daily-prefill-001', 'description': 'Correlation key for this run.'}, 'maxResults': {'type': 'integer', 'title': 'Max results', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Maximum useful rows to bill and return.'}, 'detailLevel': {'enum': ['compact', 'evidence'], 'type': 'string', 'title': 'Detail level', 'default': 'compact', 'description': 'Compact or evidence-rich output.'}, 'lookbackDays': {'type': 'integer', 'title': 'Lookback days', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Maximum permit age in days.'}, 'schemaVersion': {'enum': ['1.0'], 'type': 'string', 'title': 'Schema version', 'default': '1.0', 'description': 'Input schema version.'}, 'freshnessMinutes': {'type': 'integer', 'title': 'Freshness minutes', 'default': 60, 'maximum': 1440, 'minimum': 0, 'description': 'Cache freshness window in minutes.'}}, 'schemaVersion': 1, 'additionalProperties': False}
pricing_info
Pricing — Lead Intelligence
Free — list every paid tool in the 'lead-intelligence' bundle with its price, payTo address and network. Call this first if you don't have a wallet ready yet.
只读
输入模式
{'type': 'object', 'properties': {}}
restaurant-booking-gap-lead-finder
Restaurant Booking Gap Lead Finder
Analyze submitted restaurant websites for booking-channel gaps with exact BYOD crawling and no discovery. — $0.05/call, x402 (USDC on base).
可访问外部资源
输入模式
{'type': 'object', 'title': 'Restaurant Booking Gap Lead Finder input', 'required': ['schemaVersion', 'requestId', 'restaurants'], 'properties': {'requestId': {'type': 'string', 'title': 'Request ID', 'editor': 'textfield', 'pattern': '^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$', 'prefill': 'restaurant-daily-prefill-001', 'description': 'Correlation key for this run.'}, 'maxResults': {'type': 'integer', 'title': 'Max results', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Maximum useful rows to bill and return.'}, 'detailLevel': {'enum': ['compact', 'evidence'], 'type': 'string', 'title': 'Detail level', 'default': 'compact', 'description': 'Compact or evidence-rich output.'}, 'minGapScore': {'type': 'integer', 'title': 'Minimum gap score', 'default': 45, 'maximum': 100, 'minimum': 0, 'description': 'Minimum score for a useful restaurant lead.'}, 'restaurants': {'type': 'array', 'items': {'type': 'object', 'required': ['recordId', 'name', 'websiteUrl'], 'properties': {'name': {'type': 'string', 'title': 'Restaurant name', 'maxLength': 200, 'minLength': 1, 'description': 'Public restaurant name.'}, 'address': {'type': 'string', 'title': 'Address', 'nullable': True, 'description': 'Optional restaurant address.'}, 'recordId': {'type': 'string', 'title': 'Record ID', 'maxLength': 128, 'minLength': 1, 'description': 'Buyer-supplied record ID.'}, 'websiteUrl': {'type': 'string', 'title': 'Website URL', 'pattern': '^(?:http://(?:[A-Za-z0-9.-]+(?::80)?|\\[[0-9A-Fa-f:]+\\](?::80)?)(?:[/?][^#\\s]*)?|https://(?:[A-Za-z0-9.-]+(?::443)?|\\[[0-9A-Fa-f:]+\\](?::443)?)(?:[/?][^#\\s]*)?)$', 'description': 'Absolute restaurant website URL without credentials, fragments, or nonstandard ports.'}}, 'additionalProperties': False}, 'title': 'Submitted restaurants', 'editor': 'json', 'prefill': [{'name': 'Dishoom', 'address': None, 'recordId': 'restaurant-prefill-001', 'websiteUrl': 'https://www.dishoom.com/'}], 'maxItems': 100, 'minItems': 1, 'description': 'Buyer-submitted restaurant websites to analyze.'}, 'schemaVersion': {'enum': ['1.0'], 'type': 'string', 'title': 'Schema version', 'default': '1.0', 'description': 'Input schema version.'}, 'freshnessMinutes': {'type': 'integer', 'title': 'Freshness minutes', 'default': 60, 'maximum': 1440, 'minimum': 0, 'description': 'Cache freshness window in minutes.'}}, 'schemaVersion': 1, 'additionalProperties': False}
已添加
restaurant-booking-gap-lead-finder
2026年9月17日 12:38
已添加
new-opening-permit-lead-radar
2026年9月17日 12:38
已添加
lead-list-cleaner
2026年9月17日 12:38
已添加
job-posting-to-hiring-manager-email
2026年9月17日 12:38
已添加
domain-to-verified-work-email
2026年9月17日 12:38
已添加
clinic-reception-gap-lead-finder
2026年9月17日 12:38
已添加
careers-page-scraper
2026年9月17日 12:38
已添加
pricing_info
2026年9月17日 12:38