[{"data":1,"prerenderedAt":897},["ShallowReactive",2],{"blog-\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own":3,"blog-related-\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own":627},{"id":4,"title":5,"author":6,"body":7,"category":611,"cover":612,"description":613,"draft":614,"extension":615,"image":611,"launchCta":611,"listingCover":611,"meta":616,"navigation":318,"ogImage":611,"path":617,"publishedAt":618,"readTime":611,"seo":619,"stem":620,"tags":621,"toolCategory":611,"updatedAt":611,"__hash__":626},"blogUnlisted\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own.md","Facebook Ad Library API vs Rolling Your Own Scraper","The Monid Team",{"type":8,"value":9,"toc":599},"minimark",[10,28,32,88,93,135,139,151,154,157,164,168,171,198,201,205,212,227,232,241,249,258,262,268,276,287,360,378,382,508,511,517,521,524,536,540,555,561,567,576,589,595],[11,12,13,14,21,22,27],"p",{},"If you want Facebook ad data as clean JSON, there is no first-party API that gives it to you for a general keyword search, so the real choice is between building and maintaining your own scraper or renting one per result. The official ",[15,16,20],"a",{"href":17,"rel":18},"https:\u002F\u002Fwww.facebook.com\u002Fads\u002Flibrary\u002F",[19],"nofollow","Meta Ad Library"," is a browsing UI, its ",[15,23,26],{"href":24,"rel":25},"https:\u002F\u002Fwww.facebook.com\u002Fads\u002Flibrary\u002Fapi\u002F",[19],"public API"," only covers social-issue, election, and political ads behind identity verification, and everything else is a scraping problem. This post lays out the three honest options and when each one wins.",[11,29,31],{"style":30},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to compare pulling Facebook ad data yourself versus a per-result actor.",[33,34,39],"pre",{"className":35,"code":36,"language":37,"meta":38,"style":38},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use apify\u002Fcurious_coder\u002Ffacebook-ads-library-scraper to pull ad data for one keyword\n","sh","",[40,41,42],"code",{"__ignoreMap":38},[43,44,47,51,55,58,61,64,67,70,73,76,79,82,85],"span",{"class":45,"line":46},"line",1,[43,48,50],{"class":49},"s2Zo4","set",[43,52,54],{"class":53},"sfazB"," up",[43,56,57],{"class":53}," https:\u002F\u002Fmonid.ai\u002FSKILL.md",[43,59,60],{"class":53}," and",[43,62,63],{"class":53}," use",[43,65,66],{"class":53}," apify\u002Fcurious_coder\u002Ffacebook-ads-library-scraper",[43,68,69],{"class":53}," to",[43,71,72],{"class":53}," pull",[43,74,75],{"class":53}," ad",[43,77,78],{"class":53}," data",[43,80,81],{"class":53}," for",[43,83,84],{"class":53}," one",[43,86,87],{"class":53}," keyword\n",[89,90,92],"h2",{"id":91},"tldr","TL;DR",[94,95,96,105,108,129,132],"ul",{},[97,98,99,100,104],"li",{},"There is no first-party JSON API for general Facebook ad search. The official ",[15,101,103],{"href":24,"rel":102},[19],"Ad Library API"," is scoped to social-issue, election, and political ads and requires identity confirmation, so commercial brand ads are out of reach through it.",[97,106,107],{},"Rolling your own scraper works, but you are signing up for proxy rotation, a fragile HTML and payload parser, login and rate-limit handling, and a layout that Meta changes without warning. The code is the easy part; the upkeep is the cost.",[97,109,110,111,116,117,122,123,128],{},"A per-result actor like ",[15,112,115],{"href":113,"rel":114},"https:\u002F\u002Fapify.com",[19],"Apify","'s ",[15,118,121],{"href":119,"rel":120},"https:\u002F\u002Fapify.com\u002Fcurious_coder\u002Ffacebook-ads-library-scraper",[19],"facebook-ads-library-scraper"," hands you the same JSON without owning any of that maintenance. On ",[15,124,127],{"href":125,"rel":126},"https:\u002F\u002Fmonid.ai",[19],"Monid"," you call it through one wallet, no separate Apify signup.",[97,130,131],{},"Cost math: DIY has near-zero marginal cost per row but a real fixed cost in engineering time. The actor bills a fraction of a cent per result, so a bounded pull is a few cents and you pay nothing when nobody is running it.",[97,133,134],{},"Pick DIY only if you have the on-call capacity to babysit a scraper. Otherwise the per-result route is cheaper once you count the maintenance you avoid.",[89,136,138],{"id":137},"why-the-official-api-is-not-the-answer-for-brand-ads","Why the official API is not the answer for brand ads",[11,140,141,142,145,146,150],{},"Start here because it saves you a wrong turn. Meta does publish an ",[15,143,103],{"href":24,"rel":144},[19],", and people assume it is the clean feed they want. It is not, for most commercial use. The API only returns ads classified as social issues, elections, or politics, it requires you to confirm your identity and location before you get access, and it does not expose the ordinary product and brand ads that competitive research is usually about. The ",[15,147,149],{"href":17,"rel":148},[19],"Ad Library"," web UI shows those brand ads to anyone, but it is built for one-off human browsing: you can search and scroll, but there is no documented endpoint that returns that view as bulk structured JSON.",[11,152,153],{},"So the honest framing is not \"API versus scraper.\" For general brand and keyword ad data, the API does not compete. The real decision is how you scrape what the UI already shows you, and who maintains that scraper.",[11,155,156],{},"Monid is a pay-per-call data API marketplace: one interface and one wallet to discover and execute hundreds of external data endpoints without a separate signup per vendor, billed pay-as-you-go at the price shown before you run.",[11,158,159],{},[160,161],"img",{"alt":162,"src":163},"A decision tree: if you need only social or political ads the official Ad Library API with ID verification fits, and for brand or keyword ads you either roll your own scraper when you have on-call capacity or run a per-result actor on Monid","\u002Fimg\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own-fig-1.png",[89,165,167],{"id":166},"option-1-roll-your-own-scraper","Option 1: roll your own scraper",[11,169,170],{},"You can absolutely do this. The Ad Library loads its results from an internal endpoint, and with enough patience you can replay those requests and parse the payload. Here is what that actually commits you to, none of which shows up in a weekend prototype:",[94,172,173,180,186,192],{},[97,174,175,179],{},[176,177,178],"strong",{},"Proxies."," A single IP pulling ad results at any volume gets throttled fast. You need a rotating residential or datacenter proxy pool, which is its own subscription and its own reliability problem.",[97,181,182,185],{},[176,183,184],{},"A parser that drifts."," The internal payload is undocumented and nested. You will write extraction logic against field paths that Meta is free to rename or restructure whenever it ships a UI change. When it does, your job silently returns empty or malformed rows until someone notices.",[97,187,188,191],{},[176,189,190],{},"Session and rate handling."," Tokens expire, requests get challenged, and pagination cursors behave inconsistently across ad types and regions. Retry, backoff, and error classification are not optional extras; they are most of the code that keeps a scraper alive in production.",[97,193,194,197],{},[176,195,196],{},"Coverage edge cases."," EU transparency and reach data, political labels, and multi-platform placement all come back in different shapes. Handling only the happy path means you quietly miss the fields that make the data useful.",[11,199,200],{},"The marginal cost per row is essentially free once it runs. The catch is that \"once it runs\" is not a stable state. It runs until Meta changes something, and then an engineer stops what they are doing to fix a parser. That recurring interruption is the true price of DIY, and it does not show up until week three.",[89,202,204],{"id":203},"option-2-a-per-result-actor-on-monid","Option 2: a per-result actor on Monid",[11,206,207,208,211],{},"The alternative is to let someone else own the proxy pool, the parser, and the layout-drift firefighting, and to pay only for the rows you actually pull. The Apify ",[15,209,121],{"href":119,"rel":210},[19]," reads the same Ad Library UI and returns ad identifiers, archive metadata, category and political labels, timestamps and duration, spend and reach estimates, advertiser attributes, creative snapshots, and platform information as structured records. When Meta shifts its markup, keeping that scraper working is the maintainer's problem, not yours.",[11,213,214,215,218,219,222,223,226],{},"Monid puts that actor behind the same wallet and interface as hundreds of other endpoints, so you do not open an Apify account or manage a second bill. ",[40,216,217],{},"discover"," and ",[40,220,221],{},"inspect"," are free; you only pay on ",[40,224,225],{},"run",", and the price is shown before you spend.",[228,229,231],"h3",{"id":230},"for-agents","For agents",[11,233,234,235,240],{},"Grab an API key at ",[15,236,239],{"href":237,"rel":238},"https:\u002F\u002Fapp.monid.ai\u002F",[19],"app.monid.ai",", then paste this to your agent and hand it the key:",[33,242,247],{"className":243,"code":245,"language":246},[244],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[40,248,245],{"__ignoreMap":38},[11,250,251,252,257],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[15,253,256],{"href":254,"rel":255},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[19],"agent quickstart",".",[228,259,261],{"id":260},"for-humans","For humans",[33,263,266],{"className":264,"code":265,"language":246},[244],"npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n",[40,267,265],{"__ignoreMap":38},[11,269,270,271,257],{},"More details in the ",[15,272,275],{"href":273,"rel":274},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[19],"CLI quickstart",[11,277,278,279,282,283,286],{},"Read the input shape first, for free, then run one bounded keyword pull. This endpoint takes a ",[40,280,281],{},"urls"," array of Ad Library search or page URLs and a ",[40,284,285],{},"count",", and it bills PER_RESULT, so a small count keeps the bill small.",[33,288,290],{"className":35,"code":289,"language":37,"meta":38,"style":38},"monid inspect -p apify -e \u002Fcurious_coder\u002Ffacebook-ads-library-scraper\n\nmonid run -p apify -e \u002Fcurious_coder\u002Ffacebook-ads-library-scraper \\\n  -i '{\"urls\":[{\"url\":\"https:\u002F\u002Fwww.facebook.com\u002Fads\u002Flibrary\u002F?active_status=all&ad_type=all&country=US&q=nike&search_type=keyword_unordered&media_type=all\"}],\"count\":50}' -w\n",[40,291,292,313,320,341],{"__ignoreMap":38},[43,293,294,298,301,304,307,310],{"class":45,"line":46},[43,295,297],{"class":296},"sBMFI","monid",[43,299,300],{"class":53}," inspect",[43,302,303],{"class":53}," -p",[43,305,306],{"class":53}," apify",[43,308,309],{"class":53}," -e",[43,311,312],{"class":53}," \u002Fcurious_coder\u002Ffacebook-ads-library-scraper\n",[43,314,316],{"class":45,"line":315},2,[43,317,319],{"emptyLinePlaceholder":318},true,"\n",[43,321,323,325,328,330,332,334,337],{"class":45,"line":322},3,[43,324,297],{"class":296},[43,326,327],{"class":53}," run",[43,329,303],{"class":53},[43,331,306],{"class":53},[43,333,309],{"class":53},[43,335,336],{"class":53}," \u002Fcurious_coder\u002Ffacebook-ads-library-scraper",[43,338,340],{"class":339},"sTEyZ"," \\\n",[43,342,344,347,351,354,357],{"class":45,"line":343},4,[43,345,346],{"class":53},"  -i",[43,348,350],{"class":349},"sMK4o"," '",[43,352,353],{"class":53},"{\"urls\":[{\"url\":\"https:\u002F\u002Fwww.facebook.com\u002Fads\u002Flibrary\u002F?active_status=all&ad_type=all&country=US&q=nike&search_type=keyword_unordered&media_type=all\"}],\"count\":50}",[43,355,356],{"class":349},"'",[43,358,359],{"class":53}," -w\n",[11,361,362,363,366,367,370,371,373,374,377],{},"The URL is just the Ad Library search you would run by hand, copied out of the browser: set ",[40,364,365],{},"country",", ",[40,368,369],{},"q"," for your keyword, and the status and media filters, and the actor reads that exact query. Swap the keyword, keep ",[40,372,285],{}," low on the first run, and confirm the fields before you scale. ",[40,375,376],{},"limitPerSource"," caps rows per URL if you pass several.",[89,379,381],{"id":380},"the-three-options-side-by-side","The three options side by side",[383,384,385,403],"table",{},[386,387,388],"thead",{},[389,390,391,394,397,400],"tr",{},[392,393],"th",{},[392,395,396],{},"Official Ad Library API",[392,398,399],{},"Roll your own scraper",[392,401,402],{},"Per-result actor on Monid",[404,405,406,420,438,452,466,480,494],"tbody",{},[389,407,408,412,415,418],{},[409,410,411],"td",{},"Covers brand and product ads",[409,413,414],{},"No, political and social issue only",[409,416,417],{},"Yes",[409,419,417],{},[389,421,422,425,428,431],{},[409,423,424],{},"Access requirement",[409,426,427],{},"Identity and location verification",[409,429,430],{},"Proxy pool plus your own code",[409,432,433,434,437],{},"One ",[15,435,127],{"href":125,"rel":436},[19]," API key",[389,439,440,443,446,449],{},[409,441,442],{},"Who fixes layout drift",[409,444,445],{},"N\u002FA",[409,447,448],{},"You, on their schedule",[409,450,451],{},"The actor maintainer",[389,453,454,457,460,463],{},[409,455,456],{},"Marginal cost per row",[409,458,459],{},"Free within limits",[409,461,462],{},"Near zero once running",[409,464,465],{},"A fraction of a cent, per result",[389,467,468,471,474,477],{},[409,469,470],{},"Fixed cost",[409,472,473],{},"Verification and API learning",[409,475,476],{},"Ongoing engineering upkeep",[409,478,479],{},"None",[389,481,482,485,488,491],{},[409,483,484],{},"Time to first JSON",[409,486,487],{},"Days, if you qualify",[409,489,490],{},"Days to weeks",[409,492,493],{},"Minutes",[389,495,496,499,502,505],{},[409,497,498],{},"Best fit",[409,500,501],{},"Political ad transparency work",[409,503,504],{},"Teams with on-call scraper capacity",[409,506,507],{},"Everyone else",[11,509,510],{},"The table is a routing rule, not a scoreboard. If your work is genuinely about political and issue ads, the official API is the sanctioned path and you should use it. If you have engineers who already run scrapers and can absorb another one, DIY has the lowest marginal cost at high volume. For the common case, a bounded amount of brand ad data without a maintenance commitment, the per-result actor wins because the thing you are really buying is not the rows, it is the freedom from firefighting.",[11,512,513],{},[160,514],{"alt":515,"src":516},"Rolling your own means a proxy pool, a custom parser, retries and rate limits, and a parser that breaks on every layout change and loops back to an engineer, while a per-result actor is copy the Ad Library URL, one run, structured JSON","\u002Fimg\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own-fig-2.png",[89,518,520],{"id":519},"the-cost-tradeoff-reasoned-honestly","The cost tradeoff, reasoned honestly",[11,522,523],{},"DIY and the actor sit on opposite ends of the same tradeoff. DIY front-loads the cost into engineering time and pushes marginal cost toward zero. The actor front-loads almost nothing and charges a small amount per row.",[11,525,526,527,529,530,535],{},"Where the crossover sits depends on volume and cadence. For an occasional or bounded pull, the actor is plainly cheaper: a keyword search at a ",[40,528,285],{}," of 50 is a few cents, and you pay nothing in the weeks you do not run it. See live per-result pricing at ",[15,531,534],{"href":532,"rel":533},"https:\u002F\u002Fmonid.ai\u002Ftools",[19],"monid.ai\u002Ftools",". For a very high, constant volume, the actor's per-result charge adds up, and a team that already operates scrapers might amortize a DIY build below it. But that comparison only holds if you honestly price the maintenance hours, the proxy subscription, and the days your data is quietly broken after a Meta change. Most teams overweight the code and underweight the upkeep, which is why the build looks cheaper than it is.",[89,537,539],{"id":538},"faq","FAQ",[11,541,542,545,546,549,550,554],{},[176,543,544],{},"Is there an official Facebook Ad Library API for all ads?","\nNo. The ",[15,547,103],{"href":24,"rel":548},[19]," only returns ads about social issues, elections, and politics, and it requires identity verification. Ordinary brand and product ads are visible in the ",[15,551,553],{"href":17,"rel":552},[19],"web UI"," but are not offered through a documented bulk JSON API.",[11,556,557,560],{},[176,558,559],{},"Is scraping the Ad Library allowed?","\nThe Ad Library is a public transparency tool Meta publishes deliberately, and these approaches read what is already visible there. Keep queries bounded and stay within Meta's terms and your own legal guidance.",[11,562,563,566],{},[176,564,565],{},"When does rolling my own actually make sense?","\nWhen you have the on-call capacity to maintain it. If someone on the team already owns scrapers, can fix a parser the day Meta changes its markup, and you pull at constant high volume, DIY's near-zero marginal cost can win. Without that capacity, the maintenance eats the savings.",[11,568,569,572,573,257],{},[176,570,571],{},"What does the per-result actor cost?","\nA fraction of a cent per returned row, so a bounded keyword pull is a few cents and there is no charge when it is idle. Pricing is pay-as-you-go and shown before you run; current magnitudes are on ",[15,574,534],{"href":532,"rel":575},[19],[11,577,578,545,581,584,585,588],{},[176,579,580],{},"Do I need an Apify account?",[15,582,121],{"href":119,"rel":583},[19]," is reachable through one ",[15,586,127],{"href":125,"rel":587},[19]," wallet, billed pay-as-you-go without a separate Apify signup.",[11,590,591,592,594],{},"Inspect the endpoint for free, run one keyword at a ",[40,593,285],{}," of 50, and check the returned fields against what your own scraper would have to reproduce. That comparison usually settles the buy-versus-build question on its own.",[596,597,598],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":38,"searchDepth":315,"depth":315,"links":600},[601,602,603,604,608,609,610],{"id":91,"depth":315,"text":92},{"id":137,"depth":315,"text":138},{"id":166,"depth":315,"text":167},{"id":203,"depth":315,"text":204,"children":605},[606,607],{"id":230,"depth":322,"text":231},{"id":260,"depth":322,"text":261},{"id":380,"depth":315,"text":381},{"id":519,"depth":315,"text":520},{"id":538,"depth":315,"text":539},null,"\u002Fimg\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own.png","Official Meta Ad Library, a DIY scraper, or a per-result actor: an honest comparison of the three ways to pull Facebook ad data as JSON.",false,"md",{},"\u002Fblog\u002Ffacebook-ad-library-api-vs-rolling-your-own","2026-07-23",{"title":5,"description":613},"blog\u002Ffacebook-ad-library-api-vs-rolling-your-own",[622,623,624,625],"facebook-ads-library","web-scraping","apify","buy-vs-build","81B04L7SvoOmQZDqLR9KE7Zq8ZbEjLN4k1I7R5CZp1I",[628,690,758,824],{"id":629,"title":630,"author":611,"body":631,"category":611,"cover":675,"description":38,"draft":614,"extension":615,"image":611,"launchCta":676,"listingCover":611,"meta":679,"navigation":318,"ogImage":611,"path":680,"publishedAt":681,"readTime":611,"seo":682,"stem":683,"tags":684,"toolCategory":611,"updatedAt":611,"__hash__":689},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":632,"toc":671},[633,637,645,648,652,658,665,668],[89,634,636],{"id":635},"what-is-aktapro","What is akta.pro",[11,638,639,644],{},[15,640,643],{"href":641,"rel":642},"https:\u002F\u002Fwww.akta.pro\u002F",[19],"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,646,647],{},"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.",[89,649,651],{"id":650},"what-is-monid","What is Monid",[11,653,654,657],{},[15,655,127],{"href":125,"rel":656},[19]," 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,659,660,661,257],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[15,662,664],{"href":532,"rel":663},[19],"and more",[666,667],"hr",{},[11,669,670],{},"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":38,"searchDepth":315,"depth":315,"links":672},[673,674],{"id":635,"depth":315,"text":636},{"id":650,"depth":315,"text":651},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":677,"command":678},"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":630,"description":38},"blog\u002Fakta-pro-is-now-available-on-monid",[685,686,687,688],"agents","partner-tools","private-markets","data","05ST9oH9qSQ4_vNxcczvHDEyev2JDIqBwMiM-zelWJo",{"id":691,"title":692,"author":611,"body":693,"category":611,"cover":747,"description":748,"draft":614,"extension":615,"image":611,"launchCta":611,"listingCover":611,"meta":749,"navigation":318,"ogImage":611,"path":750,"publishedAt":751,"readTime":611,"seo":752,"stem":753,"tags":754,"toolCategory":611,"updatedAt":611,"__hash__":757},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":694,"toc":743},[695,698,707,711,719,722,724,729,735,737,740],[11,696,697],{"style":30},"Copy this line to your agent to make your first phone call.",[33,699,701],{"className":35,"code":700,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n",[40,702,703],{"__ignoreMap":38},[43,704,705],{"class":45,"line":46},[43,706,700],{},[89,708,710],{"id":709},"what-is-saperly","What is Saperly",[11,712,713,718],{},[15,714,717],{"href":715,"rel":716},"https:\u002F\u002Fsaperly.com\u002F",[19],"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,720,721],{},"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.",[89,723,651],{"id":650},[11,725,726,657],{},[15,727,127],{"href":125,"rel":728},[19],[11,730,731,732,257],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[15,733,664],{"href":532,"rel":734},[19],[666,736],{},[11,738,739],{},"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.",[596,741,742],{},"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":38,"searchDepth":315,"depth":315,"links":744},[745,746],{"id":709,"depth":315,"text":710},{"id":650,"depth":315,"text":651},"\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":692,"description":748},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[685,686,755,756],"voice","phone","Wp96EVH5j2eyHDSu2f5Rtv0RYmyWX7frAhalel9fOus",{"id":759,"title":760,"author":611,"body":761,"category":611,"cover":813,"description":814,"draft":614,"extension":615,"image":611,"launchCta":611,"listingCover":611,"meta":815,"navigation":318,"ogImage":611,"path":816,"publishedAt":817,"readTime":611,"seo":818,"stem":819,"tags":820,"toolCategory":611,"updatedAt":611,"__hash__":823},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":762,"toc":809},[763,766,775,779,787,790,792,797,802,804,807],[11,764,765],{"style":30},"Copy this line to your agent to generate your 3D model.",[33,767,769],{"className":35,"code":768,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[40,770,771],{"__ignoreMap":38},[43,772,773],{"class":45,"line":46},[43,774,768],{},[89,776,778],{"id":777},"what-is-suzanne","What is Suzanne",[11,780,781,786],{},[15,782,785],{"href":783,"rel":784},"https:\u002F\u002Fwww.suzanne3d.com",[19],"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,788,789],{},"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.",[89,791,651],{"id":650},[11,793,794,657],{},[15,795,127],{"href":125,"rel":796},[19],[11,798,660,799,257],{},[15,800,664],{"href":532,"rel":801},[19],[666,803],{},[11,805,806],{},"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.",[596,808,742],{},{"title":38,"searchDepth":315,"depth":315,"links":810},[811,812],{"id":777,"depth":315,"text":778},{"id":650,"depth":315,"text":651},"\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":760,"description":814},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[821,685,822],"3d","creative-tools","Mz475YlhLBgR80gyiTlL2MhfALZKYwbl4Rfwy96HZG0",{"id":825,"title":826,"author":611,"body":827,"category":611,"cover":886,"description":887,"draft":614,"extension":615,"image":611,"launchCta":611,"listingCover":611,"meta":888,"navigation":318,"ogImage":611,"path":889,"publishedAt":890,"readTime":611,"seo":891,"stem":892,"tags":893,"toolCategory":611,"updatedAt":611,"__hash__":896},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":828,"toc":881},[829,832,841,845,853,857,860,862,868,874,876,879],[11,830,831],{"style":30},"Copy this line to your agent to create music.",[33,833,835],{"className":35,"code":834,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[40,836,837],{"__ignoreMap":38},[43,838,839],{"class":45,"line":46},[43,840,834],{},[89,842,844],{"id":843},"minimax-music-26","MiniMax Music 2.6",[11,846,847,852],{},[15,848,851],{"href":849,"rel":850},"https:\u002F\u002Fwww.minimax.io",[19],"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.",[89,854,856],{"id":855},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,858,859],{},"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.",[89,861,651],{"id":650},[11,863,864,867],{},[15,865,127],{"href":125,"rel":866},[19]," 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,869,870,871,257],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[15,872,664],{"href":532,"rel":873},[19],[666,875],{},[11,877,878],{},"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.",[596,880,742],{},{"title":38,"searchDepth":315,"depth":315,"links":882},[883,884,885],{"id":843,"depth":315,"text":844},{"id":855,"depth":315,"text":856},{"id":650,"depth":315,"text":651},"\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":826,"description":887},"blog\u002Fminimax-is-now-available-on-monid",[685,822,894,895],"image-generation","music-generation","B3dZqIjNJNK7Y9ysAenI0XzKobOZMlEP87FRWrW19Vc",1786670265533]