{"tools":[{"name":"validate_email","group":"Get valid emails","description":"Checks one email: syntax, domain and MX, disposable/role/free-provider flags, catch-all and (where enabled) the mailbox itself. Returns status valid|invalid|risky|unknown and a risk score A-F.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254}},"required":["email"]}},{"name":"validate_emails","group":"Get valid emails","description":"Checks up to 1,000 emails at once; one verdict per unique address. Use before sending to a list.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"emails":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","minLength":3,"maxLength":254}}},"required":["emails"]}},{"name":"search_business_email_by_name","group":"Search","description":"Finds a person's work email from their name and company domain. Learns the company's address pattern from its own website, then checks the best candidates. Charged only when found.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"first_name":{"type":"string","minLength":1,"maxLength":120},"last_name":{"type":"string","minLength":1,"maxLength":120},"company":{"type":"string","minLength":3,"maxLength":300,"description":"Company domain or website URL, e.g. acme.com"}},"required":["company"]}},{"name":"verify_lead","group":"Get valid emails","description":"Checks a whole lead in one call: verifies the email (or finds it from name + company), validates the phone, confirms the company website is live and reads it (socials, phones, team), and checks the person is listed there. Returns verdict good|review|bad with reasons. One lookup per check run.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254},"phone":{"type":"string","minLength":5,"maxLength":32},"name":{"type":"string","minLength":1,"maxLength":120},"company":{"type":"string","minLength":3,"maxLength":300,"description":"Company domain or website URL, e.g. acme.com"},"country":{"description":"ISO country for national phone numbers, default US","type":"string","minLength":2,"maxLength":2}}}},{"name":"search_businesses","group":"Search","description":"Searches Ravn's own directory of US and Canadian businesses by name, category, MCC/NAICS code, service offered, city, region, postcode or distance, with website, phones, generic role addresses and socials. Business data only — never named people. One lookup per business returned; misses are free. Page with next_cursor.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Business name or part of it","type":"string","maxLength":120},"category":{"description":"e.g. dentist, plumber, italian_restaurant, accountant","anyOf":[{"type":"string","maxLength":200},{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}}]},"country":{"type":"string","enum":["US","CA"]},"region":{"description":"State or province, e.g. TX or ON","type":"string","maxLength":40},"city":{"type":"string","maxLength":80},"postcode":{"description":"Full or leading part, e.g. M5V or 787","type":"string","maxLength":12},"mcc":{"description":"Merchant category code","type":"string","pattern":"^\\d{4}$"},"naics":{"description":"NAICS code or prefix","type":"string","maxLength":6},"service":{"description":"A service the business offers, e.g. \"drain cleaning\"","type":"string","maxLength":60},"near":{"type":"object","properties":{"lat":{"type":"number","minimum":-90,"maximum":90},"lon":{"type":"number","minimum":-180,"maximum":180},"radius_km":{"type":"number","minimum":0.1,"maximum":200}},"required":["lat","lon","radius_km"]},"has_email":{"type":"boolean"},"has_phone":{"type":"boolean"},"has_website":{"type":"boolean"},"live_only":{"description":"Only businesses whose website we found live","type":"boolean"},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","maxLength":40}}}},{"name":"lookup_business","group":"Company","description":"Every business in Ravn's directory at a domain or phone number (chains return each location), with generic role addresses and socials. Business data only — never named people. One lookup per call; misses are free.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":300,"description":"Company domain or website URL, e.g. acme.com"},"phone":{"type":"string","minLength":5,"maxLength":32}}}},{"name":"scrape_website","group":"Company","description":"Reads a company's own website (homepage plus its contact, about and team pages) and returns structured JSON: name, description, logo, address, public emails and phones, social profiles, named team members with titles, technologies used, and whether the site looks live.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":300,"description":"Company domain or website URL, e.g. acme.com"}},"required":["domain"]}},{"name":"ip_to_company","group":"Company","description":"Returns the organisation that owns an IPv4 address, from public registry data. Works for company networks; home and mobile ISPs return not_found.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ip":{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"}},"required":["ip"]}},{"name":"validate_phone","group":"Phones","description":"Checks a phone number: valid or not, E.164 format, country and number-plan line type (mobile, landline, VoIP, toll-free). Free of credits; use phone_to_carrier for a live carrier check.","enabled":true,"needs_provider_key":null,"billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phone":{"type":"string","minLength":5,"maxLength":32},"country":{"description":"ISO country for national numbers, default US","type":"string","minLength":2,"maxLength":2}},"required":["phone"]}},{"name":"phone_to_carrier","group":"Phones","description":"Live carrier lookup: the real line type (mobile, landline, fixed or non-fixed VoIP) and carrier name. Use to make sure a number is a real mobile before texting.","enabled":true,"needs_provider_key":"twilio","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phone":{"type":"string","minLength":5,"maxLength":32},"country":{"type":"string","minLength":2,"maxLength":2}},"required":["phone"]}},{"name":"linkedin_to_mobile_phone","group":"Phones","description":"Returns a mobile number for a LinkedIn profile (single or up to 100). When carrier checks are on, only numbers confirmed as mobile are returned.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkedin_url":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"},"linkedin_urls":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"}}}}},{"name":"search_people","group":"Search","description":"Searches people by title, company, domain, location, seniority, industry, department and company size. Lists mean OR within a field, AND across fields. Charged per profile returned. Page with next_cursor.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","maxLength":200},"title":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"company":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"company_domain":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"country":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"state":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"city":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"seniority":{"description":"Intern, Entry, Senior, Manager, Director, VP, Head, C Suite, Owner, Partner","anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"industry":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"department":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"functional_area":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"employee_range":{"description":"1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001+","anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"exclude_company_domain":{"maxItems":100,"type":"array","items":{"type":"string"}},"exclude_country":{"type":"array","items":{"type":"string"}},"exclude_state":{"type":"array","items":{"type":"string"}},"exclude_industry":{"type":"array","items":{"type":"string"}},"exclude_seniority":{"type":"array","items":{"type":"string"}},"exclude_employee_range":{"type":"array","items":{"type":"string"}},"limit":{"default":10,"type":"integer","minimum":1,"maximum":25},"cursor":{"type":"string","maxLength":2000}}}},{"name":"search_companies","group":"Search","description":"Searches companies by name, domain, industry, location and size. Charged per company returned.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","maxLength":200},"domain":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"industry":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"country":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"state":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"employee_range":{"anyOf":[{"type":"string","maxLength":200},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}}]},"exclude_industry":{"type":"array","items":{"type":"string"}},"limit":{"default":10,"type":"integer","minimum":1,"maximum":25},"cursor":{"type":"string","maxLength":2000}}}},{"name":"domain_to_company","group":"Company","description":"Full company profile from its domain: size, employee count, industry, founded, location, LinkedIn, NAICS.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":300,"description":"Company domain or website URL, e.g. acme.com"}},"required":["domain"]}},{"name":"search_business_profile_by_name","group":"Search","description":"Full business profile (title, company, location, LinkedIn, verified work email) from a name and company.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"company":{"type":"string","minLength":2,"maxLength":300}},"required":["name","company"]}},{"name":"search_linkedin_profile","group":"Search","description":"Finds a person's LinkedIn profile URL from their name and company.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"company":{"type":"string","minLength":2,"maxLength":300}},"required":["name","company"]}},{"name":"linkedin_to_best_email","group":"Get valid emails","description":"Best available verified email for a LinkedIn profile: work email first, personal as fallback.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkedin_url":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"},"linkedin_urls":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"}}}}},{"name":"linkedin_to_business_email","group":"Get valid emails","description":"Verified work email for a LinkedIn profile.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkedin_url":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"},"linkedin_urls":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"}}}}},{"name":"linkedin_to_personal_email_usa","group":"Get valid emails","description":"Verified US personal email for a LinkedIn profile.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkedin_url":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"},"linkedin_urls":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"}}}}},{"name":"reverse_email_lookup","group":"Reverse lookups","description":"Full business profile from an email (single or up to 100).","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254},"emails":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":3,"maxLength":254}}}}},{"name":"reverse_linkedin_lookup","group":"Reverse lookups","description":"Full business profile from a LinkedIn profile URL.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkedin_url":{"type":"string","maxLength":300,"pattern":"linkedin\\.com\\/(in|pub|company)\\/"}},"required":["linkedin_url"]}},{"name":"email_to_linkedin","group":"Reverse lookups","description":"The LinkedIn profile URL behind an email.","enabled":true,"needs_provider_key":"pdl","billing":{"kind":"own"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254}},"required":["email"]}},{"name":"get_account","group":"Account","description":"Your account, plan, lookups used this billing period, your monthly spending cap, and which data-provider keys you have connected. Free.","enabled":true,"needs_provider_key":null,"billing":{"kind":"free"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{}}},{"name":"get_billing","group":"Account","description":"Your plan, renewal date, usage and spending cap this period, and what each tool costs. Free.","enabled":true,"needs_provider_key":null,"billing":{"kind":"free"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{}}},{"name":"get_usage","group":"Account","description":"Lookups per 5-hour window for the last N days (default 7). Free.","enabled":true,"needs_provider_key":null,"billing":{"kind":"free"},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"days":{"default":7,"type":"integer","minimum":1,"maximum":90}}}}]}