[{"data":1,"prerenderedAt":1249},["ShallowReactive",2],{"blog-\u002Fblog\u002Fautomate-email-to-profile-enrichment":3,"blog-related-\u002Fblog\u002Fautomate-email-to-profile-enrichment":979},{"id":4,"title":5,"author":6,"body":7,"category":964,"cover":965,"description":966,"draft":967,"extension":968,"image":964,"launchCta":964,"meta":969,"navigation":657,"ogImage":964,"path":970,"publishedAt":971,"readTime":964,"seo":972,"stem":973,"tags":974,"updatedAt":964,"__hash__":978},"blogUnlisted\u002Fblog\u002Fautomate-email-to-profile-enrichment.md","Automate Email-to-Profile Enrichment, End to End","The Monid Team",{"type":8,"value":9,"toc":949},"minimark",[10,15,76,87,92,154,158,164,171,176,185,193,202,206,263,271,275,282,347,350,378,386,390,401,456,459,486,490,493,602,615,619,628,823,830,834,839,858,861,865,873,879,885,889,900,912,921,934,938,945],[11,12,14],"p",{"style":13},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to turn a list of emails into full person profiles.",[16,17,22],"pre",{"className":18,"code":19,"language":20,"meta":21,"style":21},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use pdl \u002Fv5\u002Fperson\u002Fenrich to resolve an email to a full profile\n","sh","",[23,24,25],"code",{"__ignoreMap":21},[26,27,30,34,38,41,44,47,50,53,56,59,62,65,67,70,73],"span",{"class":28,"line":29},"line",1,[26,31,33],{"class":32},"s2Zo4","set",[26,35,37],{"class":36},"sfazB"," up",[26,39,40],{"class":36}," https:\u002F\u002Fmonid.ai\u002FSKILL.md",[26,42,43],{"class":36}," and",[26,45,46],{"class":36}," use",[26,48,49],{"class":36}," pdl",[26,51,52],{"class":36}," \u002Fv5\u002Fperson\u002Fenrich",[26,54,55],{"class":36}," to",[26,57,58],{"class":36}," resolve",[26,60,61],{"class":36}," an",[26,63,64],{"class":36}," email",[26,66,55],{"class":36},[26,68,69],{"class":36}," a",[26,71,72],{"class":36}," full",[26,74,75],{"class":36}," profile\n",[11,77,78,79,82,83,86],{},"You can turn a raw list of emails into full person profiles (name, job title, employer, location, seniority, social handles) with one pay-per-call lookup per address, and write each clean row straight to a sheet or CRM. Monid is a pay-per-call data API marketplace: one key and one wallet reach hundreds of external data endpoints across enrichment, scraping, social data, and search, with the price shown before anything runs. This is the cookbook version. Follow the steps, copy the code, and by the end you have a loop that takes ",[23,80,81],{},"emails.csv"," in and hands ",[23,84,85],{},"profiles.csv"," out.",[88,89,91],"h2",{"id":90},"tldr","TL;DR",[93,94,95,117,120,144,151],"ul",{},[96,97,98,99,106,107,110,111,116],"li",{},"The endpoint is ",[100,101,105],"a",{"href":102,"rel":103},"https:\u002F\u002Fwww.peopledatalabs.com",[104],"nofollow","People Data Labs"," ",[23,108,109],{},"\u002Fv5\u002Fperson\u002Fenrich"," on ",[100,112,115],{"href":113,"rel":114},"https:\u002F\u002Fmonid.ai",[104],"Monid",". It matches one email against roughly three billion profiles and returns a full person record, billed per call.",[96,118,119],{},"Reading the schema is free, so you inspect the exact inputs and returned fields before you spend a cent, then run a single email to sanity check it.",[96,121,122,123,126,127,126,130,126,133,126,136,139,140,143],{},"The fields that carry a CRM row are ",[23,124,125],{},"full_name",", ",[23,128,129],{},"job_title",[23,131,132],{},"job_title_levels",[23,134,135],{},"job_company_name",[23,137,138],{},"location_name",", and the social handles, plus a ",[23,141,142],{},"likelihood"," score to gate trust.",[96,145,146,147,150],{},"Batch is a shell loop: read each address, run the lookup, pull six fields with ",[23,148,149],{},"jq",", append a row. A hundred emails lands in the tens of dollars.",[96,152,153],{},"One key, one wallet, no per-seat enrichment subscription. In a month you enrich nobody, you pay nothing.",[88,155,157],{"id":156},"what-you-are-wiring-up","What you are wiring up",[11,159,160,163],{},[23,161,162],{},"emails.csv in, one enriched row per person out",". Person enrichment is the pricier corner of the catalog, so do it deliberately: it bills per call, on the order of tens of cents each, not the fraction of a cent a social scraper costs. The whole job is deciding which emails deserve a lookup and reading only the fields you will act on.",[11,165,166],{},[167,168],"img",{"alt":169,"src":170},"Pipeline: emails.csv feeds a per-row loop, each email runs pdl person enrich on monid, the returned profile fields land as one clean row in your CRM or sheet, and the loop returns for the next email","\u002Fimg\u002Fblog\u002Fautomate-email-to-profile-enrichment-fig-pes-1.png",[172,173,175],"h3",{"id":174},"for-agents","For agents",[11,177,178,179,184],{},"Grab an API key at ",[100,180,183],{"href":181,"rel":182},"https:\u002F\u002Fapp.monid.ai\u002F",[104],"app.monid.ai",", then paste this to your agent and hand it the key:",[16,186,191],{"className":187,"code":189,"language":190},[188],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[23,192,189],{"__ignoreMap":21},[11,194,195,196,201],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[100,197,200],{"href":198,"rel":199},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[104],"agent quickstart",".",[172,203,205],{"id":204},"for-humans","For humans",[16,207,211],{"className":208,"code":209,"language":210,"meta":21,"style":21},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n","bash",[23,212,213,228],{"__ignoreMap":21},[26,214,215,219,222,225],{"class":28,"line":29},[26,216,218],{"class":217},"sBMFI","npm",[26,220,221],{"class":36}," install",[26,223,224],{"class":36}," -g",[26,226,227],{"class":36}," @monid-ai\u002Fcli\n",[26,229,231,234,237,240,243,246,249,253,256,260],{"class":28,"line":230},2,[26,232,233],{"class":217},"monid",[26,235,236],{"class":36}," keys",[26,238,239],{"class":36}," add",[26,241,242],{"class":36}," --label",[26,244,245],{"class":36}," main",[26,247,248],{"class":36}," --key",[26,250,252],{"class":251},"sMK4o"," \u003C",[26,254,255],{"class":36},"your-api-ke",[26,257,259],{"class":258},"sTEyZ","y",[26,261,262],{"class":251},">\n",[11,264,265,266,201],{},"More details in the ",[100,267,270],{"href":268,"rel":269},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[104],"CLI quickstart",[88,272,274],{"id":273},"step-1-inspect-the-endpoint-free","Step 1. Inspect the endpoint (free)",[11,276,277,278,281],{},"Read the schema before you spend anything. ",[23,279,280],{},"inspect"," returns the exact input shape, the price, and the docs, and it never bills.",[16,283,285],{"className":208,"code":284,"language":210,"meta":21,"style":21},"monid inspect -p pdl -e \u002Fv5\u002Fperson\u002Fenrich\n# input:   email | phone | name (or first_name + last_name) + company\n#          | profile (LinkedIn URL) | pdl_id | email_hash\n#          knobs: min_likelihood (1-10, default 2), required,\n#          data_include, titlecase\n# returns: full_name, job_title, job_title_levels, job_company_name,\n#          location_name, linkedin\u002Ftwitter\u002Fgithub, work_email, likelihood\n# price:   PER_CALL\n",[23,286,287,305,311,317,323,329,335,341],{"__ignoreMap":21},[26,288,289,291,294,297,299,302],{"class":28,"line":29},[26,290,233],{"class":217},[26,292,293],{"class":36}," inspect",[26,295,296],{"class":36}," -p",[26,298,49],{"class":36},[26,300,301],{"class":36}," -e",[26,303,304],{"class":36}," \u002Fv5\u002Fperson\u002Fenrich\n",[26,306,307],{"class":28,"line":230},[26,308,310],{"class":309},"sHwdD","# input:   email | phone | name (or first_name + last_name) + company\n",[26,312,314],{"class":28,"line":313},3,[26,315,316],{"class":309},"#          | profile (LinkedIn URL) | pdl_id | email_hash\n",[26,318,320],{"class":28,"line":319},4,[26,321,322],{"class":309},"#          knobs: min_likelihood (1-10, default 2), required,\n",[26,324,326],{"class":28,"line":325},5,[26,327,328],{"class":309},"#          data_include, titlecase\n",[26,330,332],{"class":28,"line":331},6,[26,333,334],{"class":309},"# returns: full_name, job_title, job_title_levels, job_company_name,\n",[26,336,338],{"class":28,"line":337},7,[26,339,340],{"class":309},"#          location_name, linkedin\u002Ftwitter\u002Fgithub, work_email, likelihood\n",[26,342,344],{"class":28,"line":343},8,[26,345,346],{"class":309},"# price:   PER_CALL\n",[11,348,349],{},"Three knobs here are worth setting up front, and they are what keep the bill honest:",[93,351,352,358,364],{},[96,353,354,357],{},[23,355,356],{},"min_likelihood"," floors the match confidence on a 1 to 10 scale. The default of 2 is loose. For anything that writes a name into a CRM, raise it, because greeting the wrong person by name is worse than an empty cell.",[96,359,360,363],{},[23,361,362],{},"required"," lets you say \"only count this a match if it comes back with an email and a job title\". A response missing your must-have fields returns no match, so you are not paying full price for a shell record.",[96,365,366,369,370,373,374,377],{},[23,367,368],{},"titlecase"," cleans ",[23,371,372],{},"JANE DOE"," into ",[23,375,376],{},"Jane Doe"," on the way out, which saves a normalization pass before the row hits a sheet.",[11,379,380,381,201],{},"The docs for every returned field are in the ",[100,382,385],{"href":383,"rel":384},"https:\u002F\u002Fdocs.peopledatalabs.com\u002Fdocs\u002Freference-person-enrichment-api",[104],"PDL person enrichment reference",[88,387,389],{"id":388},"step-2-run-one-email","Step 2. Run one email",[11,391,392,393,396,397,400],{},"Prove the loop on a single address before you point it at the whole list. Body JSON goes to ",[23,394,395],{},"-i",", and ",[23,398,399],{},"-w"," waits for the result inline instead of making you poll.",[16,402,404],{"className":208,"code":403,"language":210,"meta":21,"style":21},"monid run -p pdl -e \u002Fv5\u002Fperson\u002Fenrich \\\n  -i '{\"email\": \"dana@northwind-logistics.com\",\n       \"min_likelihood\": 6, \"titlecase\": true,\n       \"required\": \"emails AND job_title\"}' -w\n# -> one person record, price shown before it executes\n",[23,405,406,424,435,440,451],{"__ignoreMap":21},[26,407,408,410,413,415,417,419,421],{"class":28,"line":29},[26,409,233],{"class":217},[26,411,412],{"class":36}," run",[26,414,296],{"class":36},[26,416,49],{"class":36},[26,418,301],{"class":36},[26,420,52],{"class":36},[26,422,423],{"class":258}," \\\n",[26,425,426,429,432],{"class":28,"line":230},[26,427,428],{"class":36},"  -i",[26,430,431],{"class":251}," '",[26,433,434],{"class":36},"{\"email\": \"dana@northwind-logistics.com\",\n",[26,436,437],{"class":28,"line":313},[26,438,439],{"class":36},"       \"min_likelihood\": 6, \"titlecase\": true,\n",[26,441,442,445,448],{"class":28,"line":319},[26,443,444],{"class":36},"       \"required\": \"emails AND job_title\"}",[26,446,447],{"class":251},"'",[26,449,450],{"class":36}," -w\n",[26,452,453],{"class":28,"line":325},[26,454,455],{"class":309},"# -> one person record, price shown before it executes\n",[11,457,458],{},"If you would rather save the raw record to disk (handy while you are still eyeballing the shape), grab the run by id instead:",[16,460,462],{"className":208,"code":461,"language":210,"meta":21,"style":21},"monid runs get -r 01HXYZ... -o person.json\n",[23,463,464],{"__ignoreMap":21},[26,465,466,468,471,474,477,480,483],{"class":28,"line":29},[26,467,233],{"class":217},[26,469,470],{"class":36}," runs",[26,472,473],{"class":36}," get",[26,475,476],{"class":36}," -r",[26,478,479],{"class":36}," 01HXYZ...",[26,481,482],{"class":36}," -o",[26,484,485],{"class":36}," person.json\n",[88,487,489],{"id":488},"step-3-read-the-fields-that-matter","Step 3. Read the fields that matter",[11,491,492],{},"A full record is large, but a routed, contactable CRM row needs six things. Here is what each one does for you:",[494,495,496,512],"table",{},[497,498,499],"thead",{},[500,501,502,506,509],"tr",{},[503,504,505],"th",{},"Field",[503,507,508],{},"What it is",[503,510,511],{},"What you do with it",[513,514,515,528,540,559,571,583],"tbody",{},[500,516,517,522,525],{},[518,519,520],"td",{},[23,521,125],{},[518,523,524],{},"the person, title-cased",[518,526,527],{},"the greeting line, no cleanup",[500,529,530,534,537],{},[518,531,532],{},[23,533,129],{},[518,535,536],{},"current role text",[518,538,539],{},"subject-line relevance",[500,541,542,546,556],{},[518,543,544],{},[23,545,132],{},[518,547,548,549,126,552,555],{},"seniority (e.g. ",[23,550,551],{},"cxo",[23,553,554],{},"manager",")",[518,557,558],{},"route VPs to a human, ICs to nurture",[500,560,561,565,568],{},[518,562,563],{},[23,564,135],{},[518,566,567],{},"current employer",[518,569,570],{},"account matching in the CRM",[500,572,573,577,580],{},[518,574,575],{},[23,576,138],{},[518,578,579],{},"city, region, country",[518,581,582],{},"the timezone you send in",[500,584,585,596,599],{},[518,586,587,126,590,126,593],{},[23,588,589],{},"linkedin_username",[23,591,592],{},"twitter_url",[23,594,595],{},"github_url",[518,597,598],{},"social handles",[518,600,601],{},"the follow-up channel when email bounces",[11,603,604,605,607,608,610,611,614],{},"The social handles are the quiet upgrade over a plain name-and-title enrichment. An email that goes cold still leaves you a LinkedIn profile to connect on or a GitHub to read, so a non-reply is not a dead end. And ",[23,606,132],{}," is the field that lets the routing run itself: it is a normalized array, so you branch on ",[23,609,551],{}," or ",[23,612,613],{},"director"," in code without parsing free text.",[88,616,618],{"id":617},"step-4-batch-the-list","Step 4. Batch the list",[11,620,621,622,624,625,627],{},"Now scale it. Read ",[23,623,81],{}," one line at a time, run each address, and append the six fields as a row. Keep ",[23,626,356],{}," where you set it so a weak match writes nothing rather than a wrong somebody.",[16,629,631],{"className":208,"code":630,"language":210,"meta":21,"style":21},"echo \"name,title,seniority,company,location,linkedin\" > profiles.csv\n\nwhile IFS= read -r email; do\n  monid run -p pdl -e \u002Fv5\u002Fperson\u002Fenrich \\\n    -i \"{\\\"email\\\": \\\"$email\\\", \\\"min_likelihood\\\": 6, \\\"titlecase\\\": true}\" \\\n    -w -o - \\\n  | jq -r '[.data.full_name,\n            .data.job_title,\n            (.data.job_title_levels \u002F\u002F [] | join(\"|\")),\n            .data.job_company_name,\n            .data.location_name,\n            .data.linkedin_username] | @csv' >> profiles.csv\ndone \u003C emails.csv\n",[23,632,633,653,659,684,701,749,761,776,781,787,793,799,812],{"__ignoreMap":21},[26,634,635,638,641,644,647,650],{"class":28,"line":29},[26,636,637],{"class":32},"echo",[26,639,640],{"class":251}," \"",[26,642,643],{"class":36},"name,title,seniority,company,location,linkedin",[26,645,646],{"class":251},"\"",[26,648,649],{"class":251}," >",[26,651,652],{"class":36}," profiles.csv\n",[26,654,655],{"class":28,"line":230},[26,656,658],{"emptyLinePlaceholder":657},true,"\n",[26,660,661,665,668,671,674,676,678,681],{"class":28,"line":313},[26,662,664],{"class":663},"s7zQu","while",[26,666,667],{"class":258}," IFS",[26,669,670],{"class":251},"=",[26,672,673],{"class":32}," read",[26,675,476],{"class":36},[26,677,64],{"class":36},[26,679,680],{"class":251},";",[26,682,683],{"class":663}," do\n",[26,685,686,689,691,693,695,697,699],{"class":28,"line":319},[26,687,688],{"class":217},"  monid",[26,690,412],{"class":36},[26,692,296],{"class":36},[26,694,49],{"class":36},[26,696,301],{"class":36},[26,698,52],{"class":36},[26,700,423],{"class":258},[26,702,703,706,708,711,714,717,719,722,725,727,729,731,733,736,738,740,742,745,747],{"class":28,"line":325},[26,704,705],{"class":36},"    -i",[26,707,640],{"class":251},[26,709,710],{"class":36},"{",[26,712,713],{"class":258},"\\\"",[26,715,716],{"class":36},"email",[26,718,713],{"class":258},[26,720,721],{"class":36},": ",[26,723,724],{"class":258},"\\\"$email\\\"",[26,726,126],{"class":36},[26,728,713],{"class":258},[26,730,356],{"class":36},[26,732,713],{"class":258},[26,734,735],{"class":36},": 6, ",[26,737,713],{"class":258},[26,739,368],{"class":36},[26,741,713],{"class":258},[26,743,744],{"class":36},": true}",[26,746,646],{"class":251},[26,748,423],{"class":258},[26,750,751,754,756,759],{"class":28,"line":331},[26,752,753],{"class":36},"    -w",[26,755,482],{"class":36},[26,757,758],{"class":36}," -",[26,760,423],{"class":258},[26,762,763,766,769,771,773],{"class":28,"line":337},[26,764,765],{"class":251},"  |",[26,767,768],{"class":217}," jq",[26,770,476],{"class":36},[26,772,431],{"class":251},[26,774,775],{"class":36},"[.data.full_name,\n",[26,777,778],{"class":28,"line":343},[26,779,780],{"class":36},"            .data.job_title,\n",[26,782,784],{"class":28,"line":783},9,[26,785,786],{"class":36},"            (.data.job_title_levels \u002F\u002F [] | join(\"|\")),\n",[26,788,790],{"class":28,"line":789},10,[26,791,792],{"class":36},"            .data.job_company_name,\n",[26,794,796],{"class":28,"line":795},11,[26,797,798],{"class":36},"            .data.location_name,\n",[26,800,802,805,807,810],{"class":28,"line":801},12,[26,803,804],{"class":36},"            .data.linkedin_username] | @csv",[26,806,447],{"class":251},[26,808,809],{"class":251}," >>",[26,811,652],{"class":36},[26,813,815,818,820],{"class":28,"line":814},13,[26,816,817],{"class":663},"done",[26,819,252],{"class":251},[26,821,822],{"class":258}," emails.csv\n",[11,824,825,826,829],{},"A no-match row comes back empty, so a quick ",[23,827,828],{},"jq 'select(.data.full_name)'"," filter drops the misses before they clutter the sheet. And because every call prints its price before it bills, you can run the first ten rows, read the tally, then let the rest of the file through.",[88,831,833],{"id":832},"step-5-wire-it-into-your-flow","Step 5. Wire it into your flow",[11,835,836,838],{},[23,837,85],{}," imports straight into most CRMs, but you rarely want a manual import in the loop. Two ways to close it:",[93,840,841,855],{},[96,842,843,844,847,848,851,852,854],{},"Push each row as you go. Swap the ",[23,845,846],{},">> profiles.csv"," append for a ",[23,849,850],{},"curl"," to your CRM's contacts endpoint, mapping ",[23,853,132],{}," to your lead-tier field. Now enrichment and CRM write are one pass.",[96,856,857],{},"Hand it to an agent. Because Monid ships as an MCP server, an agent handed \"enrich this week's signups and tag anyone senior\" can read the sheet, run each lookup, keep the confident matches, and write the rest to a review queue. Free discovery and a visible per-call price are what make handing it the wallet feel safe.",[11,859,860],{},"Either way the shape is the same as the figure: read a row, run one call, keep six fields, move to the next.",[88,862,864],{"id":863},"what-the-run-actually-costs","What the run actually costs",[11,866,867,868,201],{},"Person enrichment bills per call, and the magnitude is the honest headline here. Each lookup is on the order of tens of cents, not the fraction of a cent a social scraper costs, and you see the exact number before every run. The live prices are at ",[100,869,872],{"href":870,"rel":871},"https:\u002F\u002Fmonid.ai\u002Ftools",[104],"monid.ai\u002Ftools",[16,874,877],{"className":875,"code":876,"language":190},[188],"Inspect the schema        free\nRun one test email        one call, tens of cents\nBatch of 100 signups      ~100 calls, lands in the tens of dollars\nNo-match rows             filtered, but a matched call still bills\n------------------------------------------------------------------\nTypical weekly pass: one call per address you chose to enrich\n",[23,878,876],{"__ignoreMap":21},[11,880,881,882,884],{},"Set that against a seat-based enrichment subscription, which charges a fixed monthly seat whether you enrich two thousand people or none, and usually meters credits you lose at renewal. Here you pay for the calls you make and nothing in the weeks you make none, which fits list enrichment exactly: bursty before a campaign, quiet in between. The lever on cost is Step 1, not a contract. Skip the free-mail signups, set ",[23,883,362],{}," so shell records do not bill full freight, and every address you enrich is one you meant to.",[88,886,888],{"id":887},"faq","FAQ",[11,890,891,895,896,899],{},[892,893,894],"strong",{},"Do I need a People Data Labs account?","\nNo. You integrate ",[100,897,115],{"href":113,"rel":898},[104]," once and fund one pay-as-you-go wallet. PDL is called through the same key, and the wallet bills at the price shown before each run.",[11,901,902,905,906,908,909,911],{},[892,903,904],{},"What if an email does not match anyone?","\nYou get no match rather than a wrong one. Set ",[23,907,356],{}," around 6 for anything customer-facing, and use ",[23,910,362],{}," to insist a match carry the fields you need before it counts.",[11,913,914,917,918,201],{},[892,915,916],{},"How much does a list cost to enrich?","\nPer call, on the order of tens of cents each, so a hundred emails lands in the tens of dollars and a handful of inbound checks is pocket change. Current per-endpoint prices are at ",[100,919,872],{"href":870,"rel":920},[104],[11,922,923,926,927,929,930,933],{},[892,924,925],{},"Can I enrich something other than an email?","\nYes. The same ",[23,928,109],{}," accepts a phone, a name plus company, a LinkedIn URL, an ",[23,931,932],{},"email_hash"," if the raw address is sensitive, or a PDL id. Pass whatever identifier you hold.",[88,935,937],{"id":936},"run-it-on-your-list","Run it on your list",[11,939,940,941,201],{},"Take the last export of signups you never got around to researching. Inspect the endpoint for free, run ten addresses pay-per-call, and see how many turn into rows you can act on. If the fields check out, let the loop run the rest. Start at ",[100,942,944],{"href":113,"rel":943},[104],"monid.ai",[946,947,948],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":21,"searchDepth":230,"depth":230,"links":950},[951,952,956,957,958,959,960,961,962,963],{"id":90,"depth":230,"text":91},{"id":156,"depth":230,"text":157,"children":953},[954,955],{"id":174,"depth":313,"text":175},{"id":204,"depth":313,"text":205},{"id":273,"depth":230,"text":274},{"id":388,"depth":230,"text":389},{"id":488,"depth":230,"text":489},{"id":617,"depth":230,"text":618},{"id":832,"depth":230,"text":833},{"id":863,"depth":230,"text":864},{"id":887,"depth":230,"text":888},{"id":936,"depth":230,"text":937},null,"\u002Fimg\u002Fblog\u002Fautomate-email-to-profile-enrichment.png","Turn a list of emails into full person profiles with People Data Labs on Monid, one pay-per-call lookup each, written straight to your sheet or CRM.",false,"md",{},"\u002Fblog\u002Fautomate-email-to-profile-enrichment","2026-07-14",{"title":5,"description":966},"blog\u002Fautomate-email-to-profile-enrichment",[975,976,716,977],"enrichment","people data labs","crm","C1_SbeFLv0olUEIT4mDGfUT9HXZRqvdbb4u7eNEyjcc",[980,1042,1110,1176],{"id":981,"title":982,"author":964,"body":983,"category":964,"cover":1027,"description":21,"draft":967,"extension":968,"image":964,"launchCta":1028,"meta":1031,"navigation":657,"ogImage":964,"path":1032,"publishedAt":1033,"readTime":964,"seo":1034,"stem":1035,"tags":1036,"updatedAt":964,"__hash__":1041},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":984,"toc":1023},[985,989,997,1000,1004,1010,1017,1020],[88,986,988],{"id":987},"what-is-aktapro","What is akta.pro",[11,990,991,996],{},[100,992,995],{"href":993,"rel":994},"https:\u002F\u002Fwww.akta.pro\u002F",[104],"akta.pro"," is a private company data and signals API for\nAI agents. Company Database covers 20M+ companies with 75+ structured fields\neach. News Signals delivers deduplicated, entity-resolved company news,\nindustry news, and signals on open-ended topics, all scored for impact and\nsentiment.",[11,998,999],{},"Private-company research is usually scattered across databases, news feeds,\nreview sites, and web search. akta.pro turns that into structured API calls, so\nan agent gets the right company context and keeps moving.",[88,1001,1003],{"id":1002},"what-is-monid","What is Monid",[11,1005,1006,1009],{},[100,1007,115],{"href":113,"rel":1008},[104]," is the tool layer for agents. It lets agents connect\nto all the tools and APIs they need, without managing signups, API keys, or\nsubscriptions.",[11,1011,1012,1013,201],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[100,1014,1016],{"href":870,"rel":1015},[104],"and more",[1018,1019],"hr",{},[11,1021,1022],{},"On Monid, akta.pro becomes available as part of that same layer. Your agent can\nrequest private-company context, call akta.pro through Monid, receive structured\nmarket data, and continue the task. Private markets research should feel like\nany other tool call: describe the company or sector, get the signal, keep\nbuilding.",{"title":21,"searchDepth":230,"depth":230,"links":1024},[1025,1026],{"id":987,"depth":230,"text":988},{"id":1002,"depth":230,"text":1003},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":1029,"command":1030},"Give your agent this line to get started.","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use akta.pro to research recent news, company enrichment, and alternative signals for Databricks",{},"\u002Fblog\u002Fakta-pro-is-now-available-on-monid","2026-07-07",{"title":982,"description":21},"blog\u002Fakta-pro-is-now-available-on-monid",[1037,1038,1039,1040],"agents","partner-tools","private-markets","data","yZnqIVof0gIpw9VH6HcE3rzit5OdTvPyC6k--T1kYa8",{"id":1043,"title":1044,"author":964,"body":1045,"category":964,"cover":1099,"description":1100,"draft":967,"extension":968,"image":964,"launchCta":964,"meta":1101,"navigation":657,"ogImage":964,"path":1102,"publishedAt":1103,"readTime":964,"seo":1104,"stem":1105,"tags":1106,"updatedAt":964,"__hash__":1109},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":1046,"toc":1095},[1047,1050,1059,1063,1071,1074,1076,1081,1087,1089,1092],[11,1048,1049],{"style":13},"Copy this line to your agent to make your first phone call.",[16,1051,1053],{"className":18,"code":1052,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n",[23,1054,1055],{"__ignoreMap":21},[26,1056,1057],{"class":28,"line":29},[26,1058,1052],{},[88,1060,1062],{"id":1061},"what-is-saperly","What is Saperly",[11,1064,1065,1070],{},[100,1066,1069],{"href":1067,"rel":1068},"https:\u002F\u002Fsaperly.com\u002F",[104],"Saperly"," is phone infrastructure for AI agents. It gives\nan agent a real phone number with voice, SMS, routing, spend controls, and\ncompliance built in, without making the builder manage carrier accounts or\ntelephony paperwork.",[11,1072,1073],{},"Your agent can confirm an appointment, follow up on a lead, check availability,\nor route a conversation without leaving the workflow it is already running.",[88,1075,1003],{"id":1002},[11,1077,1078,1009],{},[100,1079,115],{"href":113,"rel":1080},[104],[11,1082,1083,1084,201],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[100,1085,1016],{"href":870,"rel":1086},[104],[1018,1088],{},[11,1090,1091],{},"On Monid, Saperly becomes available as part of that same layer. Your agent can\nrequest a phone call, use Saperly through Monid, receive the result, and keep\ngoing. Calling should feel like any other tool call: describe the outcome, let\nthe agent handle the phone work, and continue the task.",[946,1093,1094],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":21,"searchDepth":230,"depth":230,"links":1096},[1097,1098],{"id":1061,"depth":230,"text":1062},{"id":1002,"depth":230,"text":1003},"\u002Fimg\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.png","Saperly is now available on Monid. Your agent can now make phone calls for you.",{},"\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls","2026-07-05",{"title":1044,"description":1100},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[1037,1038,1107,1108],"voice","phone","X0vLpqb1Vn9mIFY4XAQ16a67_nbOfiZV8NEdV12nu1A",{"id":1111,"title":1112,"author":964,"body":1113,"category":964,"cover":1165,"description":1166,"draft":967,"extension":968,"image":964,"launchCta":964,"meta":1167,"navigation":657,"ogImage":964,"path":1168,"publishedAt":1169,"readTime":964,"seo":1170,"stem":1171,"tags":1172,"updatedAt":964,"__hash__":1175},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":1114,"toc":1161},[1115,1118,1127,1131,1139,1142,1144,1149,1154,1156,1159],[11,1116,1117],{"style":13},"Copy this line to your agent to generate your 3D model.",[16,1119,1121],{"className":18,"code":1120,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[23,1122,1123],{"__ignoreMap":21},[26,1124,1125],{"class":28,"line":29},[26,1126,1120],{},[88,1128,1130],{"id":1129},"what-is-suzanne","What is Suzanne",[11,1132,1133,1138],{},[100,1134,1137],{"href":1135,"rel":1136},"https:\u002F\u002Fwww.suzanne3d.com",[104],"Suzanne"," is an AI-native 3D modeling tool that turns a prompt into a\nusable 3D asset. Instead of opening a modeling tool, blocking out forms,\nadding details, and exporting by hand, you describe what you want and let\nSuzanne generate the model for you.",[11,1140,1141],{},"That changes who can create 3D objects. Product teams can prototype visual\nideas faster. Game builders can rough out props and characters without\nwaiting on a full art pass. Agents can generate assets as part of a larger\nworkflow, then hand those files to downstream tools for rendering, testing,\nor iteration.",[88,1143,1003],{"id":1002},[11,1145,1146,1009],{},[100,1147,115],{"href":113,"rel":1148},[104],[11,1150,1012,1151,201],{},[100,1152,1016],{"href":870,"rel":1153},[104],[1018,1155],{},[11,1157,1158],{},"On Monid, Suzanne becomes available as part of that same layer. Your agent can\nask for the 3D asset it needs, call Suzanne through Monid, and continue the task.\n3D creation should feel as direct as text generation: describe the thing, get\nthe artifact, keep building.",[946,1160,1094],{},{"title":21,"searchDepth":230,"depth":230,"links":1162},[1163,1164],{"id":1129,"depth":230,"text":1130},{"id":1002,"depth":230,"text":1003},"\u002Fimg\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.png","Suzanne is now available on Monid. Turn any idea into a production-ready 3D model in one prompt.",{},"\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models","2026-06-25",{"title":1112,"description":1166},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[1173,1037,1174],"3d","creative-tools","_S0uHM_dNVZKt_1ohYV4hn2Fm6SMxsDxzSezZf6lYFQ",{"id":1177,"title":1178,"author":964,"body":1179,"category":964,"cover":1238,"description":1239,"draft":967,"extension":968,"image":964,"launchCta":964,"meta":1240,"navigation":657,"ogImage":964,"path":1241,"publishedAt":1242,"readTime":964,"seo":1243,"stem":1244,"tags":1245,"updatedAt":964,"__hash__":1248},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":1180,"toc":1233},[1181,1184,1193,1197,1205,1209,1212,1214,1220,1226,1228,1231],[11,1182,1183],{"style":13},"Copy this line to your agent to create music.",[16,1185,1187],{"className":18,"code":1186,"language":20,"meta":21,"style":21},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[23,1188,1189],{"__ignoreMap":21},[26,1190,1191],{"class":28,"line":29},[26,1192,1186],{},[88,1194,1196],{"id":1195},"minimax-music-26","MiniMax Music 2.6",[11,1198,1199,1204],{},[100,1200,1203],{"href":1201,"rel":1202},"https:\u002F\u002Fwww.minimax.io",[104],"MiniMax"," Music 2.6 turns a prompt into music your agent can use right away. Describe the style, mood, lyrics, or use case, and generate a track inside the same workflow.",[88,1206,1208],{"id":1207},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,1210,1211],{},"MiniMax image-01 turns text prompts into images. Ask for a concept, scene, product visual, or creative asset, and let your agent generate it through Monid.",[88,1213,1003],{"id":1002},[11,1215,1216,1219],{},[100,1217,115],{"href":113,"rel":1218},[104]," is the tool layer for agents. It lets agents connect to all the tools and APIs they need, without managing signups, API keys, or subscriptions.",[11,1221,1222,1223,201],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[100,1224,1016],{"href":870,"rel":1225},[104],[1018,1227],{},[11,1229,1230],{},"On Monid, MiniMax becomes part of the same tool layer your agent already uses. Describe what you need, generate the image or music, and keep building.",[946,1232,1094],{},{"title":21,"searchDepth":230,"depth":230,"links":1234},[1235,1236,1237],{"id":1195,"depth":230,"text":1196},{"id":1207,"depth":230,"text":1208},{"id":1002,"depth":230,"text":1003},"\u002Fimg\u002Fblog\u002Fminimax-is-now-available-on-monid.png","Create images and music with MiniMax models through Monid.",{},"\u002Fblog\u002Fminimax-is-now-available-on-monid","2026-06-24",{"title":1178,"description":1239},"blog\u002Fminimax-is-now-available-on-monid",[1037,1174,1246,1247],"image-generation","music-generation","OYTt4aBpVNeb9nNuUTkZhyl8yzm6h4v8c8tMHC9NmFg",1784441553371]