[{"data":1,"prerenderedAt":1365},["ShallowReactive",2],{"blog-\u002Fblog\u002Fbuild-a-company-news-watcher":3,"blog-related-\u002Fblog\u002Fbuild-a-company-news-watcher":1095},{"id":4,"title":5,"author":6,"body":7,"category":1077,"cover":1078,"description":1079,"draft":1080,"extension":1081,"image":1077,"launchCta":1077,"listingCover":1077,"meta":1082,"navigation":1083,"ogImage":1077,"path":1084,"publishedAt":1085,"readTime":1077,"seo":1086,"stem":1087,"tags":1088,"toolCategory":1077,"updatedAt":1077,"__hash__":1094},"blogUnlisted\u002Fblog\u002Fbuild-a-company-news-watcher.md","Build a Company News Watcher That Posts a Daily Digest","The Monid Team",{"type":8,"value":9,"toc":1061},"minimark",[10,14,18,110,120,125,192,196,201,210,218,226,230,287,295,299,306,344,363,370,374,377,398,431,435,450,498,514,556,560,563,574,617,623,645,648,652,661,690,702,706,709,948,954,958,961,965,986,995,999,1011,1031,1045,1057],[11,12,13],"p",{},"You can build a working company news watcher in under twenty minutes: resolve each company to a stable id, pull enriched recent articles for it, keep only the high-signal ones, and post the result as a daily digest. The whole thing runs on one endpoint that returns news already classified by event type, sentiment, and score, so the filtering step is a field check, not a language model you have to train. Everything below uses commands you can paste as-is.",[11,15,17],{"style":16},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to build a company news watcher.",[19,20,25],"pre",{"className":21,"code":22,"language":23,"meta":24,"style":24},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use akta \u002Fv1\u002Fnews to pull enriched recent news for a list of companies and post a daily digest of the high-score items\n","sh","",[26,27,28],"code",{"__ignoreMap":24},[29,30,33,37,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,88,91,93,96,99,101,104,107],"span",{"class":31,"line":32},"line",1,[29,34,36],{"class":35},"s2Zo4","set",[29,38,40],{"class":39},"sfazB"," up",[29,42,43],{"class":39}," https:\u002F\u002Fmonid.ai\u002FSKILL.md",[29,45,46],{"class":39}," and",[29,48,49],{"class":39}," use",[29,51,52],{"class":39}," akta",[29,54,55],{"class":39}," \u002Fv1\u002Fnews",[29,57,58],{"class":39}," to",[29,60,61],{"class":39}," pull",[29,63,64],{"class":39}," enriched",[29,66,67],{"class":39}," recent",[29,69,70],{"class":39}," news",[29,72,73],{"class":39}," for",[29,75,76],{"class":39}," a",[29,78,79],{"class":39}," list",[29,81,82],{"class":39}," of",[29,84,85],{"class":39}," companies",[29,87,46],{"class":39},[29,89,90],{"class":39}," post",[29,92,76],{"class":39},[29,94,95],{"class":39}," daily",[29,97,98],{"class":39}," digest",[29,100,82],{"class":39},[29,102,103],{"class":39}," the",[29,105,106],{"class":39}," high-score",[29,108,109],{"class":39}," items\n",[11,111,112,119],{},[113,114,118],"a",{"href":115,"rel":116},"https:\u002F\u002Fmonid.ai",[117],"nofollow","Monid"," is a pay-per-call data API marketplace: one interface and one wallet to discover, inspect, and run hundreds of external data endpoints (web scraping, people and company enrichment, social data, news, web search) without a separate signup per vendor. A news watcher is a clean fit, because the loop is small and repeats every day.",[121,122,124],"h2",{"id":123},"tldr","TL;DR",[126,127,128,142,153,172],"ul",{},[129,130,131,132,137,138,141],"li",{},"Resolve each company with ",[113,133,136],{"href":134,"rel":135},"https:\u002F\u002Fakta.pro",[117],"Akta"," ",[26,139,140],{},"\u002Fv1\u002Fcompany\u002Fsearch"," first. It takes a name or a website and returns a stable website and uuid. This lookup is free.",[129,143,144,145,148,149,152],{},"Pull articles with Akta ",[26,146,147],{},"\u002Fv1\u002Fnews",", passing the resolved website (or uuid) as ",[26,150,151],{},"company",". It returns each article with an AI summary, event classification, sentiment, publisher metadata, resolved company mentions, geography, industry tags, a named-entity object, a news score tier, and the full text.",[129,154,155,156,159,160,163,164,167,168,171],{},"Filter server-side: ",[26,157,158],{},"news_score_list=High",", a ",[26,161,162],{},"start_date"," for the window, ",[26,165,166],{},"sentiment_list",", and a publisher ",[26,169,170],{},"blacklisted"," list. What comes back is already the digest.",[129,173,174,177,178,181,182,185,186,191],{},[26,175,176],{},"discover",", ",[26,179,180],{},"inspect",", and the company-search lookup are free. Only the news ",[26,183,184],{},"run"," bills, at a fraction of a cent per article plus a tiny flat fee per call. Live rate at ",[113,187,190],{"href":188,"rel":189},"https:\u002F\u002Fmonid.ai\u002Ftools",[117],"monid.ai\u002Ftools",".",[121,193,195],{"id":194},"set-up-monid-once","Set up Monid once",[197,198,200],"h3",{"id":199},"for-agents","For agents",[11,202,203,204,209],{},"Grab an API key at ",[113,205,208],{"href":206,"rel":207},"https:\u002F\u002Fapp.monid.ai\u002F",[117],"app.monid.ai",", then paste this to your agent and hand it the key:",[19,211,216],{"className":212,"code":214,"language":215},[213],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[26,217,214],{"__ignoreMap":24},[11,219,220,221,191],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[113,222,225],{"href":223,"rel":224},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[117],"agent quickstart",[197,227,229],{"id":228},"for-humans","For humans",[19,231,235],{"className":232,"code":233,"language":234,"meta":24,"style":24},"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",[26,236,237,252],{"__ignoreMap":24},[29,238,239,243,246,249],{"class":31,"line":32},[29,240,242],{"class":241},"sBMFI","npm",[29,244,245],{"class":39}," install",[29,247,248],{"class":39}," -g",[29,250,251],{"class":39}," @monid-ai\u002Fcli\n",[29,253,255,258,261,264,267,270,273,277,280,284],{"class":31,"line":254},2,[29,256,257],{"class":241},"monid",[29,259,260],{"class":39}," keys",[29,262,263],{"class":39}," add",[29,265,266],{"class":39}," --label",[29,268,269],{"class":39}," main",[29,271,272],{"class":39}," --key",[29,274,276],{"class":275},"sMK4o"," \u003C",[29,278,279],{"class":39},"your-api-ke",[29,281,283],{"class":282},"sTEyZ","y",[29,285,286],{"class":275},">\n",[11,288,289,290,191],{},"More details in the ",[113,291,294],{"href":292,"rel":293},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[117],"CLI quickstart",[121,296,298],{"id":297},"step-1-pick-your-watchlist-and-resolve-each-company","Step 1: pick your watchlist and resolve each company",[11,300,301,302,305],{},"Decide what you are watching: your named accounts, a set of competitors, or a target list you are working. The important detail up front is that the news endpoint does not accept a bare company name. It wants a company website (like ",[26,303,304],{},"https:\u002F\u002Fstripe.com",") or an Akta company uuid. If your list is already domains, you can skip ahead. If it is names, resolve them first with the free search endpoint:",[19,307,309],{"className":21,"code":308,"language":23,"meta":24,"style":24},"monid run -p akta -e \u002Fv1\u002Fcompany\u002Fsearch --query '{\"query\":\"Stripe\"}' -w\n",[26,310,311],{"__ignoreMap":24},[29,312,313,315,318,321,323,326,329,332,335,338,341],{"class":31,"line":32},[29,314,257],{"class":241},[29,316,317],{"class":39}," run",[29,319,320],{"class":39}," -p",[29,322,52],{"class":39},[29,324,325],{"class":39}," -e",[29,327,328],{"class":39}," \u002Fv1\u002Fcompany\u002Fsearch",[29,330,331],{"class":39}," --query",[29,333,334],{"class":275}," '",[29,336,337],{"class":39},"{\"query\":\"Stripe\"}",[29,339,340],{"class":275},"'",[29,342,343],{"class":39}," -w\n",[11,345,346,347,177,350,177,353,356,357,359,360,362],{},"That returns the company's ",[26,348,349],{},"uuid",[26,351,352],{},"name",[26,354,355],{},"website",", and status. This call is billed at zero, so resolving a whole watchlist costs nothing. Save the ",[26,358,355],{}," or ",[26,361,349],{}," for each company. Using the uuid is the more precise choice when two companies share a similar name, since the uuid pins the exact record.",[11,364,365],{},[366,367],"img",{"alt":368,"src":369},"A company name resolved through Akta company search (free) into a website or uuid, then a news pull kept to High news_score, feeding a daily digest","\u002Fimg\u002Fblog\u002Fbuild-a-company-news-watcher-fig-resolve-pull.png",[121,371,373],{"id":372},"step-2-inspect-the-news-endpoint-free","Step 2: inspect the news endpoint (free)",[11,375,376],{},"Before spending anything, read the exact input and the returned field list:",[19,378,380],{"className":21,"code":379,"language":23,"meta":24,"style":24},"monid inspect -p akta -e \u002Fv1\u002Fnews\n",[26,381,382],{"__ignoreMap":24},[29,383,384,386,389,391,393,395],{"class":31,"line":32},[29,385,257],{"class":241},[29,387,388],{"class":39}," inspect",[29,390,320],{"class":39},[29,392,52],{"class":39},[29,394,325],{"class":39},[29,396,397],{"class":39}," \u002Fv1\u002Fnews\n",[11,399,400,401,403,404,406,407,177,410,413,414,417,418,421,422,425,426,191],{},"This prints the schema and the per-result price for free. The two inputs that matter most are ",[26,402,151],{}," (the website or uuid from Step 1) and ",[26,405,162],{}," (the left edge of your window). The output section is worth reading closely, because the fields it lists are exactly what makes filtering easy later: ",[26,408,409],{},"news_score",[26,411,412],{},"sentiment",", an event ",[26,415,416],{},"type",", resolved company mentions, an ",[26,419,420],{},"entities"," object, and the article ",[26,423,424],{},"summary",". The full reference lives on the ",[113,427,430],{"href":428,"rel":429},"https:\u002F\u002Fdocs.akta.pro\u002Fnews",[117],"Akta news docs",[121,432,434],{"id":433},"step-3-pull-recent-news-for-one-company","Step 3: pull recent news for one company",[11,436,437,438,441,442,445,446,449],{},"Start with a single company and a tight window to confirm the shape. The ",[26,439,440],{},"-w"," flag waits inline and prints the result, ",[26,443,444],{},"--query"," passes the query params, and ",[26,447,448],{},"-o"," saves the payload to disk:",[19,451,453],{"className":21,"code":452,"language":23,"meta":24,"style":24},"monid run -p akta -e \u002Fv1\u002Fnews \\\n  --query '{\"company\":\"https:\u002F\u002Fstripe.com\"}' \\\n  -w -o stripe-news.json\n",[26,454,455,472,486],{"__ignoreMap":24},[29,456,457,459,461,463,465,467,469],{"class":31,"line":32},[29,458,257],{"class":241},[29,460,317],{"class":39},[29,462,320],{"class":39},[29,464,52],{"class":39},[29,466,325],{"class":39},[29,468,55],{"class":39},[29,470,471],{"class":282}," \\\n",[29,473,474,477,479,482,484],{"class":31,"line":254},[29,475,476],{"class":39},"  --query",[29,478,334],{"class":275},[29,480,481],{"class":39},"{\"company\":\"https:\u002F\u002Fstripe.com\"}",[29,483,340],{"class":275},[29,485,471],{"class":282},[29,487,489,492,495],{"class":31,"line":488},3,[29,490,491],{"class":39},"  -w",[29,493,494],{"class":39}," -o",[29,496,497],{"class":39}," stripe-news.json\n",[11,499,500,502,503,506,507,509,510,513],{},[26,501,184],{}," is the only paid step here, billed pay-as-you-go at the price already shown during inspect: a fraction of a cent per article plus a small flat fee per call. At the default of ten articles that is well under a cent for the pull. See the live rate on ",[113,504,190],{"href":188,"rel":505},[117],". To scope the window to the last day and cap the volume, add a ",[26,508,162],{}," and a ",[26,511,512],{},"limit",":",[19,515,517],{"className":21,"code":516,"language":23,"meta":24,"style":24},"monid run -p akta -e \u002Fv1\u002Fnews \\\n  --query '{\"company\":\"https:\u002F\u002Fstripe.com\",\"start_date\":\"2026-07-26\",\"limit\":50}' \\\n  -w -o stripe-news.json\n",[26,518,519,535,548],{"__ignoreMap":24},[29,520,521,523,525,527,529,531,533],{"class":31,"line":32},[29,522,257],{"class":241},[29,524,317],{"class":39},[29,526,320],{"class":39},[29,528,52],{"class":39},[29,530,325],{"class":39},[29,532,55],{"class":39},[29,534,471],{"class":282},[29,536,537,539,541,544,546],{"class":31,"line":254},[29,538,476],{"class":39},[29,540,334],{"class":275},[29,542,543],{"class":39},"{\"company\":\"https:\u002F\u002Fstripe.com\",\"start_date\":\"2026-07-26\",\"limit\":50}",[29,545,340],{"class":275},[29,547,471],{"class":282},[29,549,550,552,554],{"class":31,"line":488},[29,551,491],{"class":39},[29,553,494],{"class":39},[29,555,497],{"class":39},[121,557,559],{"id":558},"step-4-filter-to-what-actually-matters","Step 4: filter to what actually matters",[11,561,562],{},"A raw news pull is noisy: reprints, low-signal mentions, and the same event told five times. The endpoint hands you the filters to fix that on the server, so you pay for and receive only the items worth reading.",[11,564,565,566,569,570,573],{},"The single most useful filter is the score tier. Set ",[26,567,568],{},"news_score_list"," to ",[26,571,572],{},"High"," and the reprints and passing mentions drop out:",[19,575,577],{"className":21,"code":576,"language":23,"meta":24,"style":24},"monid run -p akta -e \u002Fv1\u002Fnews \\\n  --query '{\"company\":\"https:\u002F\u002Fstripe.com\",\"start_date\":\"2026-07-26\",\"news_score_list\":\"High\",\"group_articles\":true}' \\\n  -w -o stripe-digest.json\n",[26,578,579,595,608],{"__ignoreMap":24},[29,580,581,583,585,587,589,591,593],{"class":31,"line":32},[29,582,257],{"class":241},[29,584,317],{"class":39},[29,586,320],{"class":39},[29,588,52],{"class":39},[29,590,325],{"class":39},[29,592,55],{"class":39},[29,594,471],{"class":282},[29,596,597,599,601,604,606],{"class":31,"line":254},[29,598,476],{"class":39},[29,600,334],{"class":275},[29,602,603],{"class":39},"{\"company\":\"https:\u002F\u002Fstripe.com\",\"start_date\":\"2026-07-26\",\"news_score_list\":\"High\",\"group_articles\":true}",[29,605,340],{"class":275},[29,607,471],{"class":282},[29,609,610,612,614],{"class":31,"line":488},[29,611,491],{"class":39},[29,613,494],{"class":39},[29,615,616],{"class":39}," stripe-digest.json\n",[11,618,619,622],{},[26,620,621],{},"group_articles:true"," collapses the same event reported by many outlets into one item, which is what you want in a digest. Three more filters earn their place:",[126,624,625,634,639],{},[129,626,627,629,630,633],{},[26,628,166],{}," set to ",[26,631,632],{},"negative"," when you are watching for risk on your own accounts, or left off to see the full picture on competitors.",[129,635,636,638],{},[26,637,170],{}," with a comma-separated list of publisher domains you never want, to cut aggregators and low-quality sources.",[129,640,641,644],{},[26,642,643],{},"countries"," with ISO codes when you only care about events in specific markets.",[11,646,647],{},"Because the filtering happens before the result is priced, a tighter filter is also a cheaper pull. You are not paying to download noise and then throwing it away locally.",[121,649,651],{"id":650},"step-5-shape-the-digest","Step 5: shape the digest",[11,653,654,655,660],{},"The saved JSON holds an array of enriched articles. Pull the handful of fields a human digest actually reads with ",[113,656,659],{"href":657,"rel":658},"https:\u002F\u002Fjqlang.github.io\u002Fjq\u002F",[117],"jq",": the title, the AI summary, the score, the sentiment, and the source link.",[19,662,664],{"className":21,"code":663,"language":23,"meta":24,"style":24},"jq '[.[] | {title, summary, score: .news_score, sentiment, url, source: .publisher, when: .published_at}]' \\\n  stripe-digest.json > digest-rows.json\n",[26,665,666,679],{"__ignoreMap":24},[29,667,668,670,672,675,677],{"class":31,"line":32},[29,669,659],{"class":241},[29,671,334],{"class":275},[29,673,674],{"class":39},"[.[] | {title, summary, score: .news_score, sentiment, url, source: .publisher, when: .published_at}]",[29,676,340],{"class":275},[29,678,471],{"class":282},[29,680,681,684,687],{"class":31,"line":254},[29,682,683],{"class":39},"  stripe-digest.json",[29,685,686],{"class":275}," >",[29,688,689],{"class":39}," digest-rows.json\n",[11,691,692,693,695,696,698,699,701],{},"Field names in your payload may differ slightly, so glance at the ",[26,694,180],{}," output or the raw file to confirm the exact keys before wiring the selector. The ",[26,697,424],{}," field is the reason this reads well as a digest: each row already carries a one-paragraph gloss of the article, so the reader does not have to open every link to know what happened. The ",[26,700,420],{}," object (people, locations, products, events) is there if you want to group or tag the digest further.",[121,703,705],{"id":704},"step-6-fan-several-companies-into-one-digest","Step 6: fan several companies into one digest",[11,707,708],{},"A watcher is more than one company. Loop your resolved watchlist, pull each one with the same filters, tag every article with the company it came from, and concatenate. The loop is the whole watcher:",[19,710,712],{"className":21,"code":711,"language":23,"meta":24,"style":24},"#!\u002Fbin\u002Fsh\nSINCE=$(date -d yesterday +%F)\n: > all-news.json\nfor SITE in stripe.com plaid.com adyen.com; do\n  monid run -p akta -e \u002Fv1\u002Fnews \\\n    --query \"{\\\"company\\\":\\\"https:\u002F\u002F$SITE\\\",\\\"start_date\\\":\\\"$SINCE\\\",\\\"news_score_list\\\":\\\"High\\\",\\\"group_articles\\\":true}\" \\\n    -w -o \"news-$SITE.json\"\n  jq --arg co \"$SITE\" '[.[] | {company: $co, title, summary, sentiment, url}]' \\\n    \"news-$SITE.json\" >> all-news.json\ndone\n",[26,713,714,720,743,752,780,798,874,896,923,942],{"__ignoreMap":24},[29,715,716],{"class":31,"line":32},[29,717,719],{"class":718},"sHwdD","#!\u002Fbin\u002Fsh\n",[29,721,722,725,728,731,734,737,740],{"class":31,"line":254},[29,723,724],{"class":282},"SINCE",[29,726,727],{"class":275},"=$(",[29,729,730],{"class":241},"date",[29,732,733],{"class":39}," -d",[29,735,736],{"class":39}," yesterday",[29,738,739],{"class":39}," +%F",[29,741,742],{"class":275},")\n",[29,744,745,747,749],{"class":31,"line":488},[29,746,513],{"class":35},[29,748,686],{"class":275},[29,750,751],{"class":39}," all-news.json\n",[29,753,755,759,762,765,768,771,774,777],{"class":31,"line":754},4,[29,756,758],{"class":757},"s7zQu","for",[29,760,761],{"class":282}," SITE ",[29,763,764],{"class":757},"in",[29,766,767],{"class":39}," stripe.com",[29,769,770],{"class":39}," plaid.com",[29,772,773],{"class":39}," adyen.com",[29,775,776],{"class":275},";",[29,778,779],{"class":757}," do\n",[29,781,783,786,788,790,792,794,796],{"class":31,"line":782},5,[29,784,785],{"class":241},"  monid",[29,787,317],{"class":39},[29,789,320],{"class":39},[29,791,52],{"class":39},[29,793,325],{"class":39},[29,795,55],{"class":39},[29,797,471],{"class":282},[29,799,801,804,807,810,813,815,817,819,821,824,827,830,832,834,836,838,841,843,845,847,849,851,853,855,857,859,861,864,866,869,872],{"class":31,"line":800},6,[29,802,803],{"class":39},"    --query",[29,805,806],{"class":275}," \"",[29,808,809],{"class":39},"{",[29,811,812],{"class":282},"\\\"",[29,814,151],{"class":39},[29,816,812],{"class":282},[29,818,513],{"class":39},[29,820,812],{"class":282},[29,822,823],{"class":39},"https:\u002F\u002F",[29,825,826],{"class":282},"$SITE\\\"",[29,828,829],{"class":39},",",[29,831,812],{"class":282},[29,833,162],{"class":39},[29,835,812],{"class":282},[29,837,513],{"class":39},[29,839,840],{"class":282},"\\\"$SINCE\\\"",[29,842,829],{"class":39},[29,844,812],{"class":282},[29,846,568],{"class":39},[29,848,812],{"class":282},[29,850,513],{"class":39},[29,852,812],{"class":282},[29,854,572],{"class":39},[29,856,812],{"class":282},[29,858,829],{"class":39},[29,860,812],{"class":282},[29,862,863],{"class":39},"group_articles",[29,865,812],{"class":282},[29,867,868],{"class":39},":true}",[29,870,871],{"class":275},"\"",[29,873,471],{"class":282},[29,875,877,880,882,884,887,890,893],{"class":31,"line":876},7,[29,878,879],{"class":39},"    -w",[29,881,494],{"class":39},[29,883,806],{"class":275},[29,885,886],{"class":39},"news-",[29,888,889],{"class":282},"$SITE",[29,891,892],{"class":39},".json",[29,894,895],{"class":275},"\"\n",[29,897,899,902,905,908,910,912,914,916,919,921],{"class":31,"line":898},8,[29,900,901],{"class":241},"  jq",[29,903,904],{"class":39}," --arg",[29,906,907],{"class":39}," co",[29,909,806],{"class":275},[29,911,889],{"class":282},[29,913,871],{"class":275},[29,915,334],{"class":275},[29,917,918],{"class":39},"[.[] | {company: $co, title, summary, sentiment, url}]",[29,920,340],{"class":275},[29,922,471],{"class":282},[29,924,926,929,931,933,935,937,940],{"class":31,"line":925},9,[29,927,928],{"class":275},"    \"",[29,930,886],{"class":39},[29,932,889],{"class":282},[29,934,892],{"class":39},[29,936,871],{"class":275},[29,938,939],{"class":275}," >>",[29,941,751],{"class":39},[29,943,945],{"class":31,"line":944},10,[29,946,947],{"class":757},"done\n",[11,949,950],{},[366,951],{"alt":952,"src":953},"Three company pulls (stripe.com, plaid.com, adyen.com) each filtered by news High score, merged and tagged by company into one daily digest","\u002Fimg\u002Fblog\u002Fbuild-a-company-news-watcher-fig-fan-in.png",[121,955,957],{"id":956},"step-7-post-it-on-a-schedule","Step 7: post it on a schedule",[11,959,960],{},"The last step turns a script into a watcher: put Step 6 on a timer (cron, a scheduled cloud job, or a CI schedule) and route the merged output to wherever your team reads it, a Slack webhook, an email, or a channel your agent posts to. Since Monid ships as an MCP server, an agent can run the pull, the filter, and the post in one session without you shuttling files around. Each daily run bills only for the high-score articles it actually returns, so a watchlist of a dozen companies checked once a day stays in the low single-digit dollars per month.",[121,962,964],{"id":963},"cost-tally","Cost tally",[126,966,967,977,983],{},[129,968,969,177,971,973,974,976],{},[26,970,176],{},[26,972,180],{},", and every ",[26,975,140],{}," lookup: free.",[129,978,979,980,982],{},"One news ",[26,981,184],{},": a fraction of a cent per returned article, plus a small flat fee per call. A High-score daily pull for one company is a few cents at most.",[129,984,985],{},"A dozen companies checked daily for a month: low single-digit dollars, driven by how many articles clear your score filter.",[11,987,988,989,991,992,191],{},"Exact per-result pricing shows before you spend, both during ",[26,990,180],{}," and on ",[113,993,190],{"href":188,"rel":994},[117],[121,996,998],{"id":997},"faq","FAQ",[11,1000,1001,1005,1006,1008,1009,191],{},[1002,1003,1004],"strong",{},"Why do I have to resolve the company first?","\nThe news endpoint takes a company website or an Akta uuid, not a bare name. ",[26,1007,140],{}," turns a name into both, and it is free, so the lookup adds no cost to the watcher. Pass the returned website or uuid straight into ",[26,1010,147],{},[11,1012,1013,1016,1017,1019,1020,1023,1024,359,1027,1030],{},[1002,1014,1015],{},"Can I watch a topic instead of a company?","\nYes. Drop the ",[26,1018,151],{}," param and pass ",[26,1021,1022],{},"query"," with an open topic like ",[26,1025,1026],{},"\"stablecoin regulation\"",[26,1028,1029],{},"\"FDA drug approval\"",". Same endpoint, same enriched fields, useful for a theme that does not map to one company.",[11,1032,1033,1036,1037,1039,1040,569,1042,1044],{},[1002,1034,1035],{},"How do I keep the digest from repeating the same story?","\nSet ",[26,1038,863],{}," to true to collapse one event reported by many outlets into a single item, and set ",[26,1041,568],{},[26,1043,572],{}," to drop reprints and passing mentions. Both happen server-side before the result is priced.",[11,1046,1047,1050,1051,1053,1054,191],{},[1002,1048,1049],{},"What does one article cost?","\nPay-as-you-go, a fraction of a cent per returned article plus a small flat fee per call, shown by ",[26,1052,180],{}," before you run it. Live pricing for every endpoint is at ",[113,1055,190],{"href":188,"rel":1056},[117],[1058,1059,1060],"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":24,"searchDepth":254,"depth":254,"links":1062},[1063,1064,1068,1069,1070,1071,1072,1073,1074,1075,1076],{"id":123,"depth":254,"text":124},{"id":194,"depth":254,"text":195,"children":1065},[1066,1067],{"id":199,"depth":488,"text":200},{"id":228,"depth":488,"text":229},{"id":297,"depth":254,"text":298},{"id":372,"depth":254,"text":373},{"id":433,"depth":254,"text":434},{"id":558,"depth":254,"text":559},{"id":650,"depth":254,"text":651},{"id":704,"depth":254,"text":705},{"id":956,"depth":254,"text":957},{"id":963,"depth":254,"text":964},{"id":997,"depth":254,"text":998},null,"\u002Fimg\u002Fblog\u002Fbuild-a-company-news-watcher.png","A step-by-step recipe to resolve companies, pull enriched recent news, filter to what matters, and post a daily digest with one endpoint.",false,"md",{},true,"\u002Fblog\u002Fbuild-a-company-news-watcher","2026-07-27",{"title":5,"description":1079},"blog\u002Fbuild-a-company-news-watcher",[1089,1090,1091,1092,1093],"company-news","monitoring","news-api","akta","daily-digest","NA01HjR9d6ZuCA0nYWduer8-09RSTz7BQXqSfx9H32s",[1096,1158,1226,1292],{"id":1097,"title":1098,"author":1077,"body":1099,"category":1077,"cover":1143,"description":24,"draft":1080,"extension":1081,"image":1077,"launchCta":1144,"listingCover":1077,"meta":1147,"navigation":1083,"ogImage":1077,"path":1148,"publishedAt":1149,"readTime":1077,"seo":1150,"stem":1151,"tags":1152,"toolCategory":1077,"updatedAt":1077,"__hash__":1157},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":1100,"toc":1139},[1101,1105,1113,1116,1120,1126,1133,1136],[121,1102,1104],{"id":1103},"what-is-aktapro","What is akta.pro",[11,1106,1107,1112],{},[113,1108,1111],{"href":1109,"rel":1110},"https:\u002F\u002Fwww.akta.pro\u002F",[117],"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,1114,1115],{},"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.",[121,1117,1119],{"id":1118},"what-is-monid","What is Monid",[11,1121,1122,1125],{},[113,1123,118],{"href":115,"rel":1124},[117]," 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,1127,1128,1129,191],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[113,1130,1132],{"href":188,"rel":1131},[117],"and more",[1134,1135],"hr",{},[11,1137,1138],{},"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":24,"searchDepth":254,"depth":254,"links":1140},[1141,1142],{"id":1103,"depth":254,"text":1104},{"id":1118,"depth":254,"text":1119},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":1145,"command":1146},"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":1098,"description":24},"blog\u002Fakta-pro-is-now-available-on-monid",[1153,1154,1155,1156],"agents","partner-tools","private-markets","data","05ST9oH9qSQ4_vNxcczvHDEyev2JDIqBwMiM-zelWJo",{"id":1159,"title":1160,"author":1077,"body":1161,"category":1077,"cover":1215,"description":1216,"draft":1080,"extension":1081,"image":1077,"launchCta":1077,"listingCover":1077,"meta":1217,"navigation":1083,"ogImage":1077,"path":1218,"publishedAt":1219,"readTime":1077,"seo":1220,"stem":1221,"tags":1222,"toolCategory":1077,"updatedAt":1077,"__hash__":1225},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":1162,"toc":1211},[1163,1166,1175,1179,1187,1190,1192,1197,1203,1205,1208],[11,1164,1165],{"style":16},"Copy this line to your agent to make your first phone call.",[19,1167,1169],{"className":21,"code":1168,"language":23,"meta":24,"style":24},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n",[26,1170,1171],{"__ignoreMap":24},[29,1172,1173],{"class":31,"line":32},[29,1174,1168],{},[121,1176,1178],{"id":1177},"what-is-saperly","What is Saperly",[11,1180,1181,1186],{},[113,1182,1185],{"href":1183,"rel":1184},"https:\u002F\u002Fsaperly.com\u002F",[117],"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,1188,1189],{},"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.",[121,1191,1119],{"id":1118},[11,1193,1194,1125],{},[113,1195,118],{"href":115,"rel":1196},[117],[11,1198,1199,1200,191],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[113,1201,1132],{"href":188,"rel":1202},[117],[1134,1204],{},[11,1206,1207],{},"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.",[1058,1209,1210],{},"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":24,"searchDepth":254,"depth":254,"links":1212},[1213,1214],{"id":1177,"depth":254,"text":1178},{"id":1118,"depth":254,"text":1119},"\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":1160,"description":1216},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[1153,1154,1223,1224],"voice","phone","Wp96EVH5j2eyHDSu2f5Rtv0RYmyWX7frAhalel9fOus",{"id":1227,"title":1228,"author":1077,"body":1229,"category":1077,"cover":1281,"description":1282,"draft":1080,"extension":1081,"image":1077,"launchCta":1077,"listingCover":1077,"meta":1283,"navigation":1083,"ogImage":1077,"path":1284,"publishedAt":1285,"readTime":1077,"seo":1286,"stem":1287,"tags":1288,"toolCategory":1077,"updatedAt":1077,"__hash__":1291},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":1230,"toc":1277},[1231,1234,1243,1247,1255,1258,1260,1265,1270,1272,1275],[11,1232,1233],{"style":16},"Copy this line to your agent to generate your 3D model.",[19,1235,1237],{"className":21,"code":1236,"language":23,"meta":24,"style":24},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[26,1238,1239],{"__ignoreMap":24},[29,1240,1241],{"class":31,"line":32},[29,1242,1236],{},[121,1244,1246],{"id":1245},"what-is-suzanne","What is Suzanne",[11,1248,1249,1254],{},[113,1250,1253],{"href":1251,"rel":1252},"https:\u002F\u002Fwww.suzanne3d.com",[117],"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,1256,1257],{},"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.",[121,1259,1119],{"id":1118},[11,1261,1262,1125],{},[113,1263,118],{"href":115,"rel":1264},[117],[11,1266,1128,1267,191],{},[113,1268,1132],{"href":188,"rel":1269},[117],[1134,1271],{},[11,1273,1274],{},"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.",[1058,1276,1210],{},{"title":24,"searchDepth":254,"depth":254,"links":1278},[1279,1280],{"id":1245,"depth":254,"text":1246},{"id":1118,"depth":254,"text":1119},"\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":1228,"description":1282},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[1289,1153,1290],"3d","creative-tools","Mz475YlhLBgR80gyiTlL2MhfALZKYwbl4Rfwy96HZG0",{"id":1293,"title":1294,"author":1077,"body":1295,"category":1077,"cover":1354,"description":1355,"draft":1080,"extension":1081,"image":1077,"launchCta":1077,"listingCover":1077,"meta":1356,"navigation":1083,"ogImage":1077,"path":1357,"publishedAt":1358,"readTime":1077,"seo":1359,"stem":1360,"tags":1361,"toolCategory":1077,"updatedAt":1077,"__hash__":1364},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":1296,"toc":1349},[1297,1300,1309,1313,1321,1325,1328,1330,1336,1342,1344,1347],[11,1298,1299],{"style":16},"Copy this line to your agent to create music.",[19,1301,1303],{"className":21,"code":1302,"language":23,"meta":24,"style":24},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[26,1304,1305],{"__ignoreMap":24},[29,1306,1307],{"class":31,"line":32},[29,1308,1302],{},[121,1310,1312],{"id":1311},"minimax-music-26","MiniMax Music 2.6",[11,1314,1315,1320],{},[113,1316,1319],{"href":1317,"rel":1318},"https:\u002F\u002Fwww.minimax.io",[117],"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.",[121,1322,1324],{"id":1323},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,1326,1327],{},"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.",[121,1329,1119],{"id":1118},[11,1331,1332,1335],{},[113,1333,118],{"href":115,"rel":1334},[117]," 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,1337,1338,1339,191],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[113,1340,1132],{"href":188,"rel":1341},[117],[1134,1343],{},[11,1345,1346],{},"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.",[1058,1348,1210],{},{"title":24,"searchDepth":254,"depth":254,"links":1350},[1351,1352,1353],{"id":1311,"depth":254,"text":1312},{"id":1323,"depth":254,"text":1324},{"id":1118,"depth":254,"text":1119},"\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":1294,"description":1355},"blog\u002Fminimax-is-now-available-on-monid",[1153,1290,1362,1363],"image-generation","music-generation","B3dZqIjNJNK7Y9ysAenI0XzKobOZMlEP87FRWrW19Vc",1786670265078]