pipecorn
Pipecorn — a person's mobile phone or work email (asynchronous: submit, then read the result); a person's profile; a company's firmographics, technologies and open job postings; the account's balance.
You only pay for what is found, in Pipecorn credits: 3 a work email, 30 a phone
(only when a MOBILE is found), 1 a profile or a company resolved, 1 per job
posting returned; a technology stack is 3 per request. A miss costs nothing. A
third party's personal email is never looked up nor served: personal_email is
refused on any key, and the profile, company and job lookups come without any
email or phone.
op="enrich" (default) — SUBMIT a contact lookup; answers at once with
enrichment_id. find: phone, email or both (default ["phone"]).
phone needs linkedin_url (a profile URL); email takes linkedin_url,
or firstname + lastname + domain or company_name.
phone_type="mobile" keeps looking until a provider has a mobile;
phone_country_codes=["FR"] keeps phones to countries.
op="result" — read it back: enrichment_id, and the same find. done: false
while Pipecorn is still looking — read again in a few seconds (reads are
free). Done: email, email_status, phone (as Pipecorn writes them),
phone_details [{number, type}], and pipecorn_credits, what it cost.
op="person" — a profile: title, positions with each company's domain,
headline, location, tenure. linkedin_url, or firstname + lastname +
company_name.
op="company" — firmographics: industry, headcount and its growth, department
headcount, revenue range, headquarters, funding, web traffic. domain,
company_name and/or company_linkedin_url; country_code narrows a name.
op="stack" — the technologies a company uses, with a confidence. Same company
arguments.
op="jobs" — a company's open job postings (title, url, location, date, hiring
team). Same company arguments; posted_within_days (7, 30 by default, 60,
90, 180), limit (at most 100: billed per job, so bound it),
job_title_keywords, excluded_job_title_keywords, job_country_codes;
full_description=True adds each description in full.
person, company, stack and jobs answer found and pipecorn_credits, and
need your own Pipecorn key. timeout_s bounds their wait in seconds; no
answer within it is the refusal pipecorn_timeout (it may have been billed).
op="credits" — the balance: credits.enrichment is what lookups spend.
op="account" — the plan and the email behind the key.
For a contact, prefer the waterfalls (waterfall_phone, waterfall_email):
they submit and read this for you.
Examples — pipecorn(find=["phone"], linkedin_url="https://www.linkedin.com/in/jane-doe/", phone_type="mobile") pipecorn(op="result", enrichment_id="…", find=["phone"]) pipecorn(op="jobs", domain="acme.com", limit=20, job_country_codes=["FR"])
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "pipecorn"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | enrich | |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| find | No | ||
| limit | No | ||
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| domain | No | ||
| _run_id | No | OBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| lastname | No | ||
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| firstname | No | ||
| timeout_s | No | ||
| phone_type | No | ||
| company_name | No | ||
| country_code | No | ||
| linkedin_url | No | ||
| enrichment_id | No | ||
| full_description | No | ||
| job_country_codes | No | ||
| job_title_keywords | No | ||
| posted_within_days | No | ||
| phone_country_codes | No | ||
| company_linkedin_url | No | ||
| excluded_job_title_keywords | No |