From 25c0d9b29d3fff65f367346bb4cd6129c7fa13ac Mon Sep 17 00:00:00 2001 From: s-alad Date: Sun, 22 Mar 2026 01:49:39 -0400 Subject: [PATCH] feat: add Locus MPP services (44 providers, 243 endpoints) --- public/icons/abstract-company-enrichment.svg | 1 + public/icons/abstract-email-reputation.svg | 1 + public/icons/abstract-exchange-rates.svg | 1 + public/icons/abstract-holidays.svg | 1 + public/icons/abstract-iban-validation.svg | 1 + public/icons/abstract-ip-intelligence.svg | 1 + public/icons/abstract-phone-intelligence.svg | 1 + public/icons/abstract-timezone.svg | 1 + public/icons/abstract-vat.svg | 1 + public/icons/abstract-web-scraping.svg | 1 + public/icons/alphavantage.svg | 1 + public/icons/apollo.svg | 1 + public/icons/billboard.svg | 1 + public/icons/brave.svg | 1 + public/icons/builtwith.svg | 2 +- public/icons/clado.svg | 2 +- public/icons/coingecko.svg | 1 + public/icons/deepgram.svg | 1 + public/icons/deepl.svg | 1 + public/icons/deepseek.svg | 1 + public/icons/diffbot-kg.svg | 1 + public/icons/diffbot-nl.svg | 1 + public/icons/diffbot.svg | 2 +- public/icons/edgar-search.svg | 2 +- public/icons/edgar.svg | 2 +- public/icons/grok.svg | 1 + public/icons/groq.svg | 1 + public/icons/hunter.svg | 2 +- public/icons/ipinfo.svg | 1 + public/icons/judge0.svg | 2 +- public/icons/mapbox.svg | 2 +- public/icons/mathpix.svg | 2 +- public/icons/mistral.svg | 1 + public/icons/openweather.svg | 2 +- public/icons/perplexity.svg | 2 +- public/icons/rentcast.svg | 2 +- public/icons/replicate.svg | 2 +- public/icons/screenshotone.svg | 1 + public/icons/stability-ai.svg | 2 +- public/icons/suno.svg | 2 +- public/icons/tavily.svg | 1 + public/icons/wolframalpha.svg | 1 + public/services/llms.txt | 35 + schemas/discovery.example.json | 259 + schemas/discovery.json | 11919 +++++++++++++++++ schemas/services.ts | 2530 +++- 46 files changed, 14128 insertions(+), 672 deletions(-) create mode 100644 public/icons/abstract-company-enrichment.svg create mode 100644 public/icons/abstract-email-reputation.svg create mode 100644 public/icons/abstract-exchange-rates.svg create mode 100644 public/icons/abstract-holidays.svg create mode 100644 public/icons/abstract-iban-validation.svg create mode 100644 public/icons/abstract-ip-intelligence.svg create mode 100644 public/icons/abstract-phone-intelligence.svg create mode 100644 public/icons/abstract-timezone.svg create mode 100644 public/icons/abstract-vat.svg create mode 100644 public/icons/abstract-web-scraping.svg create mode 100644 public/icons/alphavantage.svg create mode 100644 public/icons/apollo.svg create mode 100644 public/icons/billboard.svg create mode 100644 public/icons/brave.svg create mode 100644 public/icons/coingecko.svg create mode 100644 public/icons/deepgram.svg create mode 100644 public/icons/deepl.svg create mode 100644 public/icons/deepseek.svg create mode 100644 public/icons/diffbot-kg.svg create mode 100644 public/icons/diffbot-nl.svg create mode 100644 public/icons/grok.svg create mode 100644 public/icons/groq.svg create mode 100644 public/icons/ipinfo.svg create mode 100644 public/icons/mistral.svg create mode 100644 public/icons/screenshotone.svg create mode 100644 public/icons/tavily.svg create mode 100644 public/icons/wolframalpha.svg create mode 100644 public/services/llms.txt create mode 100644 schemas/discovery.example.json create mode 100644 schemas/discovery.json diff --git a/public/icons/abstract-company-enrichment.svg b/public/icons/abstract-company-enrichment.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-company-enrichment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-email-reputation.svg b/public/icons/abstract-email-reputation.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-email-reputation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-exchange-rates.svg b/public/icons/abstract-exchange-rates.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-exchange-rates.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-holidays.svg b/public/icons/abstract-holidays.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-holidays.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-iban-validation.svg b/public/icons/abstract-iban-validation.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-iban-validation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-ip-intelligence.svg b/public/icons/abstract-ip-intelligence.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-ip-intelligence.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-phone-intelligence.svg b/public/icons/abstract-phone-intelligence.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-phone-intelligence.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-timezone.svg b/public/icons/abstract-timezone.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-timezone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-vat.svg b/public/icons/abstract-vat.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-vat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/abstract-web-scraping.svg b/public/icons/abstract-web-scraping.svg new file mode 100644 index 00000000..9e350650 --- /dev/null +++ b/public/icons/abstract-web-scraping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/alphavantage.svg b/public/icons/alphavantage.svg new file mode 100644 index 00000000..eaca4b1c --- /dev/null +++ b/public/icons/alphavantage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/apollo.svg b/public/icons/apollo.svg new file mode 100644 index 00000000..c4f70f8e --- /dev/null +++ b/public/icons/apollo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/billboard.svg b/public/icons/billboard.svg new file mode 100644 index 00000000..a64eed46 --- /dev/null +++ b/public/icons/billboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/brave.svg b/public/icons/brave.svg new file mode 100644 index 00000000..1a44afd7 --- /dev/null +++ b/public/icons/brave.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/builtwith.svg b/public/icons/builtwith.svg index c5653e9a..ac20530e 100644 --- a/public/icons/builtwith.svg +++ b/public/icons/builtwith.svg @@ -1 +1 @@ -B \ No newline at end of file +B \ No newline at end of file diff --git a/public/icons/clado.svg b/public/icons/clado.svg index 6397c9fe..eeb0bba5 100644 --- a/public/icons/clado.svg +++ b/public/icons/clado.svg @@ -1 +1 @@ -C \ No newline at end of file +C \ No newline at end of file diff --git a/public/icons/coingecko.svg b/public/icons/coingecko.svg new file mode 100644 index 00000000..266feb4f --- /dev/null +++ b/public/icons/coingecko.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/deepgram.svg b/public/icons/deepgram.svg new file mode 100644 index 00000000..5238f9c9 --- /dev/null +++ b/public/icons/deepgram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/deepl.svg b/public/icons/deepl.svg new file mode 100644 index 00000000..12cbf5ba --- /dev/null +++ b/public/icons/deepl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/deepseek.svg b/public/icons/deepseek.svg new file mode 100644 index 00000000..316491dd --- /dev/null +++ b/public/icons/deepseek.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/diffbot-kg.svg b/public/icons/diffbot-kg.svg new file mode 100644 index 00000000..4b7c2804 --- /dev/null +++ b/public/icons/diffbot-kg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/diffbot-nl.svg b/public/icons/diffbot-nl.svg new file mode 100644 index 00000000..4b7c2804 --- /dev/null +++ b/public/icons/diffbot-nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/diffbot.svg b/public/icons/diffbot.svg index 4e7b94c5..b2a47724 100644 --- a/public/icons/diffbot.svg +++ b/public/icons/diffbot.svg @@ -1 +1 @@ -D \ No newline at end of file +D \ No newline at end of file diff --git a/public/icons/edgar-search.svg b/public/icons/edgar-search.svg index c3759c30..f39df771 100644 --- a/public/icons/edgar-search.svg +++ b/public/icons/edgar-search.svg @@ -1 +1 @@ -E \ No newline at end of file +E \ No newline at end of file diff --git a/public/icons/edgar.svg b/public/icons/edgar.svg index c3759c30..f39df771 100644 --- a/public/icons/edgar.svg +++ b/public/icons/edgar.svg @@ -1 +1 @@ -E \ No newline at end of file +E \ No newline at end of file diff --git a/public/icons/grok.svg b/public/icons/grok.svg new file mode 100644 index 00000000..0c11bd10 --- /dev/null +++ b/public/icons/grok.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/groq.svg b/public/icons/groq.svg new file mode 100644 index 00000000..a429691e --- /dev/null +++ b/public/icons/groq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/hunter.svg b/public/icons/hunter.svg index 8c41e70b..88a8e501 100644 --- a/public/icons/hunter.svg +++ b/public/icons/hunter.svg @@ -1 +1 @@ -H \ No newline at end of file +H \ No newline at end of file diff --git a/public/icons/ipinfo.svg b/public/icons/ipinfo.svg new file mode 100644 index 00000000..7f3aaeb9 --- /dev/null +++ b/public/icons/ipinfo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/judge0.svg b/public/icons/judge0.svg index 9ae294e1..1ebb029f 100644 --- a/public/icons/judge0.svg +++ b/public/icons/judge0.svg @@ -1 +1 @@ -J \ No newline at end of file +J \ No newline at end of file diff --git a/public/icons/mapbox.svg b/public/icons/mapbox.svg index 79660ad7..ba147a8f 100644 --- a/public/icons/mapbox.svg +++ b/public/icons/mapbox.svg @@ -1 +1 @@ -M \ No newline at end of file +M \ No newline at end of file diff --git a/public/icons/mathpix.svg b/public/icons/mathpix.svg index 79660ad7..ba147a8f 100644 --- a/public/icons/mathpix.svg +++ b/public/icons/mathpix.svg @@ -1 +1 @@ -M \ No newline at end of file +M \ No newline at end of file diff --git a/public/icons/mistral.svg b/public/icons/mistral.svg new file mode 100644 index 00000000..3499c0b2 --- /dev/null +++ b/public/icons/mistral.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/openweather.svg b/public/icons/openweather.svg index f8aae7c1..766da094 100644 --- a/public/icons/openweather.svg +++ b/public/icons/openweather.svg @@ -1 +1 @@ -O \ No newline at end of file +O \ No newline at end of file diff --git a/public/icons/perplexity.svg b/public/icons/perplexity.svg index 9ab6ffe6..cedfd832 100644 --- a/public/icons/perplexity.svg +++ b/public/icons/perplexity.svg @@ -1 +1 @@ -P \ No newline at end of file +P \ No newline at end of file diff --git a/public/icons/rentcast.svg b/public/icons/rentcast.svg index 71c4d653..959b2f52 100644 --- a/public/icons/rentcast.svg +++ b/public/icons/rentcast.svg @@ -1 +1 @@ -R \ No newline at end of file +R \ No newline at end of file diff --git a/public/icons/replicate.svg b/public/icons/replicate.svg index 71c4d653..959b2f52 100644 --- a/public/icons/replicate.svg +++ b/public/icons/replicate.svg @@ -1 +1 @@ -R \ No newline at end of file +R \ No newline at end of file diff --git a/public/icons/screenshotone.svg b/public/icons/screenshotone.svg new file mode 100644 index 00000000..b3983bcc --- /dev/null +++ b/public/icons/screenshotone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/stability-ai.svg b/public/icons/stability-ai.svg index cc0f3225..ecce3ff8 100644 --- a/public/icons/stability-ai.svg +++ b/public/icons/stability-ai.svg @@ -1 +1 @@ -S \ No newline at end of file +S \ No newline at end of file diff --git a/public/icons/suno.svg b/public/icons/suno.svg index cc0f3225..ecce3ff8 100644 --- a/public/icons/suno.svg +++ b/public/icons/suno.svg @@ -1 +1 @@ -S \ No newline at end of file +S \ No newline at end of file diff --git a/public/icons/tavily.svg b/public/icons/tavily.svg new file mode 100644 index 00000000..c787c223 --- /dev/null +++ b/public/icons/tavily.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/wolframalpha.svg b/public/icons/wolframalpha.svg new file mode 100644 index 00000000..3a9deb1a --- /dev/null +++ b/public/icons/wolframalpha.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/services/llms.txt b/public/services/llms.txt new file mode 100644 index 00000000..901fbe11 --- /dev/null +++ b/public/services/llms.txt @@ -0,0 +1,35 @@ +# MPP Services + +> MPP-enabled APIs your agent or application can seamlessly use. +> Docs: https://mpp.dev/overview +> Full reference: https://mpp.dev/llms-full.txt + +## Tempo Wallet + +Tempo Wallet CLI is a command-line HTTP client with built-in MPP payment support. + +Install: + $ curl -fsSL https://tempo.xyz/install | bash + +Log in (connects your Tempo wallet): + $ tempo wallet login + +Make a request (payment handled automatically): + $ tempo request https://openai.mpp.tempo.xyz/v1/chat/completions \ + -X POST --json '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello"}]}' + +Preview cost without paying: + $ tempo request --dry-run https://openai.mpp.tempo.xyz/v1/chat/completions + +## API + +Programmatically discover services: + GET https://mpp.dev/api/services + +Returns JSON with all services, endpoints, and pricing. + +## Services + +```json +[{"id":"agentmail","name":"AgentMail","serviceUrl":"https://mpp.api.agentmail.to","description":"Email inboxes for AI agents.","categories":["ai","social"]},{"id":"allium","name":"Allium","serviceUrl":"https://agents.allium.so","description":"System of record for onchain finance. Real-time blockchain data: token prices, wallet balances, transactions, PnL, and SQL explorer.","categories":["blockchain","data"]},{"id":"anthropic","name":"Anthropic","serviceUrl":"https://anthropic.mpp.tempo.xyz","description":"Claude chat completions (Sonnet, Opus, Haiku) via native and OpenAI-compatible APIs.","categories":["ai"]},{"id":"browserbase","name":"Browserbase","serviceUrl":"https://mpp.browserbase.com","description":"Headless browser sessions, web search, and page fetching for AI agents.","categories":["web","compute","search"]},{"id":"codex","name":"Codex","serviceUrl":"https://graph.codex.io","description":"Comprehensive onchain data API for tokens and prediction markets. Real-time prices, charts, trades, and wallet analytics across 80+ networks via GraphQL.","categories":["blockchain","data"]},{"id":"dune","name":"Dune","serviceUrl":"https://api.dune.com","description":"Execute SQL queries on Dune and retrieve results or CSV exports from completed executions.","categories":["data","blockchain"]},{"id":"exa","name":"Exa","serviceUrl":"https://exa.mpp.tempo.xyz","description":"AI-powered web search, content retrieval, and answers.","categories":["search","ai"]},{"id":"fal","name":"fal.ai","serviceUrl":"https://fal.mpp.tempo.xyz","description":"Image, video, and audio generation with 600+ models (Flux, SD, Recraft, Grok).","categories":["ai","media"]},{"id":"firecrawl","name":"Firecrawl","serviceUrl":"https://firecrawl.mpp.tempo.xyz","description":"Web scraping, crawling, and structured data extraction for LLMs.","categories":["web","data"]},{"id":"gemini","name":"Google Gemini","serviceUrl":"https://gemini.mpp.tempo.xyz","description":"Gemini text generation, Veo video, and Nano Banana image generation with model-tier pricing.","categories":["ai","media"]},{"id":"modal","name":"Modal","serviceUrl":"https://modal.mpp.tempo.xyz","description":"Serverless GPU compute for sandboxed code execution and AI/ML workloads.","categories":["compute"]},{"id":"openai","name":"OpenAI","serviceUrl":"https://openai.mpp.tempo.xyz","description":"Chat completions, embeddings, image generation, and audio with model-tier pricing.","categories":["ai","media"]},{"id":"openrouter","name":"OpenRouter","serviceUrl":"https://openrouter.mpp.tempo.xyz","description":"Unified API for 100+ LLMs with live per-model pricing.","categories":["ai"]},{"id":"parallel","name":"Parallel","serviceUrl":"https://parallelmpp.dev","description":"Web search, page extraction, and multi-hop web research.","categories":["search","ai"]},{"id":"alchemy","name":"Alchemy","serviceUrl":"https://mpp.alchemy.com","description":"Blockchain data APIs including Core RPC APIs, Prices API, Portfolio API, and NFT API across 100+ chains.","categories":["blockchain","data"]},{"id":"rpc","name":"Tempo RPC","serviceUrl":"https://rpc.mpp.tempo.xyz","description":"Tempo blockchain JSON-RPC access (mainnet and testnet).","categories":["blockchain"]},{"id":"storage","name":"Object Storage","serviceUrl":"https://storage.mpp.tempo.xyz","description":"S3/R2-compatible object storage with dynamic per-size pricing.","categories":["storage"]},{"id":"stableemail","name":"StableEmail","serviceUrl":"https://stableemail.dev","description":"Pay-per-send email delivery, forwarding inboxes, and custom subdomains — no API keys or accounts.","categories":["social"]},{"id":"stableenrich","name":"StableEnrich","serviceUrl":"https://stableenrich.dev","description":"Pay-per-request research APIs — people, companies, web search, scraping, places, social media, and contact enrichment.","categories":["data","search","social"]},{"id":"stabletravel","name":"StableTravel","serviceUrl":"https://stabletravel.dev","description":"Pay-per-request travel APIs — flights, hotels, activities, transfers, and real-time flight tracking. Powered by Amadeus and FlightAware.","categories":["data","web"]},{"id":"stablephone","name":"StablePhone","serviceUrl":"https://stablephone.dev","description":"AI phone calls, dedicated phone numbers, and iMessage/FaceTime lookup — pay per request.","categories":["ai","social"]},{"id":"stablesocial","name":"StableSocial","serviceUrl":"https://stablesocial.dev","description":"Pay-per-request social media data from TikTok, Instagram, Facebook, and Reddit.","categories":["social","data"]},{"id":"stablestudio","name":"StableStudio","serviceUrl":"https://stablestudio.dev","description":"Pay-per-generation AI image and video creation — Nano Banana, GPT Image, Grok, Flux, Sora, Veo, Seedance, and Wan.","categories":["ai","media"]},{"id":"stableupload","name":"StableUpload","serviceUrl":"https://stableupload.dev","description":"Pay-per-upload file hosting and static site hosting with custom domains — 6 month TTL.","categories":["storage"]},{"id":"aviationstack","name":"AviationStack","serviceUrl":"https://aviationstack.mpp.tempo.xyz","description":"Real-time and historical flight tracking, airports, airlines, and schedules.","categories":["data"]},{"id":"codestorage","name":"Code Storage","serviceUrl":"https://codestorage.mpp.tempo.xyz","description":"Paid Git repository creation — create repos and get authenticated clone URLs.","categories":["storage"]},{"id":"flightapi","name":"FlightAPI","serviceUrl":"https://flightapi.mpp.tempo.xyz","description":"Real-time flight prices, tracking, and airport schedules from 700+ airlines.","categories":["data"]},{"id":"goflightlabs","name":"GoFlightLabs","serviceUrl":"https://goflightlabs.mpp.tempo.xyz","description":"Real-time flight tracking, prices, schedules, and airline data.","categories":["data"]},{"id":"oxylabs","name":"Oxylabs","serviceUrl":"https://oxylabs.mpp.tempo.xyz","description":"Web scraping API with geo-targeting by country, state, and city. Fetch any public URL with JavaScript rendering support.","categories":["web","data"]},{"id":"spyfu","name":"SpyFu","serviceUrl":"https://spyfu.mpp.tempo.xyz","description":"Competitor keyword research — SEO rankings, PPC ads, ad history, and domain analytics. 18+ years of historical data.","categories":["data","search"]},{"id":"serpapi","name":"SerpApi","serviceUrl":"https://serpapi.mpp.tempo.xyz","description":"Google Flights search — real-time prices, schedules, and booking options.","categories":["search","data"]},{"id":"googlemaps","name":"Google Maps","serviceUrl":"https://googlemaps.mpp.tempo.xyz","description":"Google Maps Platform — geocoding, directions, places, routes, tiles, weather, air quality, and more.","categories":["data"]},{"id":"kicksdb","name":"KicksDB","serviceUrl":"https://kicksdb.mpp.tempo.xyz","description":"Sneaker & streetwear market data — prices, sales history, and availability from StockX, GOAT, and more.","categories":["data"]},{"id":"twocaptcha","name":"2Captcha","serviceUrl":"https://twocaptcha.mpp.tempo.xyz","description":"CAPTCHA solving API — reCAPTCHA, Turnstile, hCaptcha, image captchas, and more.","categories":["web"]},{"id":"postalform","name":"PostalForm","serviceUrl":"https://postalform.com","description":"Print and mail real letters and documents via AI agents.","categories":["web"]},{"id":"prospect-butcher","name":"Prospect Butcher","serviceUrl":"https://agents.prospectbutcher.shop","description":"Order sandwiches for pickup in Brooklyn — the first food purchase made entirely by an AI agent.","categories":["web"]},{"id":"alphavantage","name":"Alpha Vantage","serviceUrl":"https://alphavantage.mpp.paywithlocus.com","description":"Financial market data — stock prices, forex, crypto, commodities, economic indicators, technical analysis, and news sentiment.","categories":["data"]},{"id":"apollo","name":"Apollo","serviceUrl":"https://apollo.mpp.paywithlocus.com","description":"People and company enrichment, lead search, and sales intelligence with 275M+ contacts.","categories":["data"]},{"id":"billboard","name":"Billboard","serviceUrl":"https://billboard.mpp.paywithlocus.com","description":"Post to @MPPBillboard on X. Price starts at $0.01 and doubles with every post. The ultimate AI agent billboard.","categories":["data"]},{"id":"brave","name":"Brave Search","serviceUrl":"https://brave.mpp.paywithlocus.com","description":"Independent web search — web, news, images, videos, AI answers, and LLM context. Privacy-first search from a large independent index.","categories":["search"]},{"id":"builtwith","name":"BuiltWith","serviceUrl":"https://builtwith.mpp.paywithlocus.com","description":"Technology profiling for websites — detect tech stacks, find sites using specific technologies, discover domain relationships, trends, and competitive intelligence across 100M+ websites.","categories":["data"]},{"id":"clado","name":"Clado","serviceUrl":"https://clado.mpp.paywithlocus.com","description":"People search, LinkedIn enrichment, and deep research for lead generation.","categories":["data"]},{"id":"coingecko","name":"CoinGecko","serviceUrl":"https://coingecko.mpp.paywithlocus.com","description":"Cryptocurrency market data — prices, charts, market cap, exchanges, trending coins, global stats, NFTs, derivatives, and on-chain data.","categories":["data"]},{"id":"abstract-company-enrichment","name":"Company Enrichment","serviceUrl":"https://abstract-company-enrichment.mpp.paywithlocus.com","description":"Enrich company data from a domain name.","categories":["data"]},{"id":"deepgram","name":"Deepgram","serviceUrl":"https://deepgram.mpp.paywithlocus.com","description":"Industry-leading speech AI — transcribe audio from URLs with Nova-3, generate natural speech with Aura-2 TTS, and analyze text for sentiment, topics, intents, and summaries.","categories":["data"]},{"id":"deepl","name":"DeepL","serviceUrl":"https://deepl.mpp.paywithlocus.com","description":"Professional translation and text improvement — translate text between 30+ languages with industry-leading quality, or improve and rephrase text with DeepL Write.","categories":["data"]},{"id":"deepseek","name":"DeepSeek","serviceUrl":"https://deepseek.mpp.paywithlocus.com","description":"Frontier AI models — DeepSeek-V3 for fast chat and code, DeepSeek-R1 for deep chain-of-thought reasoning. OpenAI-compatible API format. Among the most capable and cost-efficient models available.","categories":["ai"]},{"id":"diffbot","name":"Diffbot","serviceUrl":"https://diffbot.mpp.paywithlocus.com","description":"Web data extraction — articles, products, discussions, images, videos, and auto-detect.","categories":["web","data"]},{"id":"diffbot-kg","name":"Diffbot KG","serviceUrl":"https://diffbot-kg.mpp.paywithlocus.com","description":"Knowledge Graph — search 10B+ entities and enrich company/person records.","categories":["data"]},{"id":"diffbot-nl","name":"Diffbot NL","serviceUrl":"https://diffbot-nl.mpp.paywithlocus.com","description":"Natural language processing — NER, sentiment, facts, summarization.","categories":["ai"]},{"id":"edgar","name":"EDGAR (SEC)","serviceUrl":"https://edgar.mpp.paywithlocus.com","description":"SEC EDGAR public financial data — company filing history, XBRL financial facts (income statements, balance sheets, cash flows), and full-text search across all public filings. No API key required.","categories":["data"]},{"id":"edgar-search","name":"EDGAR Full-Text Search","serviceUrl":"https://edgar-search.mpp.paywithlocus.com","description":"Full-text search across all SEC filings — 10-Ks, 10-Qs, 8-Ks, proxy statements, and more. Search by keyword, company name, form type, and date range.","categories":["data"]},{"id":"abstract-email-reputation","name":"Email Reputation","serviceUrl":"https://abstract-email-reputation.mpp.paywithlocus.com","description":"Check the reputation and risk score of an email address.","categories":["data"]},{"id":"abstract-exchange-rates","name":"Exchange Rates","serviceUrl":"https://abstract-exchange-rates.mpp.paywithlocus.com","description":"Live, historical, and conversion exchange rates for 150+ currencies.","categories":["data"]},{"id":"grok","name":"Grok","serviceUrl":"https://grok.mpp.paywithlocus.com","description":"xAI models — chat, web/X search, code execution, image generation/editing, and text-to-speech.","categories":["ai"]},{"id":"groq","name":"Groq","serviceUrl":"https://groq.mpp.paywithlocus.com","description":"Ultra-fast LLM inference — Llama 3.3, DeepSeek R1, Gemma 2, GPT-OSS, Qwen, Whisper, and PlayAI TTS. OpenAI-compatible API with industry-leading speed.","categories":["ai"]},{"id":"abstract-holidays","name":"Holidays","serviceUrl":"https://abstract-holidays.mpp.paywithlocus.com","description":"Public holiday data for 200+ countries.","categories":["data"]},{"id":"hunter","name":"Hunter","serviceUrl":"https://hunter.mpp.paywithlocus.com","description":"Email finding, verification, and company enrichment for outreach and lead generation.","categories":["data"]},{"id":"abstract-iban-validation","name":"IBAN Validation","serviceUrl":"https://abstract-iban-validation.mpp.paywithlocus.com","description":"Validate International Bank Account Numbers (IBANs).","categories":["data"]},{"id":"abstract-ip-intelligence","name":"IP Intelligence","serviceUrl":"https://abstract-ip-intelligence.mpp.paywithlocus.com","description":"Detect VPNs, proxies, bots, and Tor nodes by IP address.","categories":["data"]},{"id":"ipinfo","name":"IPinfo","serviceUrl":"https://ipinfo.mpp.paywithlocus.com","description":"IP intelligence — geolocation, ASN, privacy detection, carrier data, and hosting identification.","categories":["data"]},{"id":"judge0","name":"Judge0","serviceUrl":"https://judge0.mpp.paywithlocus.com","description":"Online code execution — run source code in 60+ programming languages with sandboxed isolation.","categories":["compute"]},{"id":"mapbox","name":"Mapbox","serviceUrl":"https://mapbox.mpp.paywithlocus.com","description":"Location and mapping APIs — geocoding, directions, isochrones, matrix routing, map matching, static maps, and spatial queries.","categories":["data"]},{"id":"mathpix","name":"Mathpix","serviceUrl":"https://mathpix.mpp.paywithlocus.com","description":"OCR for math, science, and documents — extract LaTeX, MathML, and Mathpix Markdown from images and handwriting.","categories":["ai"]},{"id":"mistral","name":"Mistral AI","serviceUrl":"https://mistral.mpp.paywithlocus.com","description":"Premier and open-source LLMs — Mistral Large, Medium, Small, Codestral, Magistral reasoning, Pixtral vision, text embeddings, and content moderation.","categories":["ai"]},{"id":"openweather","name":"OpenWeather","serviceUrl":"https://openweather.mpp.paywithlocus.com","description":"Global weather data — current conditions, 5-day forecasts, hourly forecasts, air quality index with pollutants, geocoding, and One Call 3.0 with full weather suite and government alerts.","categories":["data"]},{"id":"perplexity","name":"Perplexity","serviceUrl":"https://perplexity.mpp.paywithlocus.com","description":"AI-powered search — Sonar chat with real-time web grounding, web search, and embeddings.","categories":["ai","search"]},{"id":"abstract-phone-intelligence","name":"Phone Intelligence","serviceUrl":"https://abstract-phone-intelligence.mpp.paywithlocus.com","description":"Validate and get carrier info for phone numbers worldwide.","categories":["data"]},{"id":"rentcast","name":"RentCast","serviceUrl":"https://rentcast.mpp.paywithlocus.com","description":"US real estate intelligence — property records, AVM valuations, rent estimates, sale/rental listings, and market statistics.","categories":["data"]},{"id":"replicate","name":"Replicate","serviceUrl":"https://replicate.mpp.paywithlocus.com","description":"Run thousands of open-source AI models via API — image generation, language models, speech recognition, video, and more. Pay only for what you use.","categories":["ai","media"]},{"id":"screenshotone","name":"ScreenshotOne","serviceUrl":"https://screenshotone.mpp.paywithlocus.com","description":"Website screenshot API — capture any URL, HTML, or markdown as PNG, JPEG, WebP, or PDF. Full-page, element selection, dark mode, ad blocking, and more.","categories":["compute"]},{"id":"stability-ai","name":"Stability AI","serviceUrl":"https://stability-ai.mpp.paywithlocus.com","description":"Generative AI platform for images, 3D models, and audio — text-to-image, editing, upscaling, and more.","categories":["ai","media"]},{"id":"suno","name":"Suno","serviceUrl":"https://suno.mpp.paywithlocus.com","description":"AI music generation — create full songs, generate lyrics, and build custom music tracks with state-of-the-art AI models. Supports custom styles, vocals, and instrumental modes.","categories":["ai","media"]},{"id":"tavily","name":"Tavily","serviceUrl":"https://tavily.mpp.paywithlocus.com","description":"AI-optimized web search, content extraction, site mapping, and crawling API.","categories":["search","web"]},{"id":"abstract-timezone","name":"Timezone","serviceUrl":"https://abstract-timezone.mpp.paywithlocus.com","description":"Current time and timezone conversion for any location.","categories":["data"]},{"id":"abstract-vat","name":"VAT","serviceUrl":"https://abstract-vat.mpp.paywithlocus.com","description":"VAT number validation, rate calculation, and category lookup for EU.","categories":["data"]},{"id":"abstract-web-scraping","name":"Web Scraping","serviceUrl":"https://abstract-web-scraping.mpp.paywithlocus.com","description":"Scrape web pages with optional JavaScript rendering.","categories":["web","data"]},{"id":"wolframalpha","name":"Wolfram|Alpha","serviceUrl":"https://wolframalpha.mpp.paywithlocus.com","description":"Computational knowledge engine — math, science, geography, history, nutrition, finance, and more. Get answers as text, spoken audio, LLM-optimized data, or full structured results.","categories":["data"]},{"id":"stripe-climate","name":"Stripe Climate","serviceUrl":"https://climate.stripe.dev","description":"Fund permanent carbon removal projects via Stripe Climate.","categories":["web"]}] +``` diff --git a/schemas/discovery.example.json b/schemas/discovery.example.json new file mode 100644 index 00000000..3779f640 --- /dev/null +++ b/schemas/discovery.example.json @@ -0,0 +1,259 @@ +{ + "version": 1, + "services": [ + { + "id": "exa", + "name": "Exa", + "url": "https://api.exa.ai", + "serviceUrl": "https://exa.mpp.tempo.xyz", + "description": "AI-powered web search, content retrieval, and answers.", + "categories": [ + "search", + "ai" + ], + "integration": "third-party", + "tags": [ + "search", + "web", + "content", + "ai-search" + ], + "status": "active", + "docs": { + "homepage": "https://docs.exa.ai", + "llmsTxt": "https://docs.exa.ai/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Exa", + "url": "https://exa.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/search", + "description": "Search the web", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search the web", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fsearch" + }, + { + "method": "POST", + "path": "/contents", + "description": "Get page contents", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get page contents", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fcontents" + }, + { + "method": "POST", + "path": "/findSimilar", + "description": "Find similar pages", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find similar pages", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2FfindSimilar" + }, + { + "method": "POST", + "path": "/answer", + "description": "Get AI-powered answers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get AI-powered answers", + "amount": "10000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fanswer" + } + ] + }, + { + "id": "openrouter", + "name": "OpenRouter", + "url": "https://openrouter.ai/api", + "serviceUrl": "https://openrouter.mpp.tempo.xyz", + "description": "Unified API for 100+ LLMs with live per-model pricing.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "unified", + "multi-model", + "chat" + ], + "status": "active", + "docs": { + "homepage": "https://openrouter.ai/docs", + "llmsTxt": "https://openrouter.ai/docs/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "OpenRouter", + "url": "https://openrouter.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/chat/completions", + "description": "Chat completions (GPT-4, Claude, Llama, etc.) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat completions (GPT-4, Claude, Llama, etc.) - price varies by model", + "dynamic": true + }, + "docs": "https://context7.com/websites/openrouter_ai/llms.txt?topic=POST%20%2Fv1%2Fchat%2Fcompletions" + } + ] + }, + { + "id": "storage", + "name": "Object Storage", + "url": "https://mpp.tempo.xyz/storage", + "serviceUrl": "https://storage.mpp.tempo.xyz", + "description": "S3/R2-compatible object storage with dynamic per-size pricing.", + "categories": [ + "storage" + ], + "integration": "first-party", + "tags": [ + "s3", + "r2", + "objects", + "blobs", + "files" + ], + "status": "active", + "docs": { + "homepage": "https://developers.cloudflare.com/r2/" + }, + "methods": { + "tempo": { + "intents": [ + "charge", + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Tempo", + "url": "https://tempo.xyz" + }, + "endpoints": [ + { + "method": "GET", + "path": "/:key", + "description": "Download object ($0.001 base + $0.01/MB)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Download object ($0.001 base + $0.01/MB)", + "dynamic": true + } + }, + { + "method": "PUT", + "path": "/:key", + "description": "Upload object ($0.001 base + $0.01/MB, max 100MB)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upload object ($0.001 base + $0.01/MB, max 100MB)", + "dynamic": true + } + }, + { + "method": "DELETE", + "path": "/:key", + "description": "Delete object", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Delete object", + "amount": "100" + } + }, + { + "method": "GET", + "path": "/", + "description": "List objects", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List objects", + "amount": "100" + } + }, + { + "method": "POST", + "path": "/:key", + "description": "Initiate/complete multipart upload", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Initiate/complete multipart upload", + "amount": "100" + } + } + ] + } + ] +} diff --git a/schemas/discovery.json b/schemas/discovery.json new file mode 100644 index 00000000..2f3714c3 --- /dev/null +++ b/schemas/discovery.json @@ -0,0 +1,11919 @@ +{ + "version": 1, + "services": [ + { + "id": "agentmail", + "name": "AgentMail", + "url": "https://mpp.api.agentmail.to", + "serviceUrl": "https://mpp.api.agentmail.to", + "description": "Email inboxes for AI agents.", + "categories": [ + "ai", + "social" + ], + "integration": "first-party", + "tags": [ + "email", + "inboxes", + "domains", + "drafts", + "threads", + "webhooks", + "messaging" + ], + "status": "active", + "docs": { + "homepage": "https://docs.agentmail.to" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.api.agentmail.to", + "provider": { + "name": "AgentMail", + "url": "https://agentmail.to" + }, + "endpoints": [ + { + "method": "GET", + "path": "/v0/inboxes", + "description": "List inboxes", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id", + "description": "Get inbox", + "payment": null + }, + { + "method": "POST", + "path": "/v0/inboxes", + "description": "Create inbox", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create inbox", + "amount": "2000000" + } + }, + { + "method": "PATCH", + "path": "/v0/inboxes/:inbox_id", + "description": "Update inbox", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/inboxes/:inbox_id", + "description": "Delete inbox", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/threads", + "description": "List threads", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/threads/:thread_id", + "description": "Get thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/threads/:thread_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/inboxes/:inbox_id/threads/:thread_id", + "description": "Delete thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/messages", + "description": "List messages", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/messages/:message_id", + "description": "Get message", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/messages/:message_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/messages/:message_id/raw", + "description": "Get raw message", + "payment": null + }, + { + "method": "PATCH", + "path": "/v0/inboxes/:inbox_id/messages/:message_id", + "description": "Update message", + "payment": null + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/messages/send", + "description": "Send message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Send message", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/messages/:message_id/reply", + "description": "Reply to message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Reply to message", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/messages/:message_id/reply-all", + "description": "Reply all message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Reply all message", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/messages/:message_id/forward", + "description": "Forward message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Forward message", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/drafts", + "description": "List drafts", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/drafts/:draft_id", + "description": "Get draft", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/drafts/:draft_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/drafts", + "description": "Create draft", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create draft", + "amount": "10000" + } + }, + { + "method": "PATCH", + "path": "/v0/inboxes/:inbox_id/drafts/:draft_id", + "description": "Update draft", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/inboxes/:inbox_id/drafts/:draft_id", + "description": "Delete draft", + "payment": null + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/drafts/:draft_id/send", + "description": "Send draft", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Send draft", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/lists/:direction/:type", + "description": "List entries", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/lists/:direction/:type/:entry", + "description": "Get list entry", + "payment": null + }, + { + "method": "POST", + "path": "/v0/inboxes/:inbox_id/lists/:direction/:type", + "description": "Create list entry", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create list entry", + "amount": "10000" + } + }, + { + "method": "DELETE", + "path": "/v0/inboxes/:inbox_id/lists/:direction/:type/:entry", + "description": "Delete list entry", + "payment": null + }, + { + "method": "GET", + "path": "/v0/inboxes/:inbox_id/metrics", + "description": "Query metrics", + "payment": null + }, + { + "method": "GET", + "path": "/v0/threads", + "description": "List threads", + "payment": null + }, + { + "method": "GET", + "path": "/v0/threads/:thread_id", + "description": "Get thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/threads/:thread_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/threads/:thread_id", + "description": "Delete thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/drafts", + "description": "List drafts", + "payment": null + }, + { + "method": "GET", + "path": "/v0/drafts/:draft_id", + "description": "Get draft", + "payment": null + }, + { + "method": "GET", + "path": "/v0/drafts/:draft_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "GET", + "path": "/v0/domains", + "description": "List domains", + "payment": null + }, + { + "method": "GET", + "path": "/v0/domains/:domain_id", + "description": "Get domain", + "payment": null + }, + { + "method": "GET", + "path": "/v0/domains/:domain_id/zone-file", + "description": "Get zone file", + "payment": null + }, + { + "method": "POST", + "path": "/v0/domains", + "description": "Create domain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create domain", + "amount": "10000" + } + }, + { + "method": "DELETE", + "path": "/v0/domains/:domain_id", + "description": "Delete domain", + "payment": null + }, + { + "method": "POST", + "path": "/v0/domains/:domain_id/verify", + "description": "Verify domain", + "payment": null + }, + { + "method": "GET", + "path": "/v0/lists/:direction/:type", + "description": "List entries", + "payment": null + }, + { + "method": "GET", + "path": "/v0/lists/:direction/:type/:entry", + "description": "Get list entry", + "payment": null + }, + { + "method": "POST", + "path": "/v0/lists/:direction/:type", + "description": "Create list entry", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create list entry", + "amount": "10000" + } + }, + { + "method": "DELETE", + "path": "/v0/lists/:direction/:type/:entry", + "description": "Delete list entry", + "payment": null + }, + { + "method": "GET", + "path": "/v0/metrics", + "description": "Query metrics", + "payment": null + }, + { + "method": "GET", + "path": "/v0/api-keys", + "description": "List API keys", + "payment": null + }, + { + "method": "POST", + "path": "/v0/api-keys", + "description": "Create API key", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/api-keys/:api_key", + "description": "Delete API key", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods", + "description": "List pods", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id", + "description": "Get pod", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods", + "description": "Create pod", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create pod", + "amount": "10000" + } + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id", + "description": "Delete pod", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/inboxes", + "description": "List inboxes", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/inboxes/:inbox_id", + "description": "Get inbox", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods/:pod_id/inboxes", + "description": "Create inbox", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create inbox", + "amount": "2000000" + } + }, + { + "method": "PATCH", + "path": "/v0/pods/:pod_id/inboxes/:inbox_id", + "description": "Update inbox", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id/inboxes/:inbox_id", + "description": "Delete inbox", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/threads", + "description": "List threads", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/threads/:thread_id", + "description": "Get thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/threads/:thread_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id/threads/:thread_id", + "description": "Delete thread", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/drafts", + "description": "List drafts", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/drafts/:draft_id", + "description": "Get draft", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/drafts/:draft_id/attachments/:attachment_id", + "description": "Get attachment", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/domains", + "description": "List domains", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/domains/:domain_id", + "description": "Get domain", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/domains/:domain_id/zone-file", + "description": "Get zone file", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods/:pod_id/domains", + "description": "Create domain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create domain", + "amount": "10000000" + } + }, + { + "method": "PATCH", + "path": "/v0/pods/:pod_id/domains/:domain_id", + "description": "Update domain", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id/domains/:domain_id", + "description": "Delete domain", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods/:pod_id/domains/:domain_id/verify", + "description": "Verify domain", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/lists/:direction/:type", + "description": "List entries", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/lists/:direction/:type/:entry", + "description": "Get list entry", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods/:pod_id/lists/:direction/:type", + "description": "Create list entry", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create list entry", + "amount": "10000" + } + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id/lists/:direction/:type/:entry", + "description": "Delete list entry", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/metrics", + "description": "Query metrics", + "payment": null + }, + { + "method": "GET", + "path": "/v0/pods/:pod_id/api-keys", + "description": "List API keys", + "payment": null + }, + { + "method": "POST", + "path": "/v0/pods/:pod_id/api-keys", + "description": "Create API key", + "payment": null + }, + { + "method": "DELETE", + "path": "/v0/pods/:pod_id/api-keys/:api_key", + "description": "Delete API key", + "payment": null + }, + { + "method": "GET", + "path": "/v0/organizations", + "description": "Get organization", + "payment": null + } + ] + }, + { + "id": "allium", + "name": "Allium", + "url": "https://agents.allium.so", + "serviceUrl": "https://agents.allium.so", + "description": "System of record for onchain finance. Real-time blockchain data: token prices, wallet balances, transactions, PnL, and SQL explorer.", + "categories": [ + "blockchain", + "data" + ], + "integration": "first-party", + "tags": [ + "blockchain", + "prices", + "tokens", + "wallet", + "balances", + "transactions", + "pnl", + "sql", + "explorer", + "solana", + "base", + "defi" + ], + "status": "active", + "docs": { + "homepage": "https://docs.allium.so" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "agents.allium.so", + "provider": { + "name": "Allium", + "url": "https://allium.so" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/v1/developer/prices", + "description": "Get latest token prices", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get latest token prices", + "amount": "20000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/prices/at-timestamp", + "description": "Get token prices at a specific time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get token prices at a specific time", + "amount": "20000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/prices/history", + "description": "Get historical token price series", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical token price series", + "amount": "20000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/prices/stats", + "description": "Get token price statistics", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get token price statistics", + "amount": "20000", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/api/v1/developer/tokens/search", + "description": "Search tokens by name or symbol", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search tokens by name or symbol", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/tokens/chain-address", + "description": "Look up tokens by chain and address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Look up tokens by chain and address", + "amount": "20000", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/api/v1/developer/tokens", + "description": "List all supported tokens", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List all supported tokens", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/wallet/balances", + "description": "Get current wallet token balances", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get current wallet token balances", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/wallet/balances/history", + "description": "Get historical wallet balances", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical wallet balances", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/wallet/transactions", + "description": "Get wallet transaction history", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get wallet transaction history", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/developer/wallet/pnl", + "description": "Get wallet profit and loss", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get wallet profit and loss", + "amount": "30000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/explorer/queries/run-async", + "description": "Submit raw SQL for async execution", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Submit raw SQL for async execution", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/v1/explorer/queries/:query_id/run-async", + "description": "Run a saved query asynchronously", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Run a saved query asynchronously", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/api/v1/explorer/query-runs/:run_id/status", + "description": "Check status of a query run", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Check status of a query run", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/api/v1/explorer/query-runs/:run_id/results", + "description": "Fetch results of a completed query", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Fetch results of a completed query", + "dynamic": true, + "amountHint": "$0.01 – $2.00" + } + } + ] + }, + { + "id": "anthropic", + "name": "Anthropic", + "url": "https://api.anthropic.com", + "serviceUrl": "https://anthropic.mpp.tempo.xyz", + "description": "Claude chat completions (Sonnet, Opus, Haiku) via native and OpenAI-compatible APIs.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "claude", + "sonnet", + "opus", + "haiku", + "chat" + ], + "status": "active", + "docs": { + "homepage": "https://docs.anthropic.com", + "llmsTxt": "https://docs.anthropic.com/llms.txt", + "apiReference": "https://docs.anthropic.com/en/api" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Anthropic", + "url": "https://anthropic.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/messages", + "description": "Create messages with Claude (Sonnet, Opus, Haiku) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create messages with Claude (Sonnet, Opus, Haiku) - price varies by model", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/v1/chat/completions", + "description": "OpenAI-compatible chat completions (auto-converted to Anthropic format)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "OpenAI-compatible chat completions (auto-converted to Anthropic format)", + "dynamic": true + } + } + ] + }, + { + "id": "browserbase", + "name": "Browserbase", + "url": "https://mpp.browserbase.com", + "serviceUrl": "https://mpp.browserbase.com", + "description": "Headless browser sessions, web search, and page fetching for AI agents.", + "categories": [ + "web", + "compute", + "search" + ], + "integration": "first-party", + "tags": [ + "browser", + "scraping", + "automation", + "headless", + "search", + "fetch" + ], + "status": "active", + "docs": { + "homepage": "https://docs.browserbase.com", + "llmsTxt": "https://docs.browserbase.com/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.browserbase.com", + "provider": { + "name": "Browserbase", + "url": "https://browserbase.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/browser/session/create", + "description": "Create a browser session", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create a browser session", + "dynamic": true, + "amountHint": "$0.12/hr" + }, + "docs": "https://docs.browserbase.com/reference/api/create-a-session" + }, + { + "method": "GET", + "path": "/browser/session/:id/status", + "description": "Check session status", + "payment": null + }, + { + "method": "POST", + "path": "/browser/session/:id/extend", + "description": "Add more time to session", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Add more time to session", + "dynamic": true, + "amountHint": "$0.12/hr" + }, + "docs": "https://docs.browserbase.com/reference/api/create-a-session" + }, + { + "method": "DELETE", + "path": "/browser/session/:id", + "description": "Terminate session", + "payment": null + }, + { + "method": "POST", + "path": "/search", + "description": "Web search with structured results", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Web search with structured results", + "amount": "10000", + "unitType": "request" + }, + "docs": "https://docs.browserbase.com/features/search" + }, + { + "method": "POST", + "path": "/fetch", + "description": "Fetch a page and return content and metadata", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Fetch a page and return content and metadata", + "amount": "10000", + "unitType": "request" + }, + "docs": "https://docs.browserbase.com/features/fetch" + } + ] + }, + { + "id": "codex", + "name": "Codex", + "url": "https://graph.codex.io", + "serviceUrl": "https://graph.codex.io", + "description": "Comprehensive onchain data API for tokens and prediction markets. Real-time prices, charts, trades, and wallet analytics across 80+ networks via GraphQL.", + "categories": [ + "blockchain", + "data" + ], + "integration": "first-party", + "tags": [ + "graphql", + "defi", + "tokens", + "trades", + "nft" + ], + "status": "active", + "docs": { + "homepage": "https://docs.codex.io", + "llmsTxt": "https://docs.codex.io/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "graph.codex.io", + "provider": { + "name": "Codex", + "url": "https://codex.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/graphql", + "description": "GraphQL query (token data, trades, liquidity, NFTs, wallets)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GraphQL query (token data, trades, liquidity, NFTs, wallets)", + "amount": "1000" + }, + "docs": "https://context7.com/websites/codex_io/llms.txt?topic=POST%20%2Fgraphql" + } + ] + }, + { + "id": "dune", + "name": "Dune", + "url": "https://dune.com", + "serviceUrl": "https://api.dune.com", + "description": "Execute SQL queries on Dune and retrieve results or CSV exports from completed executions.", + "categories": [ + "data", + "blockchain" + ], + "integration": "first-party", + "tags": [ + "sql", + "analytics", + "blockchain", + "data", + "query" + ], + "status": "active", + "docs": { + "homepage": "https://docs.dune.com/api-reference/agents/mpp" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "api.dune.com", + "provider": { + "name": "Dune", + "url": "https://dune.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/sql/execute", + "description": "Execute a SQL query", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Execute a SQL query", + "dynamic": true, + "amountHint": "$0.05-$3" + } + }, + { + "method": "GET", + "path": "/v1/execution/:execution_id/csv", + "description": "Download CSV results for an execution", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Download CSV results for an execution", + "dynamic": true, + "amountHint": "$0.05-$10" + } + }, + { + "method": "GET", + "path": "/v1/execution/:execution_id/results", + "description": "Fetch JSON results for an execution", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Fetch JSON results for an execution", + "dynamic": true, + "amountHint": "$0.05-$10" + } + } + ] + }, + { + "id": "exa", + "name": "Exa", + "url": "https://api.exa.ai", + "serviceUrl": "https://exa.mpp.tempo.xyz", + "description": "AI-powered web search, content retrieval, and answers.", + "categories": [ + "search", + "ai" + ], + "integration": "third-party", + "tags": [ + "search", + "web", + "content", + "ai-search" + ], + "status": "active", + "docs": { + "homepage": "https://docs.exa.ai", + "llmsTxt": "https://docs.exa.ai/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Exa", + "url": "https://exa.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/search", + "description": "Search the web", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search the web", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fsearch" + }, + { + "method": "POST", + "path": "/contents", + "description": "Get page contents", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get page contents", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fcontents" + }, + { + "method": "POST", + "path": "/findSimilar", + "description": "Find similar pages", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find similar pages", + "amount": "5000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2FfindSimilar" + }, + { + "method": "POST", + "path": "/answer", + "description": "Get AI-powered answers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get AI-powered answers", + "amount": "10000" + }, + "docs": "https://context7.com/websites/exa_ai/llms.txt?topic=POST%20%2Fanswer" + } + ] + }, + { + "id": "fal", + "name": "fal.ai", + "url": "https://fal.run", + "serviceUrl": "https://fal.mpp.tempo.xyz", + "description": "Image, video, and audio generation with 600+ models (Flux, SD, Recraft, Grok).", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "image", + "video", + "flux", + "stable-diffusion", + "grok", + "generation" + ], + "status": "active", + "docs": { + "homepage": "https://fal.ai/docs", + "llmsTxt": "https://fal.ai/docs/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "fal.ai", + "url": "https://fal.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/fal-ai/flux/dev", + "description": "FLUX.1 [dev] - High-quality text-to-image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "FLUX.1 [dev] - High-quality text-to-image generation", + "amount": "25000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fflux%2Fdev" + }, + { + "method": "POST", + "path": "/fal-ai/flux/schnell", + "description": "FLUX.1 [schnell] - Fast text-to-image (1-4 steps)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "FLUX.1 [schnell] - Fast text-to-image (1-4 steps)", + "amount": "3000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fflux%2Fschnell" + }, + { + "method": "POST", + "path": "/fal-ai/flux-pro/v1.1", + "description": "FLUX1.1 [pro] - Professional-grade image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "FLUX1.1 [pro] - Professional-grade image generation", + "amount": "35000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fflux-pro%2Fv1.1" + }, + { + "method": "POST", + "path": "/fal-ai/flux-pro/v1.1-ultra", + "description": "FLUX1.1 [pro] ultra - Up to 2K resolution with improved realism", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "FLUX1.1 [pro] ultra - Up to 2K resolution with improved realism", + "amount": "60000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fflux-pro%2Fv1.1-ultra" + }, + { + "method": "POST", + "path": "/fal-ai/stable-diffusion-v35-large", + "description": "Stable Diffusion 3.5 Large - MMDiT text-to-image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Stable Diffusion 3.5 Large - MMDiT text-to-image", + "amount": "35000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fstable-diffusion-v35-large" + }, + { + "method": "POST", + "path": "/fal-ai/fast-sdxl", + "description": "Fast SDXL - Quick Stable Diffusion XL generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Fast SDXL - Quick Stable Diffusion XL generation", + "amount": "3000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Ffast-sdxl" + }, + { + "method": "POST", + "path": "/fal-ai/recraft-v3", + "description": "Recraft V3 - SOTA text-to-image with long text and vector art", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Recraft V3 - SOTA text-to-image with long text and vector art", + "amount": "40000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Frecraft-v3" + }, + { + "method": "POST", + "path": "/xai/grok-imagine-image", + "description": "Grok Imagine - xAI image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok Imagine - xAI image generation", + "amount": "40000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Fxai%2Fgrok-imagine-image" + }, + { + "method": "POST", + "path": "/xai/grok-imagine-image/edit", + "description": "Grok Imagine Edit - xAI image editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok Imagine Edit - xAI image editing", + "amount": "40000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Fxai%2Fgrok-imagine-image%2Fedit" + }, + { + "method": "POST", + "path": "/fal-ai/stable-video", + "description": "Stable Video Diffusion - Image-to-video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Stable Video Diffusion - Image-to-video generation", + "amount": "70000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fstable-video" + }, + { + "method": "POST", + "path": "/fal-ai/minimax/video-01", + "description": "MiniMax Video-01 - Text/image to video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "MiniMax Video-01 - Text/image to video generation", + "amount": "70000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fminimax%2Fvideo-01" + }, + { + "method": "POST", + "path": "/fal-ai/minimax/video-01-live", + "description": "MiniMax Video-01 Live - Real-time video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "MiniMax Video-01 Live - Real-time video generation", + "amount": "70000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2Fminimax%2Fvideo-01-live" + }, + { + "method": "POST", + "path": "/xai/grok-imagine-video/text-to-video", + "description": "Grok Imagine Video - xAI text-to-video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok Imagine Video - xAI text-to-video generation", + "amount": "300000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Fxai%2Fgrok-imagine-video%2Ftext-to-video" + }, + { + "method": "POST", + "path": "/xai/grok-imagine-video/image-to-video", + "description": "Grok Imagine Video - xAI image-to-video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok Imagine Video - xAI image-to-video generation", + "amount": "300000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Fxai%2Fgrok-imagine-video%2Fimage-to-video" + }, + { + "method": "POST", + "path": "/fal-ai/:model", + "description": "fal.ai model generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "fal.ai model generation", + "amount": "20000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2F%3Amodel" + }, + { + "method": "POST", + "path": "/fal-ai/:namespace/:model", + "description": "fal.ai model generation (with namespace)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "fal.ai model generation (with namespace)", + "amount": "20000" + }, + "docs": "https://context7.com/websites/fal_ai/llms.txt?topic=POST%20%2Ffal-ai%2F%3Anamespace%2F%3Amodel" + } + ] + }, + { + "id": "firecrawl", + "name": "Firecrawl", + "url": "https://api.firecrawl.dev", + "serviceUrl": "https://firecrawl.mpp.tempo.xyz", + "description": "Web scraping, crawling, and structured data extraction for LLMs.", + "categories": [ + "web", + "data" + ], + "integration": "third-party", + "tags": [ + "scraping", + "crawling", + "extraction", + "llm" + ], + "status": "active", + "docs": { + "homepage": "https://docs.firecrawl.dev", + "llmsTxt": "https://docs.firecrawl.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Firecrawl", + "url": "https://firecrawl.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/scrape", + "description": "Scrape a URL", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape a URL", + "amount": "2000" + }, + "docs": "https://context7.com/websites/firecrawl_dev/llms.txt?topic=POST%20%2Fv1%2Fscrape" + }, + { + "method": "POST", + "path": "/v1/crawl", + "description": "Crawl a website", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Crawl a website", + "amount": "5000" + }, + "docs": "https://context7.com/websites/firecrawl_dev/llms.txt?topic=POST%20%2Fv1%2Fcrawl" + }, + { + "method": "POST", + "path": "/v1/map", + "description": "Map website URLs", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Map website URLs", + "amount": "2000" + }, + "docs": "https://context7.com/websites/firecrawl_dev/llms.txt?topic=POST%20%2Fv1%2Fmap" + }, + { + "method": "POST", + "path": "/v1/search", + "description": "Search the web", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search the web", + "amount": "4000" + }, + "docs": "https://context7.com/websites/firecrawl_dev/llms.txt?topic=POST%20%2Fv1%2Fsearch" + }, + { + "method": "POST", + "path": "/v1/extract", + "description": "Extract structured data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extract structured data", + "amount": "5000" + }, + "docs": "https://context7.com/websites/firecrawl_dev/llms.txt?topic=POST%20%2Fv1%2Fextract" + } + ] + }, + { + "id": "gemini", + "name": "Google Gemini", + "url": "https://generativelanguage.googleapis.com", + "serviceUrl": "https://gemini.mpp.tempo.xyz", + "description": "Gemini text generation, Veo video, and Nano Banana image generation with model-tier pricing.", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "llm", + "gemini", + "veo", + "imagen", + "video", + "multimodal" + ], + "status": "active", + "docs": { + "homepage": "https://ai.google.dev/docs" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Google", + "url": "https://ai.google.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/:version/models/*", + "description": "Generate content (Gemini, Veo, Imagen, etc.) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate content (Gemini, Veo, Imagen, etc.) - price varies by model", + "amount": "500", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/:version/operations/*", + "description": "Poll async operation status", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Poll async operation status", + "amount": "100", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/:version/files", + "description": "Upload file for multimodal input", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upload file for multimodal input", + "amount": "1000", + "unitType": "request" + } + }, + { + "method": "GET", + "path": "/:version/models", + "description": "List available models (free)", + "payment": null + }, + { + "method": "GET", + "path": "/:version/models/*", + "description": "Get model details (free)", + "payment": null + }, + { + "method": "GET", + "path": "/:version/files", + "description": "List uploaded files (free)", + "payment": null + }, + { + "method": "GET", + "path": "/:version/files/*", + "description": "Get file details (free)", + "payment": null + }, + { + "method": "DELETE", + "path": "/:version/files/*", + "description": "Delete an uploaded file (free)", + "payment": null + }, + { + "method": "GET", + "path": "/:version/cachedContents", + "description": "List cached contents (free)", + "payment": null + }, + { + "method": "GET", + "path": "/:version/cachedContents/*", + "description": "Get cached content details (free)", + "payment": null + } + ] + }, + { + "id": "modal", + "name": "Modal", + "url": "https://api.modal.com", + "serviceUrl": "https://modal.mpp.tempo.xyz", + "description": "Serverless GPU compute for sandboxed code execution and AI/ML workloads.", + "categories": [ + "compute" + ], + "integration": "third-party", + "tags": [ + "gpu", + "serverless", + "sandbox", + "compute" + ], + "status": "active", + "docs": { + "homepage": "https://modal.com/docs", + "llmsTxt": "https://modal.com/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Modal", + "url": "https://modal.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/sandbox/create", + "description": "Create a sandbox for code execution", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create a sandbox for code execution", + "dynamic": true + }, + "docs": "https://context7.com/websites/modal/llms.txt?topic=POST%20%2Fsandbox%2Fcreate" + }, + { + "method": "POST", + "path": "/sandbox/exec", + "description": "Execute command in sandbox", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Execute command in sandbox", + "amount": "100" + }, + "docs": "https://context7.com/websites/modal/llms.txt?topic=POST%20%2Fsandbox%2Fexec" + }, + { + "method": "POST", + "path": "/sandbox/status", + "description": "Get sandbox status", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get sandbox status", + "amount": "100" + }, + "docs": "https://context7.com/websites/modal/llms.txt?topic=POST%20%2Fsandbox%2Fstatus" + }, + { + "method": "POST", + "path": "/sandbox/terminate", + "description": "Terminate a sandbox", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Terminate a sandbox", + "amount": "100" + }, + "docs": "https://context7.com/websites/modal/llms.txt?topic=POST%20%2Fsandbox%2Fterminate" + } + ] + }, + { + "id": "openai", + "name": "OpenAI", + "url": "https://api.openai.com", + "serviceUrl": "https://openai.mpp.tempo.xyz", + "description": "Chat completions, embeddings, image generation, and audio with model-tier pricing.", + "icon": "https://mpp.tempo.xyz/icons/openai.svg", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "llm", + "gpt-4o", + "dall-e", + "whisper", + "tts", + "embeddings", + "chat" + ], + "status": "active", + "docs": { + "homepage": "https://platform.openai.com/docs", + "llmsTxt": "https://developers.openai.com/api/docs/llms.txt", + "apiReference": "https://platform.openai.com/docs/api-reference" + }, + "methods": { + "tempo": { + "intents": [ + "charge", + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "OpenAI", + "url": "https://openai.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/responses", + "description": "Responses API (Codex, GPT-4o, etc.) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Responses API (Codex, GPT-4o, etc.) - price varies by model", + "dynamic": true + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Fresponses" + }, + { + "method": "POST", + "path": "/v1/chat/completions", + "description": "Chat completions (GPT-4o, GPT-4, o1, etc.) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat completions (GPT-4o, GPT-4, o1, etc.) - price varies by model", + "dynamic": true + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Fchat%2Fcompletions" + }, + { + "method": "POST", + "path": "/v1/embeddings", + "description": "Create embeddings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create embeddings", + "amount": "100" + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Fembeddings" + }, + { + "method": "POST", + "path": "/v1/images/generations", + "description": "Generate images with DALL-E", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate images with DALL-E", + "amount": "50000" + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Fimages%2Fgenerations" + }, + { + "method": "POST", + "path": "/v1/audio/transcriptions", + "description": "Transcribe audio with Whisper", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Transcribe audio with Whisper", + "amount": "10000" + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Faudio%2Ftranscriptions" + }, + { + "method": "POST", + "path": "/v1/audio/speech", + "description": "Text-to-speech", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text-to-speech", + "amount": "20000" + }, + "docs": "https://context7.com/websites/platform_openai/llms.txt?topic=POST%20%2Fv1%2Faudio%2Fspeech" + } + ] + }, + { + "id": "openrouter", + "name": "OpenRouter", + "url": "https://openrouter.ai/api", + "serviceUrl": "https://openrouter.mpp.tempo.xyz", + "description": "Unified API for 100+ LLMs with live per-model pricing.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "unified", + "multi-model", + "chat" + ], + "status": "active", + "docs": { + "homepage": "https://openrouter.ai/docs", + "llmsTxt": "https://openrouter.ai/docs/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "OpenRouter", + "url": "https://openrouter.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/chat/completions", + "description": "Chat completions (GPT-4, Claude, Llama, etc.) - price varies by model", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat completions (GPT-4, Claude, Llama, etc.) - price varies by model", + "dynamic": true + }, + "docs": "https://context7.com/websites/openrouter_ai/llms.txt?topic=POST%20%2Fv1%2Fchat%2Fcompletions" + } + ] + }, + { + "id": "parallel", + "name": "Parallel", + "url": "https://parallelmpp.dev", + "serviceUrl": "https://parallelmpp.dev", + "description": "Web search, page extraction, and multi-hop web research.", + "categories": [ + "search", + "ai" + ], + "integration": "first-party", + "tags": [ + "search", + "web", + "extraction", + "research" + ], + "status": "active", + "docs": { + "homepage": "https://parallelmpp.dev/#agents" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "parallelmpp.dev", + "provider": { + "name": "Parallel", + "url": "https://parallel.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/search", + "description": "Search the web", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search the web", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/extract", + "description": "Extract page content", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extract page content", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/api/task", + "description": "Multi-hop web research task - price varies by processor", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Multi-hop web research task - price varies by processor", + "dynamic": true, + "amountHint": "$0.10 – $0.30" + } + } + ] + }, + { + "id": "alchemy", + "name": "Alchemy", + "url": "https://agents.alchemy.com/", + "serviceUrl": "https://mpp.alchemy.com", + "description": "Blockchain data APIs including Core RPC APIs, Prices API, Portfolio API, and NFT API across 100+ chains.", + "categories": [ + "blockchain", + "data" + ], + "integration": "first-party", + "tags": [ + "rpc", + "json-rpc", + "nft", + "evm", + "multichain" + ], + "status": "active", + "docs": { + "homepage": "https://agents.alchemy.com/s", + "llmsTxt": "https://www.alchemy.com/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "alchemy.com", + "provider": { + "name": "Alchemy", + "url": "https://agents.alchemy.com/" + }, + "endpoints": [ + { + "method": "POST", + "path": "/:network/v2", + "description": "JSON-RPC call (eth_*, alchemy_*)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "JSON-RPC call (eth_*, alchemy_*)", + "amount": "100" + }, + "docs": "https://www.alchemy.com/llms.txt?topic=POST%20%2F%3Anetwork%2Fv2" + }, + { + "method": "GET", + "path": "/:network/nft/v3/:endpoint", + "description": "NFT API v3", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "NFT API v3", + "amount": "500" + }, + "docs": "https://www.alchemy.com/llms.txt?topic=GET%20%2F%3Anetwork%2Fnft%2Fv3%2F%3Aendpoint" + }, + { + "method": "POST", + "path": "/:network/nft/v3/:endpoint", + "description": "NFT API v3", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "NFT API v3", + "amount": "500" + }, + "docs": "https://www.alchemy.com/llms.txt?topic=POST%20%2F%3Anetwork%2Fnft%2Fv3%2F%3Aendpoint" + } + ] + }, + { + "id": "rpc", + "name": "Tempo RPC", + "url": "https://rpc.tempo.xyz", + "serviceUrl": "https://rpc.mpp.tempo.xyz", + "description": "Tempo blockchain JSON-RPC access (mainnet and testnet).", + "categories": [ + "blockchain" + ], + "integration": "first-party", + "tags": [ + "rpc", + "json-rpc", + "evm", + "tempo", + "node" + ], + "status": "active", + "docs": { + "homepage": "https://docs.tempo.xyz", + "llmsTxt": "https://docs.tempo.xyz/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Tempo", + "url": "https://tempo.xyz" + }, + "endpoints": [ + { + "method": "POST", + "path": "/", + "description": "JSON-RPC calls - $0.001 per call", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "JSON-RPC calls - $0.001 per call", + "amount": "1000", + "unitType": "request" + } + } + ] + }, + { + "id": "storage", + "name": "Object Storage", + "url": "https://mpp.tempo.xyz/storage", + "serviceUrl": "https://storage.mpp.tempo.xyz", + "description": "S3/R2-compatible object storage with dynamic per-size pricing.", + "categories": [ + "storage" + ], + "integration": "first-party", + "tags": [ + "s3", + "r2", + "objects", + "blobs", + "files" + ], + "status": "active", + "docs": { + "homepage": "https://developers.cloudflare.com/r2/" + }, + "methods": { + "tempo": { + "intents": [ + "charge", + "session" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Tempo", + "url": "https://tempo.xyz" + }, + "endpoints": [ + { + "method": "GET", + "path": "/:key", + "description": "Download object ($0.001 base + $0.01/MB)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Download object ($0.001 base + $0.01/MB)", + "dynamic": true + } + }, + { + "method": "PUT", + "path": "/:key", + "description": "Upload object ($0.001 base + $0.01/MB, max 100MB)", + "payment": { + "intent": "session", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upload object ($0.001 base + $0.01/MB, max 100MB)", + "dynamic": true + } + }, + { + "method": "DELETE", + "path": "/:key", + "description": "Delete object", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Delete object", + "amount": "100" + } + }, + { + "method": "GET", + "path": "/", + "description": "List objects", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List objects", + "amount": "100" + } + }, + { + "method": "POST", + "path": "/:key", + "description": "Initiate/complete multipart upload", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Initiate/complete multipart upload", + "amount": "100" + } + } + ] + }, + { + "id": "stableemail", + "name": "StableEmail", + "url": "https://stableemail.dev", + "serviceUrl": "https://stableemail.dev", + "description": "Pay-per-send email delivery, forwarding inboxes, and custom subdomains — no API keys or accounts.", + "categories": [ + "social" + ], + "integration": "first-party", + "tags": [ + "email", + "send", + "inbox", + "forwarding", + "subdomain" + ], + "status": "active", + "docs": { + "homepage": "https://stableemail.dev", + "llmsTxt": "https://stableemail.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stableemail.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stableemail.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/send", + "description": "Send email from relay address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Send email from relay address", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/buy", + "description": "Purchase a custom email subdomain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Purchase a custom email subdomain", + "amount": "5000000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/send", + "description": "Send email from custom subdomain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Send email from custom subdomain", + "amount": "5000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/signers", + "description": "Add or remove authorized wallet signers", + "payment": null + }, + { + "method": "POST", + "path": "/api/subdomain/update", + "description": "Update subdomain settings (catch-all forwarding)", + "payment": null + }, + { + "method": "GET", + "path": "/api/subdomain/status", + "description": "Check DNS/SES verification status", + "payment": null + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/create", + "description": "Create inbox on subdomain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create inbox on subdomain", + "amount": "250000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/list", + "description": "List subdomain inboxes", + "payment": null + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/update", + "description": "Update subdomain inbox settings", + "payment": null + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/delete", + "description": "Delete inbox from subdomain", + "payment": null + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/messages", + "description": "List subdomain inbox messages", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List subdomain inbox messages", + "amount": "1000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/messages/read", + "description": "Read a subdomain inbox message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Read a subdomain inbox message", + "amount": "1000" + } + }, + { + "method": "POST", + "path": "/api/subdomain/inbox/messages/delete", + "description": "Delete a subdomain inbox message", + "payment": null + }, + { + "method": "POST", + "path": "/api/inbox/buy", + "description": "Buy a forwarding inbox (30 days)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Buy a forwarding inbox (30 days)", + "amount": "1000000" + } + }, + { + "method": "POST", + "path": "/api/inbox/topup", + "description": "Extend inbox 30 days", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extend inbox 30 days", + "amount": "1000000" + } + }, + { + "method": "POST", + "path": "/api/inbox/topup/quarter", + "description": "Extend inbox 90 days (save 17%)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extend inbox 90 days (save 17%)", + "amount": "2500000" + } + }, + { + "method": "POST", + "path": "/api/inbox/topup/year", + "description": "Extend inbox 365 days (save 34%)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extend inbox 365 days (save 34%)", + "amount": "8000000" + } + }, + { + "method": "POST", + "path": "/api/inbox/send", + "description": "Send email from inbox address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Send email from inbox address", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/api/inbox/status", + "description": "Check inbox status and expiry", + "payment": null + }, + { + "method": "POST", + "path": "/api/inbox/update", + "description": "Update inbox settings", + "payment": null + }, + { + "method": "POST", + "path": "/api/inbox/cancel", + "description": "Cancel inbox and get pro-rata refund", + "payment": null + }, + { + "method": "POST", + "path": "/api/inbox/messages", + "description": "List messages in inbox", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List messages in inbox", + "amount": "1000" + } + }, + { + "method": "POST", + "path": "/api/inbox/messages/read", + "description": "Read a single inbox message", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Read a single inbox message", + "amount": "1000" + } + }, + { + "method": "POST", + "path": "/api/inbox/messages/delete", + "description": "Delete an inbox message", + "payment": null + } + ] + }, + { + "id": "stableenrich", + "name": "StableEnrich", + "url": "https://stableenrich.dev", + "serviceUrl": "https://stableenrich.dev", + "description": "Pay-per-request research APIs — people, companies, web search, scraping, places, social media, and contact enrichment.", + "categories": [ + "data", + "search", + "social" + ], + "integration": "first-party", + "tags": [ + "apollo", + "exa", + "firecrawl", + "google-maps", + "linkedin", + "reddit", + "enrichment", + "research" + ], + "status": "active", + "docs": { + "homepage": "https://stableenrich.dev", + "llmsTxt": "https://stableenrich.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stableenrich.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stableenrich.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/apollo/people-search", + "description": "Find prospects by filters", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find prospects by filters", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/apollo/people-enrich", + "description": "Enrich single person by email/name/domain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Enrich single person by email/name/domain", + "amount": "49500" + } + }, + { + "method": "POST", + "path": "/api/apollo/org-search", + "description": "Find companies by filters", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find companies by filters", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/apollo/org-enrich", + "description": "Enrich single company by domain", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Enrich single company by domain", + "amount": "49500" + } + }, + { + "method": "POST", + "path": "/api/clado/linkedin-scrape", + "description": "Scrape full LinkedIn profile data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape full LinkedIn profile data", + "amount": "40000" + } + }, + { + "method": "POST", + "path": "/api/clado/contacts-enrich", + "description": "Enrich contact info from LinkedIn URL, email, or phone", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Enrich contact info from LinkedIn URL, email, or phone", + "amount": "200000" + } + }, + { + "method": "POST", + "path": "/api/exa/search", + "description": "Neural web search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Neural web search", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/api/exa/find-similar", + "description": "Find pages similar to a URL", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find pages similar to a URL", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/api/exa/contents", + "description": "Extract content from URLs", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extract content from URLs", + "amount": "2000" + } + }, + { + "method": "POST", + "path": "/api/exa/answer", + "description": "AI-generated answers with citations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "AI-generated answers with citations", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/api/firecrawl/scrape", + "description": "Scrape a URL with full JavaScript rendering", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape a URL with full JavaScript rendering", + "amount": "12600" + } + }, + { + "method": "POST", + "path": "/api/firecrawl/search", + "description": "Search the web and get scraped results", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search the web and get scraped results", + "amount": "25200" + } + }, + { + "method": "POST", + "path": "/api/google-maps/text-search/full", + "description": "Text search with full details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text search with full details", + "amount": "80000" + } + }, + { + "method": "POST", + "path": "/api/google-maps/text-search/partial", + "description": "Text search with basic details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text search with basic details", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/google-maps/nearby-search/full", + "description": "Nearby search with full details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nearby search with full details", + "amount": "80000" + } + }, + { + "method": "POST", + "path": "/api/google-maps/nearby-search/partial", + "description": "Nearby search with basic details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nearby search with basic details", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/api/google-maps/place-details/full", + "description": "Full place details by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Full place details by ID", + "amount": "50000" + } + }, + { + "method": "GET", + "path": "/api/google-maps/place-details/partial", + "description": "Partial place details by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Partial place details by ID", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/serper/news", + "description": "Google News search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Google News search", + "amount": "40000" + } + }, + { + "method": "POST", + "path": "/api/serper/shopping", + "description": "Google Shopping search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Google Shopping search", + "amount": "40000" + } + }, + { + "method": "POST", + "path": "/api/reddit/search", + "description": "Search Reddit posts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Reddit posts", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/reddit/post-comments", + "description": "Get post details and comments", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get post details and comments", + "amount": "20000" + } + }, + { + "method": "POST", + "path": "/api/whitepages/person-search", + "description": "Search for people by name, phone, or address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search for people by name, phone, or address", + "amount": "440000" + } + }, + { + "method": "POST", + "path": "/api/whitepages/property-search", + "description": "Property ownership and resident details by address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Property ownership and resident details by address", + "amount": "440000" + } + }, + { + "method": "POST", + "path": "/api/hunter/email-verifier", + "description": "Verify email deliverability", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Verify email deliverability", + "amount": "30000" + } + }, + { + "method": "POST", + "path": "/api/influencer/enrich-by-email", + "description": "Find social profiles by email", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find social profiles by email", + "amount": "400000" + } + }, + { + "method": "POST", + "path": "/api/influencer/enrich-by-social", + "description": "Enrich social media profile with contact info", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Enrich social media profile with contact info", + "amount": "400000" + } + } + ] + }, + { + "id": "stabletravel", + "name": "StableTravel", + "url": "https://stabletravel.dev", + "serviceUrl": "https://stabletravel.dev", + "description": "Pay-per-request travel APIs — flights, hotels, activities, transfers, and real-time flight tracking. Powered by Amadeus and FlightAware.", + "categories": [ + "data", + "web" + ], + "integration": "first-party", + "tags": [ + "amadeus", + "flightaware", + "flights", + "hotels", + "activities", + "transfers", + "travel" + ], + "status": "active", + "docs": { + "homepage": "https://stabletravel.dev", + "llmsTxt": "https://stabletravel.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stabletravel.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stabletravel.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/flights/search", + "description": "Search flight offers (advanced multi-city)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search flight offers (advanced multi-city)", + "amount": "54000" + } + }, + { + "method": "POST", + "path": "/api/flights/price", + "description": "Confirm pricing for a flight offer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Confirm pricing for a flight offer", + "amount": "32400" + } + }, + { + "method": "POST", + "path": "/api/flights/book", + "description": "Book a flight (create flight order)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Book a flight (create flight order)", + "amount": "86400" + } + }, + { + "method": "GET", + "path": "/api/flights/orders", + "description": "Retrieve a flight order by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Retrieve a flight order by ID", + "amount": "5400" + } + }, + { + "method": "POST", + "path": "/api/flights/orders/cancel", + "description": "Cancel a flight order", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Cancel a flight order", + "amount": "5400" + } + }, + { + "method": "POST", + "path": "/api/flights/seatmap", + "description": "Get seat maps for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get seat maps for a flight", + "amount": "32400" + } + }, + { + "method": "POST", + "path": "/api/flights/upsell", + "description": "Get upsell offers for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get upsell offers for a flight", + "amount": "32400" + } + }, + { + "method": "POST", + "path": "/api/flights/availability", + "description": "Check flight availability", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Check flight availability", + "amount": "32400" + } + }, + { + "method": "GET", + "path": "/api/flights/status", + "description": "Get flight status by carrier, number, and date", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get flight status by carrier, number, and date", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/flights/checkin-links", + "description": "Get airline check-in page URLs", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get airline check-in page URLs", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/hotels/list", + "description": "List hotels by city code", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List hotels by city code", + "amount": "32400" + } + }, + { + "method": "GET", + "path": "/api/hotels/list/by-geocode", + "description": "List hotels by latitude/longitude", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List hotels by latitude/longitude", + "amount": "32400" + } + }, + { + "method": "GET", + "path": "/api/hotels/search", + "description": "Search hotel offers by hotel IDs", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search hotel offers by hotel IDs", + "amount": "32400" + } + }, + { + "method": "GET", + "path": "/api/hotels/search/by-hotel", + "description": "Search offers for a specific hotel", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search offers for a specific hotel", + "amount": "32400" + } + }, + { + "method": "GET", + "path": "/api/hotels/offer", + "description": "Get details for a specific hotel offer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get details for a specific hotel offer", + "amount": "32400" + } + }, + { + "method": "POST", + "path": "/api/hotels/book", + "description": "Book a hotel offer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Book a hotel offer", + "amount": "2160" + } + }, + { + "method": "GET", + "path": "/api/hotels/autocomplete", + "description": "Autocomplete hotel names", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Autocomplete hotel names", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/activities/search", + "description": "Search tours & activities by lat/lng", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search tours & activities by lat/lng", + "amount": "54000" + } + }, + { + "method": "GET", + "path": "/api/activities/by-square", + "description": "Search activities within a geographic square", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search activities within a geographic square", + "amount": "54000" + } + }, + { + "method": "GET", + "path": "/api/activities/details", + "description": "Get activity details by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get activity details by ID", + "amount": "54000" + } + }, + { + "method": "POST", + "path": "/api/transfers/search", + "description": "Search airport transfer options", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search airport transfer options", + "amount": "3240" + } + }, + { + "method": "POST", + "path": "/api/transfers/book", + "description": "Book a transfer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Book a transfer", + "amount": "2160" + } + }, + { + "method": "POST", + "path": "/api/transfers/cancel", + "description": "Cancel a transfer booking", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Cancel a transfer booking", + "amount": "2160" + } + }, + { + "method": "GET", + "path": "/api/reference/locations", + "description": "Search locations (airports, cities) by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search locations (airports, cities) by keyword", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/reference/airports", + "description": "Find nearby airports by latitude/longitude", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find nearby airports by latitude/longitude", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/reference/airlines", + "description": "Look up airline by IATA code", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Look up airline by IATA code", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/reference/airline-routes", + "description": "Get routes for an airline from an airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get routes for an airline from an airport", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/reference/airport-routes", + "description": "Get direct destinations from an airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get direct destinations from an airport", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/reference/cities", + "description": "Search cities by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search cities by keyword", + "amount": "5400" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/search", + "description": "Search flights by query string", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search flights by query string", + "amount": "100000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/search/positions", + "description": "Search flights with position data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search flights with position data", + "amount": "100000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/search/count", + "description": "Get count of flights matching a search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get count of flights matching a search", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/search/advanced", + "description": "Advanced flight search with complex query syntax", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Advanced flight search with complex query syntax", + "amount": "100000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id", + "description": "Get flights by ident (flight number, registration)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get flights by ident (flight number, registration)", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id/canonical", + "description": "Get canonical ident for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get canonical ident for a flight", + "amount": "2000" + } + }, + { + "method": "POST", + "path": "/api/flightaware/flights/:id/intents", + "description": "Set flight intent for push notifications", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Set flight intent for push notifications", + "amount": "1000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id/position", + "description": "Get latest position for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get latest position for a flight", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id/track", + "description": "Get full track/positions for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get full track/positions for a flight", + "amount": "24000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id/route-info", + "description": "Get route info (fixes, waypoints) for a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get route info (fixes, waypoints) for a flight", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/flights/:id/map", + "description": "Get flight track map image (PNG)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get flight track map image (PNG)", + "amount": "60000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports", + "description": "List all airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List all airports", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/nearby", + "description": "Find airports near a lat/lng", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find airports near a lat/lng", + "amount": "8000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/delays", + "description": "Get all airport delay information", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get all airport delay information", + "amount": "100000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id", + "description": "Get airport info by code", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get airport info by code", + "amount": "30000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/canonical", + "description": "Get canonical airport code", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get canonical airport code", + "amount": "2000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/nearby", + "description": "Find airports near a specific airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find airports near a specific airport", + "amount": "8000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/delays", + "description": "Get delays for a specific airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get delays for a specific airport", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights", + "description": "Get all flights at an airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get all flights at an airport", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/arrivals", + "description": "Get arrivals at an airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get arrivals at an airport", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/departures", + "description": "Get departures from an airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get departures from an airport", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/scheduled-departures", + "description": "Get scheduled departures", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get scheduled departures", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/scheduled-arrivals", + "description": "Get scheduled arrivals", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get scheduled arrivals", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/to/:dest_id", + "description": "Get flights between two airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get flights between two airports", + "amount": "100000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/flights/counts", + "description": "Get flight count statistics", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get flight count statistics", + "amount": "200000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/weather/observations", + "description": "Get METAR weather observations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get METAR weather observations", + "amount": "4000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/weather/forecast", + "description": "Get TAF weather forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TAF weather forecast", + "amount": "4000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/airports/:id/routes/:dest_id", + "description": "Get route info between airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get route info between airports", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/flights/:id", + "description": "Get historical flights by ident", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flights by ident", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/flights/:id/track", + "description": "Get historical flight track", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flight track", + "amount": "120000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/flights/:id/map", + "description": "Get historical flight map image (PNG)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flight map image (PNG)", + "amount": "280000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/flights/:id/route-info", + "description": "Get historical flight route info", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flight route info", + "amount": "80000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/airports/:id/flights/arrivals", + "description": "Get historical arrivals at airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical arrivals at airport", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/airports/:id/flights/departures", + "description": "Get historical departures from airport", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical departures from airport", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/airports/:id/flights/to/:dest_id", + "description": "Get historical flights between airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flights between airports", + "amount": "240000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/aircraft/:registration/last-flight", + "description": "Get last flight for an aircraft", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get last flight for an aircraft", + "amount": "400000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/history/operators/:id/flights", + "description": "Get historical flights by operator", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get historical flights by operator", + "amount": "40000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/disruption-counts/:entity_type", + "description": "Get disruption stats by entity type", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get disruption stats by entity type", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/api/flightaware/disruption-counts/:entity_type/:id", + "description": "Get disruption stats for a specific entity", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get disruption stats for a specific entity", + "amount": "10000" + } + } + ] + }, + { + "id": "stablephone", + "name": "StablePhone", + "url": "https://stablephone.dev", + "serviceUrl": "https://stablephone.dev", + "description": "AI phone calls, dedicated phone numbers, and iMessage/FaceTime lookup — pay per request.", + "categories": [ + "ai", + "social" + ], + "integration": "first-party", + "tags": [ + "phone", + "call", + "voice", + "ai-call", + "imessage" + ], + "status": "active", + "docs": { + "homepage": "https://stablephone.dev", + "llmsTxt": "https://stablephone.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stablephone.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stablephone.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/call", + "description": "Make an AI phone call", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Make an AI phone call", + "amount": "540000" + } + }, + { + "method": "GET", + "path": "/api/call/:id", + "description": "Get call status and transcript", + "payment": null + }, + { + "method": "POST", + "path": "/api/number", + "description": "Buy a phone number (30 days)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Buy a phone number (30 days)", + "amount": "20000000" + } + }, + { + "method": "POST", + "path": "/api/number/topup", + "description": "Extend a phone number 30 days", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extend a phone number 30 days", + "amount": "15000000" + } + }, + { + "method": "GET", + "path": "/api/numbers", + "description": "List your phone numbers", + "payment": null + }, + { + "method": "POST", + "path": "/api/lookup", + "description": "iMessage/FaceTime lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "iMessage/FaceTime lookup", + "amount": "50000" + } + }, + { + "method": "GET", + "path": "/api/lookup/status", + "description": "Poll lookup results", + "payment": null + } + ] + }, + { + "id": "stablesocial", + "name": "StableSocial", + "url": "https://stablesocial.dev", + "serviceUrl": "https://stablesocial.dev", + "description": "Pay-per-request social media data from TikTok, Instagram, Facebook, and Reddit.", + "categories": [ + "social", + "data" + ], + "integration": "first-party", + "tags": [ + "tiktok", + "instagram", + "facebook", + "reddit", + "scraping", + "social" + ], + "status": "active", + "docs": { + "homepage": "https://stablesocial.dev", + "llmsTxt": "https://stablesocial.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stablesocial.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stablesocial.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/tiktok/profile", + "description": "Get TikTok user profile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok user profile", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/posts", + "description": "Get TikTok user posts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok user posts", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/post-comments", + "description": "Get TikTok video comments", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok video comments", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/comment-replies", + "description": "Get TikTok comment replies", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok comment replies", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/followers", + "description": "Get TikTok followers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok followers", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/following", + "description": "Get TikTok following", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get TikTok following", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/search", + "description": "Search TikTok posts by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search TikTok posts by keyword", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/search-hashtag", + "description": "Search TikTok by hashtag", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search TikTok by hashtag", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/search-profiles", + "description": "Search TikTok user profiles", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search TikTok user profiles", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/tiktok/search-music", + "description": "Search TikTok posts by sound", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search TikTok posts by sound", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/profile", + "description": "Get Instagram user profile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram user profile", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/posts", + "description": "Get Instagram user posts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram user posts", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/post-comments", + "description": "Get Instagram post comments", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram post comments", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/comment-replies", + "description": "Get Instagram comment replies", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram comment replies", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/followers", + "description": "Get Instagram followers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram followers", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/following", + "description": "Get Instagram following", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram following", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/stories", + "description": "Get Instagram user stories", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram user stories", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/highlights", + "description": "Get Instagram user highlights", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Instagram user highlights", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/search", + "description": "Search Instagram posts by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Instagram posts by keyword", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/instagram/search-tags", + "description": "Search Instagram by tag", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Instagram by tag", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/profile", + "description": "Get Facebook page/user profile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook page/user profile", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/posts", + "description": "Get Facebook page/user posts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook page/user posts", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/post-comments", + "description": "Get Facebook post comments", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook post comments", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/comment-replies", + "description": "Get Facebook comment replies", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook comment replies", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/followers", + "description": "Get Facebook followers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook followers", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/following", + "description": "Get Facebook following", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Facebook following", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/search", + "description": "Search Facebook posts by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Facebook posts by keyword", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/search-people", + "description": "Search Facebook people profiles", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Facebook people profiles", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/search-pages", + "description": "Search Facebook page profiles", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Facebook page profiles", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/facebook/search-groups", + "description": "Search Facebook group profiles", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Facebook group profiles", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/post", + "description": "Get Reddit post details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Reddit post details", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/post-comments", + "description": "Get Reddit post comments", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Reddit post comments", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/comment", + "description": "Get Reddit comment details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Reddit comment details", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/search", + "description": "Search Reddit posts by keyword", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Reddit posts by keyword", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/search-profiles", + "description": "Search Reddit user profiles", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Reddit user profiles", + "amount": "60000" + } + }, + { + "method": "POST", + "path": "/api/reddit/subreddit", + "description": "Get subreddit posts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get subreddit posts", + "amount": "60000" + } + }, + { + "method": "GET", + "path": "/api/jobs", + "description": "Poll job status and retrieve results", + "payment": null + } + ] + }, + { + "id": "stablestudio", + "name": "StableStudio", + "url": "https://stablestudio.dev", + "serviceUrl": "https://stablestudio.dev", + "description": "Pay-per-generation AI image and video creation — Nano Banana, GPT Image, Grok, Flux, Sora, Veo, Seedance, and Wan.", + "categories": [ + "ai", + "media" + ], + "integration": "first-party", + "tags": [ + "image", + "video", + "generation", + "nano-banana", + "gpt-image", + "grok", + "flux", + "sora", + "veo", + "seedance", + "wan" + ], + "status": "active", + "docs": { + "homepage": "https://stablestudio.dev", + "llmsTxt": "https://stablestudio.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stablestudio.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stablestudio.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/generate/nano-banana/generate", + "description": "Nano Banana image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nano Banana image generation", + "amount": "39000" + } + }, + { + "method": "POST", + "path": "/api/generate/nano-banana/edit", + "description": "Nano Banana image editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nano Banana image editing", + "amount": "39000" + } + }, + { + "method": "POST", + "path": "/api/generate/nano-banana-pro/generate", + "description": "Nano Banana Pro image generation (up to 4K)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nano Banana Pro image generation (up to 4K)", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/nano-banana-pro/edit", + "description": "Nano Banana Pro image editing (up to 4K)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nano Banana Pro image editing (up to 4K)", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/grok/generate", + "description": "Grok image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok image generation", + "amount": "70000" + } + }, + { + "method": "POST", + "path": "/api/generate/grok/edit", + "description": "Grok image editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok image editing", + "amount": "22000" + } + }, + { + "method": "POST", + "path": "/api/generate/grok-video/generate", + "description": "Grok video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Grok video generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/gpt-image-1/generate", + "description": "GPT Image 1 generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GPT Image 1 generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/gpt-image-1/edit", + "description": "GPT Image 1 editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GPT Image 1 editing", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/gpt-image-1.5/generate", + "description": "GPT Image 1.5 generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GPT Image 1.5 generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/gpt-image-1.5/edit", + "description": "GPT Image 1.5 editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GPT Image 1.5 editing", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/flux-2-pro/generate", + "description": "Flux 2 Pro image generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flux 2 Pro image generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/flux-2-pro/edit", + "description": "Flux 2 Pro image editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flux 2 Pro image editing", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/seedance/t2v", + "description": "Seedance text-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Seedance text-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/seedance/i2v", + "description": "Seedance image-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Seedance image-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/seedance-fast/t2v", + "description": "Seedance Fast text-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Seedance Fast text-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/seedance-fast/i2v", + "description": "Seedance Fast image-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Seedance Fast image-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/wan-2.6/t2v", + "description": "Wan 2.6 text-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Wan 2.6 text-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/wan-2.6/i2v", + "description": "Wan 2.6 image-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Wan 2.6 image-to-video", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/sora-2/generate", + "description": "Sora 2 video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sora 2 video generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/sora-2-pro/generate", + "description": "Sora 2 Pro video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sora 2 Pro video generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/veo-3.1/generate", + "description": "Veo 3.1 video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Veo 3.1 video generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/generate/veo-3.1-fast/generate", + "description": "Veo 3.1 Fast video generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Veo 3.1 Fast video generation", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/upload", + "description": "Upload image for editing or image-to-video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upload image for editing or image-to-video", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/api/upload/confirm", + "description": "Confirm uploaded file", + "payment": null + }, + { + "method": "GET", + "path": "/api/jobs/:jobId", + "description": "Poll job status and retrieve results", + "payment": null + }, + { + "method": "GET", + "path": "/api/jobs", + "description": "List jobs", + "payment": null + }, + { + "method": "DELETE", + "path": "/api/jobs/:jobId", + "description": "Delete a failed job", + "payment": null + } + ] + }, + { + "id": "stableupload", + "name": "StableUpload", + "url": "https://stableupload.dev", + "serviceUrl": "https://stableupload.dev", + "description": "Pay-per-upload file hosting and static site hosting with custom domains — 6 month TTL.", + "categories": [ + "storage" + ], + "integration": "first-party", + "tags": [ + "upload", + "files", + "hosting", + "static-site", + "cdn" + ], + "status": "active", + "docs": { + "homepage": "https://stableupload.dev", + "llmsTxt": "https://stableupload.dev/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stableupload.dev", + "provider": { + "name": "Merit Systems", + "url": "https://stableupload.dev" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/upload", + "description": "Buy an upload slot (10MB $0.02, 100MB $0.20, 1GB $2.00)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Buy an upload slot (10MB $0.02, 100MB $0.20, 1GB $2.00)", + "dynamic": true + } + }, + { + "method": "GET", + "path": "/api/uploads", + "description": "List uploads for authenticated wallet", + "payment": null + }, + { + "method": "GET", + "path": "/api/download/:uploadId", + "description": "Get upload details by ID", + "payment": null + }, + { + "method": "POST", + "path": "/api/site", + "description": "Buy a site upload slot for zip hosting", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Buy a site upload slot for zip hosting", + "dynamic": true + } + }, + { + "method": "POST", + "path": "/api/site/activate", + "description": "Extract zip and make site live", + "payment": null + }, + { + "method": "POST", + "path": "/api/site/domain", + "description": "Connect a custom domain to a site", + "payment": null + }, + { + "method": "GET", + "path": "/api/site/domain/status", + "description": "Check TLS provisioning status", + "payment": null + } + ] + }, + { + "id": "aviationstack", + "name": "AviationStack", + "url": "https://api.aviationstack.com", + "serviceUrl": "https://aviationstack.mpp.tempo.xyz", + "description": "Real-time and historical flight tracking, airports, airlines, and schedules.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "flights", + "aviation", + "tracking", + "airports", + "airlines" + ], + "status": "active", + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "AviationStack", + "url": "https://aviationstack.com" + }, + "endpoints": [ + { + "method": "GET", + "path": "/v1/aircraft_types", + "description": "Aircraft types lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Aircraft types lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/airlines", + "description": "Airlines lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airlines lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/airplanes", + "description": "Airplanes lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airplanes lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/airports", + "description": "Airports lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airports lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/cities", + "description": "Cities lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Cities lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/countries", + "description": "Countries lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Countries lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/flights", + "description": "Real-time flights", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Real-time flights", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/flightsFuture", + "description": "Future flight schedules", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Future flight schedules", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/routes", + "description": "Routes lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Routes lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/taxes", + "description": "Aviation taxes lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Aviation taxes lookup", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v1/timetable", + "description": "Flight schedules", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight schedules", + "amount": "5000" + } + } + ] + }, + { + "id": "codestorage", + "name": "Code Storage", + "url": "https://code.storage", + "serviceUrl": "https://codestorage.mpp.tempo.xyz", + "description": "Paid Git repository creation — create repos and get authenticated clone URLs.", + "categories": [ + "storage" + ], + "integration": "third-party", + "tags": [ + "git", + "repos", + "code", + "storage" + ], + "status": "active", + "docs": { + "llmsTxt": "https://code.storage/docs/llms.txt" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Code Storage", + "url": "https://code.storage" + }, + "endpoints": [ + { + "method": "GET", + "path": "/repos/:id", + "description": "Get clone URL for a repository", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get clone URL for a repository", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/repos", + "description": "Create a Git repository", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create a Git repository", + "amount": "1000000" + } + } + ] + }, + { + "id": "flightapi", + "name": "FlightAPI", + "url": "https://api.flightapi.io", + "serviceUrl": "https://flightapi.mpp.tempo.xyz", + "description": "Real-time flight prices, tracking, and airport schedules from 700+ airlines.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "flights", + "prices", + "tracking", + "airports", + "airlines" + ], + "status": "active", + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "FlightAPI", + "url": "https://flightapi.io" + }, + "endpoints": [ + { + "method": "GET", + "path": "/airline/:rest*", + "description": "Track a flight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Track a flight", + "amount": "2000" + } + }, + { + "method": "GET", + "path": "/iata/:rest*", + "description": "Airline/airport code lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airline/airport code lookup", + "amount": "2000" + } + }, + { + "method": "GET", + "path": "/multitrip/:rest*", + "description": "Multi-city flight price search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Multi-city flight price search", + "amount": "8000" + } + }, + { + "method": "GET", + "path": "/onewaytrip/:rest*", + "description": "One-way flight price search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "One-way flight price search", + "amount": "3000" + } + }, + { + "method": "GET", + "path": "/roundtrip/:rest*", + "description": "Round-trip flight price search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Round-trip flight price search", + "amount": "3000" + } + }, + { + "method": "GET", + "path": "/schedule/:rest*", + "description": "Airport schedule", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airport schedule", + "amount": "3000" + } + }, + { + "method": "GET", + "path": "/trackbyroute/:rest*", + "description": "Track flights between airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Track flights between airports", + "amount": "2000" + } + } + ] + }, + { + "id": "goflightlabs", + "name": "GoFlightLabs", + "url": "https://goflightlabs.com", + "serviceUrl": "https://goflightlabs.mpp.tempo.xyz", + "description": "Real-time flight tracking, prices, schedules, and airline data.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "flights", + "tracking", + "prices", + "airlines", + "airports" + ], + "status": "active", + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "GoFlightLabs", + "url": "https://goflightlabs.com" + }, + "endpoints": [ + { + "method": "GET", + "path": "/airports-by-filters", + "description": "Airports by filter", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airports by filter", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flight-data-by-date", + "description": "Flight data by date", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight data by date", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flight-delay", + "description": "Flight delay info", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight delay info", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flight-info-by-flight-number", + "description": "Flight info by number", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight info by number", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flight-prices", + "description": "Flight price search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight price search", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/flights", + "description": "Real-time flights", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Real-time flights", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flights-airline", + "description": "Flights by airline", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flights by airline", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flights-callsign", + "description": "Flights by callsign", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flights by callsign", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flights-history", + "description": "Historical flights", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Historical flights", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/flights-schedules", + "description": "Flight schedules", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Flight schedules", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/future-flights", + "description": "Future flight predictions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Future flight predictions", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/retrieve-airlines", + "description": "Retrieve airlines", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Retrieve airlines", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/retrieve-airports", + "description": "Retrieve airports", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Retrieve airports", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/retrieve-countries", + "description": "Retrieve countries", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Retrieve countries", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/retrieve-routes", + "description": "Airline routes", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Airline routes", + "amount": "5000" + } + } + ] + }, + { + "id": "oxylabs", + "name": "Oxylabs", + "url": "https://realtime.oxylabs.io", + "serviceUrl": "https://oxylabs.mpp.tempo.xyz", + "description": "Web scraping API with geo-targeting by country, state, and city. Fetch any public URL with JavaScript rendering support.", + "categories": [ + "web", + "data" + ], + "integration": "third-party", + "tags": [ + "scraping", + "web-scraping", + "geo-targeting", + "data-extraction" + ], + "status": "active", + "docs": { + "apiReference": "https://developers.oxylabs.io/scraper-apis/web-scraper-api" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Oxylabs", + "url": "https://oxylabs.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/v1/proxy", + "description": "Scrape a public URL with optional geo-targeting and JS rendering", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape a public URL with optional geo-targeting and JS rendering", + "dynamic": true + } + } + ] + }, + { + "id": "spyfu", + "name": "SpyFu", + "url": "https://api.spyfu.com", + "serviceUrl": "https://spyfu.mpp.tempo.xyz", + "description": "Competitor keyword research — SEO rankings, PPC ads, ad history, and domain analytics. 18+ years of historical data.", + "categories": [ + "data", + "search" + ], + "integration": "third-party", + "tags": [ + "seo", + "ppc", + "keyword-research", + "competitor-analysis", + "ads" + ], + "status": "active", + "docs": { + "homepage": "https://developer.spyfu.com", + "apiReference": "https://developer.spyfu.com" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "SpyFu", + "url": "https://spyfu.com" + }, + "endpoints": [ + { + "method": "GET", + "path": "/apis/domain_stats_api/v2/*", + "description": "Domain stats lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Domain stats lookup", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/apis/serp_api/v2/seo/*", + "description": "SEO keyword research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "SEO keyword research", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/apis/serp_api/v2/ppc/*", + "description": "PPC keyword research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "PPC keyword research", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/apis/keyword_api/v2/ppc/*", + "description": "PPC keyword research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "PPC keyword research", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/apis/cloud_ad_history_api/v2/*", + "description": "Ad history research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Ad history research", + "amount": "30000" + } + }, + { + "method": "GET", + "path": "/apis/competitors_api/v2/*", + "description": "Competitor analysis", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Competitor analysis", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/apis/keyword_api/v2/kombat/*", + "description": "Keyword overlap analysis", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Keyword overlap analysis", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/apis/keyword_api/v2/related/*", + "description": "Keyword research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Keyword research", + "amount": "20000" + } + }, + { + "method": "GET", + "path": "/apis/organic_history_api/v2/*", + "description": "Ranking history research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Ranking history research", + "amount": "30000" + } + } + ] + }, + { + "id": "serpapi", + "name": "SerpApi", + "url": "https://serpapi.com", + "serviceUrl": "https://serpapi.mpp.tempo.xyz", + "description": "Google Flights search — real-time prices, schedules, and booking options.", + "categories": [ + "search", + "data" + ], + "integration": "third-party", + "tags": [ + "search", + "flights", + "google", + "prices" + ], + "status": "active", + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "SerpApi", + "url": "https://serpapi.com" + }, + "endpoints": [ + { + "method": "GET", + "path": "/search", + "description": "Google Flights search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Google Flights search", + "amount": "15000" + } + } + ] + }, + { + "id": "googlemaps", + "name": "Google Maps", + "url": "https://maps.googleapis.com", + "serviceUrl": "https://googlemaps.mpp.tempo.xyz", + "description": "Google Maps Platform — geocoding, directions, places, routes, tiles, weather, air quality, and more.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "maps", + "google", + "geocoding", + "directions", + "places", + "routes", + "tiles", + "weather", + "air-quality", + "solar", + "roads", + "pollen", + "geolocation", + "aerial", + "validation" + ], + "status": "active", + "docs": { + "homepage": "https://developers.google.com/maps", + "apiReference": "https://developers.google.com/maps/documentation" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "Google", + "url": "https://developers.google.com/maps" + }, + "endpoints": [ + { + "method": "GET", + "path": "/maps/geocode/json", + "description": "Geocode an address or reverse-geocode coordinates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Geocode an address or reverse-geocode coordinates", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/maps/directions/json", + "description": "Get directions between locations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get directions between locations", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/maps/distancematrix/json", + "description": "Travel time and distance for origin-destination pairs", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Travel time and distance for origin-destination pairs", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/maps/elevation/json", + "description": "Get elevation for locations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get elevation for locations", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/maps/timezone/json", + "description": "Get time zone for coordinates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get time zone for coordinates", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/maps/staticmap", + "description": "Generate a static map image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate a static map image", + "amount": "2000" + } + }, + { + "method": "GET", + "path": "/maps/streetview", + "description": "Get a static Street View image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a static Street View image", + "amount": "7000" + } + }, + { + "method": "GET", + "path": "/maps/streetview/metadata", + "description": "Get Street View metadata", + "payment": null + }, + { + "method": "GET", + "path": "/maps/place/textsearch/json", + "description": "Search places by text query", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search places by text query", + "amount": "32000" + } + }, + { + "method": "GET", + "path": "/maps/place/nearbysearch/json", + "description": "Search nearby places", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search nearby places", + "amount": "32000" + } + }, + { + "method": "GET", + "path": "/maps/place/details/json", + "description": "Get place details", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get place details", + "amount": "17000" + } + }, + { + "method": "GET", + "path": "/maps/place/findplacefromtext/json", + "description": "Find a place from text", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find a place from text", + "amount": "17000" + } + }, + { + "method": "GET", + "path": "/maps/place/autocomplete/json", + "description": "Place autocomplete suggestions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Place autocomplete suggestions", + "amount": "2830" + } + }, + { + "method": "GET", + "path": "/maps/place/queryautocomplete/json", + "description": "Query autocomplete suggestions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Query autocomplete suggestions", + "amount": "2830" + } + }, + { + "method": "GET", + "path": "/maps/place/photo", + "description": "Get a place photo", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a place photo", + "amount": "7000" + } + }, + { + "method": "POST", + "path": "/routes/directions/v2:computeRoutes", + "description": "Compute routes between locations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Compute routes between locations", + "amount": "5000" + } + }, + { + "method": "POST", + "path": "/routes/distanceMatrix/v2:computeRouteMatrix", + "description": "Compute distance matrix", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Compute distance matrix", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/places/v1/places/:id", + "description": "Get place details (essentials)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get place details (essentials)", + "amount": "5000" + } + }, + { + "method": "POST", + "path": "/places/v1/places:searchText", + "description": "Text search for places", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text search for places", + "amount": "32000" + } + }, + { + "method": "POST", + "path": "/places/v1/places:searchNearby", + "description": "Nearby search for places", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Nearby search for places", + "amount": "32000" + } + }, + { + "method": "POST", + "path": "/places/v1/places:autocomplete", + "description": "Place autocomplete", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Place autocomplete", + "amount": "2830" + } + }, + { + "method": "GET", + "path": "/places/v1/places/:id/photos/:photoId/media", + "description": "Get a place photo", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a place photo", + "amount": "7000" + } + }, + { + "method": "GET", + "path": "/tiles/v1/2dtiles/:z/:x/:y", + "description": "Get a 2D map tile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a 2D map tile", + "amount": "600" + } + }, + { + "method": "GET", + "path": "/tiles/v1/streetview/tiles/:panoId/:z/:x/:y", + "description": "Get a Street View tile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a Street View tile", + "amount": "2000" + } + }, + { + "method": "GET", + "path": "/tiles/v1/3dtiles/root.json", + "description": "Get 3D tiles root", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get 3D tiles root", + "amount": "6000" + } + }, + { + "method": "GET", + "path": "/tiles/v1/createSession", + "description": "Create a tile session", + "payment": null + }, + { + "method": "GET", + "path": "/roads/v1/nearestRoads", + "description": "Find nearest roads to coordinates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Find nearest roads to coordinates", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/roads/v1/snapToRoads", + "description": "Snap GPS coordinates to roads", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Snap GPS coordinates to roads", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/validation/v1:validateAddress", + "description": "Validate a postal address", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Validate a postal address", + "amount": "17000" + } + }, + { + "method": "POST", + "path": "/validation/v1:provideValidationFeedback", + "description": "Provide validation feedback", + "payment": null + }, + { + "method": "GET", + "path": "/solar/v1/buildingInsights:findClosest", + "description": "Get building solar insights", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get building solar insights", + "amount": "10000" + } + }, + { + "method": "GET", + "path": "/solar/v1/dataLayers:get", + "description": "Get solar data layers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get solar data layers", + "amount": "75000" + } + }, + { + "method": "GET", + "path": "/aerialview/v1/videos:lookupVideo", + "description": "Look up an aerial view video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Look up an aerial view video", + "amount": "16000" + } + }, + { + "method": "POST", + "path": "/aerialview/v1/videos:renderVideo", + "description": "Render an aerial view video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Render an aerial view video", + "amount": "16000" + } + }, + { + "method": "GET", + "path": "/aerialview/v1/videos:lookupVideoMetadata", + "description": "Look up video metadata", + "payment": null + }, + { + "method": "POST", + "path": "/airquality/v1/currentConditions:lookup", + "description": "Get current air quality conditions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get current air quality conditions", + "amount": "5000" + } + }, + { + "method": "POST", + "path": "/airquality/v1/history:lookup", + "description": "Get air quality history", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get air quality history", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/pollen/v1/forecast:lookup", + "description": "Get pollen forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get pollen forecast", + "amount": "10000" + } + }, + { + "method": "POST", + "path": "/geolocation/geolocation/v1/geolocate", + "description": "Geolocate a device", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Geolocate a device", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/weather/v1/currentConditions:lookup", + "description": "Get current weather conditions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get current weather conditions", + "amount": "150" + } + }, + { + "method": "GET", + "path": "/weather/v1/forecast/hours:lookup", + "description": "Get hourly weather forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get hourly weather forecast", + "amount": "150" + } + }, + { + "method": "GET", + "path": "/weather/v1/forecast/days:lookup", + "description": "Get daily weather forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get daily weather forecast", + "amount": "150" + } + }, + { + "method": "GET", + "path": "/weather/v1/history/hours:lookup", + "description": "Get hourly weather history", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get hourly weather history", + "amount": "150" + } + } + ] + }, + { + "id": "kicksdb", + "name": "KicksDB", + "url": "https://api.kicks.dev", + "serviceUrl": "https://kicksdb.mpp.tempo.xyz", + "description": "Sneaker & streetwear market data — prices, sales history, and availability from StockX, GOAT, and more.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "sneakers", + "streetwear", + "prices", + "stockx", + "goat" + ], + "status": "active", + "docs": { + "homepage": "https://kicks.dev", + "llmsTxt": "https://docs.kicks.dev/llms.txt", + "apiReference": "https://docs.kicks.dev" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "KicksDB", + "url": "https://kicks.dev" + }, + "endpoints": [ + { + "method": "GET", + "path": "/v3/stockx/products", + "description": "Search StockX products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search StockX products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/stockx/products/:id", + "description": "Get a StockX product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a StockX product", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/stockx/products/:id/sales", + "description": "StockX sales history", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX sales history", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/stockx/products/:id/sales/daily", + "description": "StockX daily sales data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX daily sales data", + "amount": "500" + } + }, + { + "method": "POST", + "path": "/v3/stockx/prices", + "description": "StockX batch prices", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX batch prices", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/goat/products", + "description": "Search GOAT products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search GOAT products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/goat/products/:id", + "description": "Get a GOAT product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a GOAT product", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/goat/products/:id/sales", + "description": "GOAT sales history", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GOAT sales history", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/goat/products/:id/sales/daily", + "description": "GOAT daily sales data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GOAT daily sales data", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/shopify/products", + "description": "Search Shopify products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Shopify products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/shopify/products/:id", + "description": "Get a Shopify product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a Shopify product", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/shopify/shops", + "description": "List Shopify shops", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Shopify shops", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/snkrs/products", + "description": "Search SNKRS products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search SNKRS products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/kream/products", + "description": "Search Kream products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Kream products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/kream/products/:id", + "description": "Get a Kream product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a Kream product", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/novelship/products", + "description": "Search Novelship products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Novelship products", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/unified/products/:id", + "description": "Get a unified product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get a unified product", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/unified/gtin", + "description": "Look up unified product by GTIN/barcode", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Look up unified product by GTIN/barcode", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/exports/daily", + "description": "Daily CSV snapshot", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Daily CSV snapshot", + "amount": "500" + } + }, + { + "method": "GET", + "path": "/v3/realtime/stockx/products", + "description": "Search StockX in real-time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search StockX in real-time", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/stockx/products/:id", + "description": "Get StockX product in real-time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get StockX product in real-time", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/stockx/products/:id/asks", + "description": "StockX real-time asks/bids", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX real-time asks/bids", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/stockx/products/:id/sales", + "description": "StockX real-time sales", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX real-time sales", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/stockx/products/:id/related", + "description": "StockX real-time related products", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "StockX real-time related products", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/goat/products", + "description": "Search GOAT in real-time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search GOAT in real-time", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/goat/products/:id", + "description": "Get GOAT product in real-time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get GOAT product in real-time", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/goat/products/:id/offers", + "description": "GOAT real-time offers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GOAT real-time offers", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/goat/products/:id/sales", + "description": "GOAT real-time sales", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "GOAT real-time sales", + "amount": "5000" + } + }, + { + "method": "GET", + "path": "/v3/realtime/alias/products/:id/recent-orders", + "description": "Real-time recent orders by alias", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Real-time recent orders by alias", + "amount": "5000" + } + } + ] + }, + { + "id": "twocaptcha", + "name": "2Captcha", + "url": "https://api.2captcha.com", + "serviceUrl": "https://twocaptcha.mpp.tempo.xyz", + "description": "CAPTCHA solving API — reCAPTCHA, Turnstile, hCaptcha, image captchas, and more.", + "categories": [ + "web" + ], + "integration": "third-party", + "tags": [ + "captcha", + "automation", + "solving" + ], + "status": "active", + "docs": { + "homepage": "https://2captcha.com", + "apiReference": "https://2captcha.com/api-docs" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mpp.tempo.xyz", + "provider": { + "name": "2Captcha", + "url": "https://2captcha.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/createTask", + "description": "Submit a captcha task for solving", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Submit a captcha task for solving", + "amount": "3000" + } + }, + { + "method": "POST", + "path": "/getTaskResult", + "description": "Poll for task result", + "payment": null + } + ] + }, + { + "id": "postalform", + "name": "PostalForm", + "url": "https://postalform.com", + "serviceUrl": "https://postalform.com", + "description": "Print and mail real letters and documents via AI agents.", + "categories": [ + "web" + ], + "integration": "first-party", + "tags": [ + "mail", + "print", + "letters", + "physical", + "postal" + ], + "status": "active", + "docs": { + "homepage": "https://postalform.com/agents" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "postalform.com", + "provider": { + "name": "PostalForm", + "url": "https://postalform.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/machine/mpp/orders/validate", + "description": "Quote and validate an order before payment", + "payment": null + }, + { + "method": "POST", + "path": "/api/machine/mpp/orders", + "description": "Create and pay for a print-and-mail order", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Create and pay for a print-and-mail order", + "dynamic": true, + "amountHint": "Varies" + } + }, + { + "method": "GET", + "path": "/api/machine/mpp/orders/:id", + "description": "Poll order status and fulfillment", + "payment": null + } + ] + }, + { + "id": "prospect-butcher", + "name": "Prospect Butcher", + "url": "https://agents.prospectbutcher.shop", + "serviceUrl": "https://agents.prospectbutcher.shop", + "description": "Order sandwiches for pickup in Brooklyn — the first food purchase made entirely by an AI agent.", + "categories": [ + "web" + ], + "integration": "first-party", + "tags": [ + "food", + "ordering", + "sandwiches", + "physical", + "restaurant" + ], + "status": "active", + "docs": { + "homepage": "https://agents.prospectbutcher.shop", + "llmsTxt": "https://agents.prospectbutcher.shop/llms.txt" + }, + "methods": { + "stripe": { + "intents": [ + "charge" + ], + "assets": [ + "usd" + ] + } + }, + "realm": "agents.prospectbutcher.shop", + "provider": { + "name": "Prospect Butcher", + "url": "https://www.prospectbutcher.com" + }, + "endpoints": [ + { + "method": "GET", + "path": "/buy/:slug", + "description": "Purchase a sandwich", + "payment": { + "intent": "charge", + "method": "stripe", + "currency": "usd", + "decimals": 2, + "description": "Purchase a sandwich", + "dynamic": true, + "amountHint": "Varies" + } + } + ] + }, + { + "id": "alphavantage", + "name": "Alpha Vantage", + "url": "https://www.alphavantage.co", + "serviceUrl": "https://alphavantage.mpp.paywithlocus.com", + "description": "Financial market data — stock prices, forex, crypto, commodities, economic indicators, technical analysis, and news sentiment.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "finance", + "stocks", + "forex", + "crypto", + "market-data", + "technical-analysis" + ], + "status": "active", + "docs": { + "homepage": "https://www.alphavantage.co/documentation/", + "llmsTxt": "https://paywithlocus.com/mpp/alphavantage.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "alphavantage.mpp.paywithlocus.com", + "provider": { + "name": "Alpha Vantage", + "url": "https://www.alphavantage.co" + }, + "endpoints": [ + { + "method": "POST", + "path": "/alphavantage/time-series-intraday", + "description": "Intraday Time Series", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Intraday Time Series", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/time-series-daily", + "description": "Daily Time Series", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Daily Time Series", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/time-series-weekly", + "description": "Weekly Time Series", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Weekly Time Series", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/time-series-monthly", + "description": "Monthly Time Series", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Monthly Time Series", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/global-quote", + "description": "Global Quote", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Global Quote", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/symbol-search", + "description": "Symbol Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Symbol Search", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/market-status", + "description": "Market Status", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Market Status", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/top-gainers-losers", + "description": "Top Gainers & Losers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Top Gainers & Losers", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/news-sentiment", + "description": "News Sentiment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "News Sentiment", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/earnings-call-transcript", + "description": "Earnings Call Transcript", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Earnings Call Transcript", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/company-overview", + "description": "Company Overview", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company Overview", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/income-statement", + "description": "Income Statement", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Income Statement", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/balance-sheet", + "description": "Balance Sheet", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Balance Sheet", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/cash-flow", + "description": "Cash Flow", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Cash Flow", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/earnings", + "description": "Earnings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Earnings", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/currency-exchange-rate", + "description": "Currency Exchange Rate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Currency Exchange Rate", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/fx-daily", + "description": "FX Daily", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "FX Daily", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/crypto-exchange-rate", + "description": "Crypto Exchange Rate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Crypto Exchange Rate", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/digital-currency-daily", + "description": "Digital Currency Daily", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Digital Currency Daily", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/commodity-price", + "description": "Commodity Price", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Commodity Price", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/economic-indicator", + "description": "Economic Indicator", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Economic Indicator", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/sma", + "description": "SMA (Simple Moving Average)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "SMA (Simple Moving Average)", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/ema", + "description": "EMA (Exponential Moving Average)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "EMA (Exponential Moving Average)", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/macd", + "description": "MACD", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "MACD", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/rsi", + "description": "RSI (Relative Strength Index)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "RSI (Relative Strength Index)", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/alphavantage/bbands", + "description": "Bollinger Bands", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Bollinger Bands", + "amount": "8000", + "unitType": "request" + } + } + ] + }, + { + "id": "apollo", + "name": "Apollo", + "url": "https://www.apollo.io", + "serviceUrl": "https://apollo.mpp.paywithlocus.com", + "description": "People and company enrichment, lead search, and sales intelligence with 275M+ contacts.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "leads", + "enrichment", + "contacts", + "sales-intelligence", + "b2b" + ], + "status": "active", + "docs": { + "homepage": "https://docs.apollo.io", + "llmsTxt": "https://paywithlocus.com/mpp/apollo.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "apollo.mpp.paywithlocus.com", + "provider": { + "name": "Apollo", + "url": "https://www.apollo.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/apollo/people-enrichment", + "description": "People Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "People Enrichment", + "dynamic": true, + "amountHint": "$0.008-$0.043" + } + }, + { + "method": "POST", + "path": "/apollo/bulk-people-enrichment", + "description": "Bulk People Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Bulk People Enrichment", + "dynamic": true, + "amountHint": "$0.008-$0.043/person" + } + }, + { + "method": "POST", + "path": "/apollo/org-enrichment", + "description": "Organization Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Organization Enrichment", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/apollo/bulk-org-enrichment", + "description": "Bulk Organization Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Bulk Organization Enrichment", + "dynamic": true, + "amountHint": "$0.008/org" + } + }, + { + "method": "POST", + "path": "/apollo/people-search", + "description": "People Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "People Search", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/apollo/org-search", + "description": "Organization Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Organization Search", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/apollo/job-postings", + "description": "Organization Job Postings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Organization Job Postings", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/apollo/news-search", + "description": "News Articles Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "News Articles Search", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "billboard", + "name": "Billboard", + "url": "https://x.com/MPPBillboard", + "serviceUrl": "https://billboard.mpp.paywithlocus.com", + "description": "Post to @MPPBillboard on X. Price starts at $0.01 and doubles with every post. The ultimate AI agent billboard.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "advertising", + "billboard", + "mpp-billboard" + ], + "status": "active", + "docs": { + "homepage": "https://x.com/MPPBillboard", + "llmsTxt": "https://paywithlocus.com/mpp/billboard.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "billboard.mpp.paywithlocus.com", + "provider": { + "name": "Billboard", + "url": "https://x.com/MPPBillboard" + }, + "endpoints": [ + { + "method": "POST", + "path": "/billboard/post", + "description": "Post", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Post", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/billboard/get-price", + "description": "Get Price", + "payment": null + } + ] + }, + { + "id": "brave", + "name": "Brave Search", + "url": "https://brave.com/search", + "serviceUrl": "https://brave.mpp.paywithlocus.com", + "description": "Independent web search — web, news, images, videos, AI answers, and LLM context. Privacy-first search from a large independent index.", + "categories": [ + "search" + ], + "integration": "third-party", + "tags": [ + "search", + "web-search", + "privacy", + "news", + "images" + ], + "status": "active", + "docs": { + "homepage": "https://api.search.brave.com/app/#/documentation", + "llmsTxt": "https://paywithlocus.com/mpp/brave.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "brave.mpp.paywithlocus.com", + "provider": { + "name": "Brave Search", + "url": "https://brave.com/search" + }, + "endpoints": [ + { + "method": "POST", + "path": "/brave/web-search", + "description": "Web Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Web Search", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/brave/news-search", + "description": "News Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "News Search", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/brave/image-search", + "description": "Image Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Image Search", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/brave/video-search", + "description": "Video Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Video Search", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/brave/llm-context", + "description": "LLM Context", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "LLM Context", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/brave/answers", + "description": "AI Answers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "AI Answers", + "amount": "85000", + "unitType": "request" + } + } + ] + }, + { + "id": "builtwith", + "name": "BuiltWith", + "url": "https://builtwith.com", + "serviceUrl": "https://builtwith.mpp.paywithlocus.com", + "description": "Technology profiling for websites — detect tech stacks, find sites using specific technologies, discover domain relationships, trends, and competitive intelligence across 100M+ websites.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "technology-profiling", + "tech-stack", + "competitive-intel", + "domains" + ], + "status": "active", + "docs": { + "homepage": "https://api.builtwith.com", + "llmsTxt": "https://paywithlocus.com/mpp/builtwith.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "builtwith.mpp.paywithlocus.com", + "provider": { + "name": "BuiltWith", + "url": "https://builtwith.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/builtwith/domain", + "description": "Domain Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Domain Lookup", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/lists", + "description": "Technology Lists", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Technology Lists", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/relationships", + "description": "Relationships", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Relationships", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/company-to-url", + "description": "Company to URL", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company to URL", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/tags", + "description": "Tags", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Tags", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/product", + "description": "Product Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Product Search", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/recommendations", + "description": "Recommendations", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Recommendations", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/redirects", + "description": "Redirects", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Redirects", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/keywords", + "description": "Keywords", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Keywords", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/trends", + "description": "Trends", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Trends", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/trust", + "description": "Trust", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Trust", + "amount": "35000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/builtwith/free", + "description": "Free Summary", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Free Summary", + "amount": "15000", + "unitType": "request" + } + } + ] + }, + { + "id": "clado", + "name": "Clado", + "url": "https://clado.ai", + "serviceUrl": "https://clado.mpp.paywithlocus.com", + "description": "People search, LinkedIn enrichment, and deep research for lead generation.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "linkedin", + "enrichment", + "leads", + "deep-research", + "people-search" + ], + "status": "active", + "docs": { + "homepage": "https://docs.clado.ai", + "llmsTxt": "https://paywithlocus.com/mpp/clado.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "clado.mpp.paywithlocus.com", + "provider": { + "name": "Clado", + "url": "https://clado.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/clado/search", + "description": "Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search", + "dynamic": true, + "amountHint": "$0.01/result" + } + }, + { + "method": "POST", + "path": "/clado/deep-research", + "description": "Deep Research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Deep Research", + "dynamic": true, + "amountHint": "$0.01/result" + } + }, + { + "method": "POST", + "path": "/clado/deep-research-status", + "description": "Deep Research Status", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Deep Research Status", + "amount": "3000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/clado/deep-research-cancel", + "description": "Cancel Deep Research", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Cancel Deep Research", + "amount": "3000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/clado/deep-research-more", + "description": "Deep Research More", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Deep Research More", + "dynamic": true, + "amountHint": "$0.01/result" + } + }, + { + "method": "POST", + "path": "/clado/contacts", + "description": "Contact Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Contact Enrichment", + "dynamic": true, + "amountHint": "$0.04-$0.14" + } + }, + { + "method": "POST", + "path": "/clado/scrape", + "description": "Scrape LinkedIn", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape LinkedIn", + "amount": "23000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/clado/linkedin-profile", + "description": "LinkedIn Profile", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "LinkedIn Profile", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/clado/post-reactions", + "description": "Post Reactions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Post Reactions", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/clado/bulk-contacts", + "description": "Bulk Contact Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Bulk Contact Enrichment", + "dynamic": true, + "amountHint": "$0.04+/contact" + } + }, + { + "method": "POST", + "path": "/clado/bulk-contacts-status", + "description": "Bulk Contacts Status", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Bulk Contacts Status", + "amount": "3000", + "unitType": "request" + } + } + ] + }, + { + "id": "coingecko", + "name": "CoinGecko", + "url": "https://www.coingecko.com", + "serviceUrl": "https://coingecko.mpp.paywithlocus.com", + "description": "Cryptocurrency market data — prices, charts, market cap, exchanges, trending coins, global stats, NFTs, derivatives, and on-chain data.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "crypto", + "prices", + "market-cap", + "exchanges", + "trending" + ], + "status": "active", + "docs": { + "homepage": "https://docs.coingecko.com", + "llmsTxt": "https://paywithlocus.com/mpp/coingecko.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "coingecko.mpp.paywithlocus.com", + "provider": { + "name": "CoinGecko", + "url": "https://www.coingecko.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/coingecko/simple-price", + "description": "Simple Price", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Simple Price", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/simple-token-price", + "description": "Token Price by Contract", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Token Price by Contract", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/coins-markets", + "description": "Coins Markets", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Coins Markets", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/coin-data", + "description": "Coin Data", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Coin Data", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/coins-list", + "description": "Coins List", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Coins List", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/search", + "description": "Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/trending", + "description": "Trending", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Trending", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/exchange-rates", + "description": "Exchange Rates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Exchange Rates", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/global", + "description": "Global", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Global", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/global-defi", + "description": "Global DeFi", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Global DeFi", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/market-chart", + "description": "Market Chart", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Market Chart", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/coin-history", + "description": "Coin History", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Coin History", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/categories", + "description": "Categories", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Categories", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/top-gainers-losers", + "description": "Top Gainers & Losers", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Top Gainers & Losers", + "amount": "60000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/coingecko/exchanges", + "description": "Exchanges", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Exchanges", + "amount": "60000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-company-enrichment", + "name": "Company Enrichment", + "url": "https://www.abstractapi.com/api/company-enrichment", + "serviceUrl": "https://abstract-company-enrichment.mpp.paywithlocus.com", + "description": "Enrich company data from a domain name.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "company", + "enrichment", + "domain-lookup" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/company-enrichment", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-company-enrichment.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-company-enrichment.mpp.paywithlocus.com", + "provider": { + "name": "Company Enrichment", + "url": "https://www.abstractapi.com/api/company-enrichment" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-company-enrichment/lookup", + "description": "Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Lookup", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "deepgram", + "name": "Deepgram", + "url": "https://deepgram.com", + "serviceUrl": "https://deepgram.mpp.paywithlocus.com", + "description": "Industry-leading speech AI — transcribe audio from URLs with Nova-3, generate natural speech with Aura-2 TTS, and analyze text for sentiment, topics, intents, and summaries.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "speech-to-text", + "transcription", + "tts", + "audio", + "sentiment" + ], + "status": "active", + "docs": { + "homepage": "https://developers.deepgram.com/reference/deepgram-api-overview", + "llmsTxt": "https://paywithlocus.com/mpp/deepgram.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "deepgram.mpp.paywithlocus.com", + "provider": { + "name": "Deepgram", + "url": "https://deepgram.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/deepgram/transcribe", + "description": "Transcribe Audio", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Transcribe Audio", + "amount": "53000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/deepgram/speak", + "description": "Text to Speech", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text to Speech", + "amount": "23000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/deepgram/analyze", + "description": "Analyze Text", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Analyze Text", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/deepgram/list-models", + "description": "List Models", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Models", + "amount": "4000", + "unitType": "request" + } + } + ] + }, + { + "id": "deepl", + "name": "DeepL", + "url": "https://www.deepl.com", + "serviceUrl": "https://deepl.mpp.paywithlocus.com", + "description": "Professional translation and text improvement — translate text between 30+ languages with industry-leading quality, or improve and rephrase text with DeepL Write.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "translation", + "languages", + "glossary", + "document-translation" + ], + "status": "active", + "docs": { + "homepage": "https://developers.deepl.com", + "llmsTxt": "https://paywithlocus.com/mpp/deepl.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "deepl.mpp.paywithlocus.com", + "provider": { + "name": "DeepL", + "url": "https://www.deepl.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/deepl/translate", + "description": "Translate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Translate", + "dynamic": true, + "amountHint": "$0.025+ (scales with text length)" + } + }, + { + "method": "POST", + "path": "/deepl/rephrase", + "description": "Rephrase (Write)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Rephrase (Write)", + "dynamic": true, + "amountHint": "$0.025+ (scales with text length)" + } + }, + { + "method": "POST", + "path": "/deepl/languages", + "description": "Languages", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Languages", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "deepseek", + "name": "DeepSeek", + "url": "https://deepseek.com", + "serviceUrl": "https://deepseek.mpp.paywithlocus.com", + "description": "Frontier AI models — DeepSeek-V3 for fast chat and code, DeepSeek-R1 for deep chain-of-thought reasoning. OpenAI-compatible API format. Among the most capable and cost-efficient models available.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "reasoning", + "code", + "chat", + "chain-of-thought" + ], + "status": "active", + "docs": { + "homepage": "https://api-docs.deepseek.com", + "llmsTxt": "https://paywithlocus.com/mpp/deepseek.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "deepseek.mpp.paywithlocus.com", + "provider": { + "name": "DeepSeek", + "url": "https://deepseek.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/deepseek/chat", + "description": "Chat", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat", + "dynamic": true, + "amountHint": "Model + token dependent (~$0.004–$0.025)" + } + }, + { + "method": "POST", + "path": "/deepseek/fim", + "description": "Fill-In-the-Middle (FIM)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Fill-In-the-Middle (FIM)", + "dynamic": true, + "amountHint": "Token dependent (~$0.003–$0.005)" + } + }, + { + "method": "POST", + "path": "/deepseek/list-models", + "description": "List Models", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Models", + "amount": "3000", + "unitType": "request" + } + } + ] + }, + { + "id": "diffbot", + "name": "Diffbot", + "url": "https://www.diffbot.com", + "serviceUrl": "https://diffbot.mpp.paywithlocus.com", + "description": "Web data extraction — articles, products, discussions, images, videos, and auto-detect.", + "categories": [ + "web", + "data" + ], + "integration": "third-party", + "tags": [ + "web-scraping", + "extraction", + "articles", + "products" + ], + "status": "active", + "docs": { + "homepage": "https://docs.diffbot.com", + "llmsTxt": "https://paywithlocus.com/mpp/diffbot.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "diffbot.mpp.paywithlocus.com", + "provider": { + "name": "Diffbot", + "url": "https://www.diffbot.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/diffbot/article", + "description": "Article", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Article", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/product", + "description": "Product", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Product", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/discussion", + "description": "Discussion", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Discussion", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/image", + "description": "Image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Image", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/video", + "description": "Video", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Video", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/analyze", + "description": "Analyze", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Analyze", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/event", + "description": "Event", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Event", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/list", + "description": "List", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List", + "amount": "4200", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/diffbot/job", + "description": "Job Posting", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Job Posting", + "amount": "4200", + "unitType": "request" + } + } + ] + }, + { + "id": "diffbot-kg", + "name": "Diffbot KG", + "url": "https://www.diffbot.com", + "serviceUrl": "https://diffbot-kg.mpp.paywithlocus.com", + "description": "Knowledge Graph — search 10B+ entities and enrich company/person records.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "knowledge-graph", + "entities", + "enrichment", + "company-data" + ], + "status": "active", + "docs": { + "homepage": "https://docs.diffbot.com/reference/knowledge-graph", + "llmsTxt": "https://paywithlocus.com/mpp/diffbot-kg.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "diffbot-kg.mpp.paywithlocus.com", + "provider": { + "name": "Diffbot KG", + "url": "https://www.diffbot.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/diffbot-kg/search", + "description": "Search (DQL)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search (DQL)", + "dynamic": true, + "amountHint": "$0.03–$1.50 (25 credits/entity)" + } + }, + { + "method": "POST", + "path": "/diffbot-kg/enhance", + "description": "Enhance", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Enhance", + "dynamic": true, + "amountHint": "$0.03 ($0.12 with refresh)" + } + } + ] + }, + { + "id": "diffbot-nl", + "name": "Diffbot NL", + "url": "https://www.diffbot.com", + "serviceUrl": "https://diffbot-nl.mpp.paywithlocus.com", + "description": "Natural language processing — NER, sentiment, facts, summarization.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "nlp", + "ner", + "sentiment", + "summarization" + ], + "status": "active", + "docs": { + "homepage": "https://docs.diffbot.com/reference/natural-language", + "llmsTxt": "https://paywithlocus.com/mpp/diffbot-nl.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "diffbot-nl.mpp.paywithlocus.com", + "provider": { + "name": "Diffbot NL", + "url": "https://www.diffbot.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/diffbot-nl/analyze", + "description": "Analyze Text", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Analyze Text", + "dynamic": true, + "amountHint": "$0.004+ (per 10k chars)" + } + } + ] + }, + { + "id": "edgar", + "name": "EDGAR (SEC)", + "url": "https://www.sec.gov/developer", + "serviceUrl": "https://edgar.mpp.paywithlocus.com", + "description": "SEC EDGAR public financial data — company filing history, XBRL financial facts (income statements, balance sheets, cash flows), and full-text search across all public filings. No API key required.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "sec", + "filings", + "company-data", + "financials" + ], + "status": "active", + "docs": { + "homepage": "https://www.sec.gov/developer", + "llmsTxt": "https://paywithlocus.com/mpp/edgar.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "edgar.mpp.paywithlocus.com", + "provider": { + "name": "EDGAR (SEC)", + "url": "https://www.sec.gov/developer" + }, + "endpoints": [ + { + "method": "POST", + "path": "/edgar/company-submissions", + "description": "Company Submissions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company Submissions", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/edgar/company-facts", + "description": "Company Facts", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company Facts", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/edgar/company-concept", + "description": "Company Concept", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company Concept", + "amount": "8000", + "unitType": "request" + } + } + ] + }, + { + "id": "edgar-search", + "name": "EDGAR Full-Text Search", + "url": "https://efts.sec.gov", + "serviceUrl": "https://edgar-search.mpp.paywithlocus.com", + "description": "Full-text search across all SEC filings — 10-Ks, 10-Qs, 8-Ks, proxy statements, and more. Search by keyword, company name, form type, and date range.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "sec", + "filings", + "full-text-search" + ], + "status": "active", + "docs": { + "homepage": "https://efts.sec.gov/LATEST/search-index", + "llmsTxt": "https://paywithlocus.com/mpp/edgar-search.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "edgar-search.mpp.paywithlocus.com", + "provider": { + "name": "EDGAR Full-Text Search", + "url": "https://efts.sec.gov" + }, + "endpoints": [ + { + "method": "POST", + "path": "/edgar-search/search", + "description": "Search Filings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search Filings", + "amount": "8000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-email-reputation", + "name": "Email Reputation", + "url": "https://www.abstractapi.com/api/email-reputation-api", + "serviceUrl": "https://abstract-email-reputation.mpp.paywithlocus.com", + "description": "Check the reputation and risk score of an email address.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "email", + "reputation", + "risk-score" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/email-reputation", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-email-reputation.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-email-reputation.mpp.paywithlocus.com", + "provider": { + "name": "Email Reputation", + "url": "https://www.abstractapi.com/api/email-reputation-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-email-reputation/check", + "description": "Check", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Check", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-exchange-rates", + "name": "Exchange Rates", + "url": "https://www.abstractapi.com/api/exchange-rate-api", + "serviceUrl": "https://abstract-exchange-rates.mpp.paywithlocus.com", + "description": "Live, historical, and conversion exchange rates for 150+ currencies.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "forex", + "exchange-rates", + "currency-conversion" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/exchange-rates", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-exchange-rates.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-exchange-rates.mpp.paywithlocus.com", + "provider": { + "name": "Exchange Rates", + "url": "https://www.abstractapi.com/api/exchange-rate-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-exchange-rates/live", + "description": "Live Rates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Live Rates", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/abstract-exchange-rates/convert", + "description": "Convert", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Convert", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/abstract-exchange-rates/historical", + "description": "Historical Rates", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Historical Rates", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "grok", + "name": "Grok", + "url": "https://x.ai", + "serviceUrl": "https://grok.mpp.paywithlocus.com", + "description": "xAI models — chat, web/X search, code execution, image generation/editing, and text-to-speech.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "chat", + "x-search", + "web-search", + "image-generation", + "tts" + ], + "status": "active", + "docs": { + "homepage": "https://docs.x.ai", + "llmsTxt": "https://paywithlocus.com/mpp/grok.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "grok.mpp.paywithlocus.com", + "provider": { + "name": "Grok", + "url": "https://x.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/grok/chat", + "description": "Chat Completions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat Completions", + "dynamic": true, + "amountHint": "Model-dependent (~$0.001–$0.02)" + } + }, + { + "method": "POST", + "path": "/grok/image-generate", + "description": "Image Generation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Image Generation", + "dynamic": true, + "amountHint": "$0.02–$0.08 per image" + } + }, + { + "method": "POST", + "path": "/grok/image-edit", + "description": "Image Editing", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Image Editing", + "dynamic": true, + "amountHint": "$0.02–$0.08 per image" + } + }, + { + "method": "POST", + "path": "/grok/web-search", + "description": "Chat with Web Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat with Web Search", + "dynamic": true, + "amountHint": "Dynamic (~$0.01–$0.50)" + } + }, + { + "method": "POST", + "path": "/grok/x-search", + "description": "Chat with X Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat with X Search", + "dynamic": true, + "amountHint": "Dynamic (~$0.01–$0.50)" + } + }, + { + "method": "POST", + "path": "/grok/code-execution", + "description": "Chat with Code Execution", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat with Code Execution", + "dynamic": true, + "amountHint": "Dynamic (~$0.01–$0.50)" + } + }, + { + "method": "POST", + "path": "/grok/tts", + "description": "Text-to-Speech", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text-to-Speech", + "dynamic": true, + "amountHint": "~$0.005 per 1,000 characters" + } + } + ] + }, + { + "id": "groq", + "name": "Groq", + "url": "https://groq.com", + "serviceUrl": "https://groq.mpp.paywithlocus.com", + "description": "Ultra-fast LLM inference — Llama 3.3, DeepSeek R1, Gemma 2, GPT-OSS, Qwen, Whisper, and PlayAI TTS. OpenAI-compatible API with industry-leading speed.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "fast-inference", + "llama", + "gemma", + "deepseek" + ], + "status": "active", + "docs": { + "homepage": "https://console.groq.com/docs", + "llmsTxt": "https://paywithlocus.com/mpp/groq.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "groq.mpp.paywithlocus.com", + "provider": { + "name": "Groq", + "url": "https://groq.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/groq/chat", + "description": "Chat Completion", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat Completion", + "dynamic": true, + "amountHint": "$0.005 – $0.10 (varies by model and tokens)" + } + }, + { + "method": "POST", + "path": "/groq/models", + "description": "List Models", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Models", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-holidays", + "name": "Holidays", + "url": "https://www.abstractapi.com/api/holidays-api", + "serviceUrl": "https://abstract-holidays.mpp.paywithlocus.com", + "description": "Public holiday data for 200+ countries.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "holidays", + "countries", + "public-holidays" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/holidays", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-holidays.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-holidays.mpp.paywithlocus.com", + "provider": { + "name": "Holidays", + "url": "https://www.abstractapi.com/api/holidays-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-holidays/lookup", + "description": "Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Lookup", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "hunter", + "name": "Hunter", + "url": "https://hunter.io", + "serviceUrl": "https://hunter.mpp.paywithlocus.com", + "description": "Email finding, verification, and company enrichment for outreach and lead generation.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "email", + "verification", + "enrichment", + "outreach" + ], + "status": "active", + "docs": { + "homepage": "https://hunter.io/api-documentation/v2", + "llmsTxt": "https://paywithlocus.com/mpp/hunter.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "hunter.mpp.paywithlocus.com", + "provider": { + "name": "Hunter", + "url": "https://hunter.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/hunter/domain-search", + "description": "Domain Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Domain Search", + "dynamic": true, + "amountHint": "$0.013-$0.103" + } + }, + { + "method": "POST", + "path": "/hunter/discover", + "description": "Discover Companies", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Discover Companies", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/email-finder", + "description": "Email Finder", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Email Finder", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/email-verifier", + "description": "Email Verifier", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Email Verifier", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/email-enrichment", + "description": "Email Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Email Enrichment", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/company-enrichment", + "description": "Company Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Company Enrichment", + "amount": "13000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/combined-enrichment", + "description": "Combined Enrichment", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Combined Enrichment", + "amount": "23000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/hunter/email-count", + "description": "Email Count", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Email Count", + "amount": "3000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-iban-validation", + "name": "IBAN Validation", + "url": "https://www.abstractapi.com/api/iban-validation-api", + "serviceUrl": "https://abstract-iban-validation.mpp.paywithlocus.com", + "description": "Validate International Bank Account Numbers (IBANs).", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "iban", + "banking", + "validation" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/iban-validation", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-iban-validation.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-iban-validation.mpp.paywithlocus.com", + "provider": { + "name": "IBAN Validation", + "url": "https://www.abstractapi.com/api/iban-validation-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-iban-validation/validate", + "description": "Validate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Validate", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-ip-intelligence", + "name": "IP Intelligence", + "url": "https://www.abstractapi.com/api/ip-intelligence-api", + "serviceUrl": "https://abstract-ip-intelligence.mpp.paywithlocus.com", + "description": "Detect VPNs, proxies, bots, and Tor nodes by IP address.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "ip", + "vpn-detection", + "proxy", + "bot-detection" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/ip-intelligence", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-ip-intelligence.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-ip-intelligence.mpp.paywithlocus.com", + "provider": { + "name": "IP Intelligence", + "url": "https://www.abstractapi.com/api/ip-intelligence-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-ip-intelligence/lookup", + "description": "Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Lookup", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "ipinfo", + "name": "IPinfo", + "url": "https://ipinfo.io", + "serviceUrl": "https://ipinfo.mpp.paywithlocus.com", + "description": "IP intelligence — geolocation, ASN, privacy detection, carrier data, and hosting identification.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "ip", + "geolocation", + "asn", + "privacy-detection" + ], + "status": "active", + "docs": { + "homepage": "https://ipinfo.io/developers", + "llmsTxt": "https://paywithlocus.com/mpp/ipinfo.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "ipinfo.mpp.paywithlocus.com", + "provider": { + "name": "IPinfo", + "url": "https://ipinfo.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/ipinfo/ip-lite", + "description": "IP Lite", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "IP Lite", + "amount": "1000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/ipinfo/ip-lookup", + "description": "IP Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "IP Lookup", + "amount": "1000", + "unitType": "request" + } + } + ] + }, + { + "id": "judge0", + "name": "Judge0", + "url": "https://judge0.com", + "serviceUrl": "https://judge0.mpp.paywithlocus.com", + "description": "Online code execution — run source code in 60+ programming languages with sandboxed isolation.", + "categories": [ + "compute" + ], + "integration": "third-party", + "tags": [ + "code-execution", + "sandbox", + "programming-languages" + ], + "status": "active", + "docs": { + "homepage": "https://ce.judge0.com", + "llmsTxt": "https://paywithlocus.com/mpp/judge0.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "judge0.mpp.paywithlocus.com", + "provider": { + "name": "Judge0", + "url": "https://judge0.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/judge0/execute-code", + "description": "Execute Code", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Execute Code", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/judge0/submit-code", + "description": "Submit Code (Async)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Submit Code (Async)", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/judge0/get-submission", + "description": "Get Submission", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Submission", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/judge0/list-languages", + "description": "List Languages", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Languages", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/judge0/list-statuses", + "description": "List Statuses", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Statuses", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "mapbox", + "name": "Mapbox", + "url": "https://www.mapbox.com", + "serviceUrl": "https://mapbox.mpp.paywithlocus.com", + "description": "Location and mapping APIs — geocoding, directions, isochrones, matrix routing, map matching, static maps, and spatial queries.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "maps", + "geocoding", + "directions", + "routing", + "geospatial" + ], + "status": "active", + "docs": { + "homepage": "https://docs.mapbox.com/api/", + "llmsTxt": "https://paywithlocus.com/mpp/mapbox.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mapbox.mpp.paywithlocus.com", + "provider": { + "name": "Mapbox", + "url": "https://www.mapbox.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/mapbox/geocode-forward", + "description": "Forward Geocode", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Forward Geocode", + "amount": "3750", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/geocode-reverse", + "description": "Reverse Geocode", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Reverse Geocode", + "amount": "3750", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/directions", + "description": "Directions", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Directions", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/matrix", + "description": "Matrix", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Matrix", + "dynamic": true, + "amountHint": "$0.002/element" + } + }, + { + "method": "POST", + "path": "/mapbox/isochrone", + "description": "Isochrone", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Isochrone", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/map-matching", + "description": "Map Matching", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Map Matching", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/static-image", + "description": "Static Image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Static Image", + "amount": "4000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mapbox/tilequery", + "description": "Tilequery", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Tilequery", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "mathpix", + "name": "Mathpix", + "url": "https://mathpix.com", + "serviceUrl": "https://mathpix.mpp.paywithlocus.com", + "description": "OCR for math, science, and documents — extract LaTeX, MathML, and Mathpix Markdown from images and handwriting.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "ocr", + "math", + "latex", + "equations", + "documents" + ], + "status": "active", + "docs": { + "homepage": "https://docs.mathpix.com", + "llmsTxt": "https://paywithlocus.com/mpp/mathpix.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mathpix.mpp.paywithlocus.com", + "provider": { + "name": "Mathpix", + "url": "https://mathpix.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/mathpix/process-image", + "description": "Process Image", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Process Image", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mathpix/process-strokes", + "description": "Process Strokes", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Process Strokes", + "amount": "13000", + "unitType": "request" + } + } + ] + }, + { + "id": "mistral", + "name": "Mistral AI", + "url": "https://mistral.ai", + "serviceUrl": "https://mistral.mpp.paywithlocus.com", + "description": "Premier and open-source LLMs — Mistral Large, Medium, Small, Codestral, Magistral reasoning, Pixtral vision, text embeddings, and content moderation.", + "categories": [ + "ai" + ], + "integration": "third-party", + "tags": [ + "llm", + "chat", + "embeddings", + "code", + "reasoning" + ], + "status": "active", + "docs": { + "homepage": "https://docs.mistral.ai", + "llmsTxt": "https://paywithlocus.com/mpp/mistral.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "mistral.mpp.paywithlocus.com", + "provider": { + "name": "Mistral AI", + "url": "https://mistral.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/mistral/chat", + "description": "Chat Completion", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Chat Completion", + "dynamic": true, + "amountHint": "$0.005 – $0.10 (varies by model and tokens)" + } + }, + { + "method": "POST", + "path": "/mistral/embed", + "description": "Embeddings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Embeddings", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mistral/moderate", + "description": "Moderation", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Moderation", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/mistral/models", + "description": "List Models", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Models", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "openweather", + "name": "OpenWeather", + "url": "https://openweathermap.org", + "serviceUrl": "https://openweather.mpp.paywithlocus.com", + "description": "Global weather data — current conditions, 5-day forecasts, hourly forecasts, air quality index with pollutants, geocoding, and One Call 3.0 with full weather suite and government alerts.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "weather", + "forecast", + "conditions", + "temperature" + ], + "status": "active", + "docs": { + "homepage": "https://openweathermap.org/api", + "llmsTxt": "https://paywithlocus.com/mpp/openweather.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "openweather.mpp.paywithlocus.com", + "provider": { + "name": "OpenWeather", + "url": "https://openweathermap.org" + }, + "endpoints": [ + { + "method": "POST", + "path": "/openweather/current-weather", + "description": "Current Weather", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Current Weather", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/forecast-5day", + "description": "5-Day Forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "5-Day Forecast", + "amount": "8000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/air-quality", + "description": "Air Quality", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Air Quality", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/geocode", + "description": "Geocode", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Geocode", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/reverse-geocode", + "description": "Reverse Geocode", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Reverse Geocode", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/onecall", + "description": "One Call — Full Forecast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "One Call — Full Forecast", + "amount": "10000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/openweather/weather-overview", + "description": "Weather Overview", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Weather Overview", + "amount": "10000", + "unitType": "request" + } + } + ] + }, + { + "id": "perplexity", + "name": "Perplexity", + "url": "https://perplexity.ai", + "serviceUrl": "https://perplexity.mpp.paywithlocus.com", + "description": "AI-powered search — Sonar chat with real-time web grounding, web search, and embeddings.", + "categories": [ + "ai", + "search" + ], + "integration": "third-party", + "tags": [ + "search", + "ai-search", + "web-grounding", + "sonar" + ], + "status": "active", + "docs": { + "homepage": "https://docs.perplexity.ai", + "llmsTxt": "https://paywithlocus.com/mpp/perplexity.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "perplexity.mpp.paywithlocus.com", + "provider": { + "name": "Perplexity", + "url": "https://perplexity.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/perplexity/chat", + "description": "Sonar Chat", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sonar Chat", + "dynamic": true, + "amountHint": "Model-dependent (~$0.005–$0.02)" + } + }, + { + "method": "POST", + "path": "/perplexity/search", + "description": "Web Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Web Search", + "dynamic": true, + "amountHint": "$0.006" + } + }, + { + "method": "POST", + "path": "/perplexity/embed", + "description": "Embeddings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Embeddings", + "dynamic": true, + "amountHint": "~$0.001" + } + }, + { + "method": "POST", + "path": "/perplexity/context-embed", + "description": "Contextualized Embeddings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Contextualized Embeddings", + "dynamic": true, + "amountHint": "~$0.001" + } + } + ] + }, + { + "id": "abstract-phone-intelligence", + "name": "Phone Intelligence", + "url": "https://www.abstractapi.com/api/phone-validation-api", + "serviceUrl": "https://abstract-phone-intelligence.mpp.paywithlocus.com", + "description": "Validate and get carrier info for phone numbers worldwide.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "phone", + "carrier", + "validation" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/phone-intelligence", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-phone-intelligence.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-phone-intelligence.mpp.paywithlocus.com", + "provider": { + "name": "Phone Intelligence", + "url": "https://www.abstractapi.com/api/phone-validation-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-phone-intelligence/lookup", + "description": "Lookup", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Lookup", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "rentcast", + "name": "RentCast", + "url": "https://rentcast.io", + "serviceUrl": "https://rentcast.mpp.paywithlocus.com", + "description": "US real estate intelligence — property records, AVM valuations, rent estimates, sale/rental listings, and market statistics.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "real-estate", + "property", + "valuations", + "rent-estimates" + ], + "status": "active", + "docs": { + "homepage": "https://developers.rentcast.io/reference/introduction", + "llmsTxt": "https://paywithlocus.com/mpp/rentcast.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "rentcast.mpp.paywithlocus.com", + "provider": { + "name": "RentCast", + "url": "https://rentcast.io" + }, + "endpoints": [ + { + "method": "POST", + "path": "/rentcast/properties", + "description": "Property Records", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Property Records", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/property-by-id", + "description": "Property by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Property by ID", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/random-properties", + "description": "Random Properties", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Random Properties", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/value-estimate", + "description": "Value Estimate (AVM)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Value Estimate (AVM)", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/rent-estimate", + "description": "Rent Estimate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Rent Estimate", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/sale-listings", + "description": "Sale Listings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sale Listings", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/sale-listing-by-id", + "description": "Sale Listing by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sale Listing by ID", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/rental-listings", + "description": "Rental Listings", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Rental Listings", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/rental-listing-by-id", + "description": "Rental Listing by ID", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Rental Listing by ID", + "amount": "33000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/rentcast/markets", + "description": "Market Statistics", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Market Statistics", + "amount": "33000", + "unitType": "request" + } + } + ] + }, + { + "id": "replicate", + "name": "Replicate", + "url": "https://replicate.com", + "serviceUrl": "https://replicate.mpp.paywithlocus.com", + "description": "Run thousands of open-source AI models via API — image generation, language models, speech recognition, video, and more. Pay only for what you use.", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "ai-models", + "open-source", + "image-generation", + "inference" + ], + "status": "active", + "docs": { + "homepage": "https://replicate.com/docs/reference/http", + "llmsTxt": "https://paywithlocus.com/mpp/replicate.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "replicate.mpp.paywithlocus.com", + "provider": { + "name": "Replicate", + "url": "https://replicate.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/replicate/run", + "description": "Run Model", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Run Model", + "dynamic": true, + "amountHint": "Model-dependent ($0.005–$0.05)" + } + }, + { + "method": "POST", + "path": "/replicate/get-prediction", + "description": "Get Prediction", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Prediction", + "amount": "3000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/replicate/get-model", + "description": "Get Model", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Model", + "amount": "4000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/replicate/list-models", + "description": "List Models", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "List Models", + "amount": "4000", + "unitType": "request" + } + } + ] + }, + { + "id": "screenshotone", + "name": "ScreenshotOne", + "url": "https://screenshotone.com", + "serviceUrl": "https://screenshotone.mpp.paywithlocus.com", + "description": "Website screenshot API — capture any URL, HTML, or markdown as PNG, JPEG, WebP, or PDF. Full-page, element selection, dark mode, ad blocking, and more.", + "categories": [ + "compute" + ], + "integration": "third-party", + "tags": [ + "screenshots", + "webpage-capture", + "rendering" + ], + "status": "active", + "docs": { + "homepage": "https://screenshotone.com/docs/getting-started/", + "llmsTxt": "https://paywithlocus.com/mpp/screenshotone.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "screenshotone.mpp.paywithlocus.com", + "provider": { + "name": "ScreenshotOne", + "url": "https://screenshotone.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/screenshotone/take", + "description": "Take Screenshot", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Take Screenshot", + "amount": "55000", + "unitType": "request" + } + } + ] + }, + { + "id": "stability-ai", + "name": "Stability AI", + "url": "https://stability.ai", + "serviceUrl": "https://stability-ai.mpp.paywithlocus.com", + "description": "Generative AI platform for images, 3D models, and audio — text-to-image, editing, upscaling, and more.", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "image-generation", + "stable-diffusion", + "upscaling", + "3d" + ], + "status": "active", + "docs": { + "homepage": "https://platform.stability.ai/docs/api-reference", + "llmsTxt": "https://paywithlocus.com/mpp/stability-ai.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "stability-ai.mpp.paywithlocus.com", + "provider": { + "name": "Stability AI", + "url": "https://stability.ai" + }, + "endpoints": [ + { + "method": "POST", + "path": "/stability-ai/generate-ultra", + "description": "Generate Ultra", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate Ultra", + "amount": "92000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/generate-core", + "description": "Generate Core", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate Core", + "amount": "34000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/generate-sd3", + "description": "Generate SD3", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate SD3", + "dynamic": true, + "amountHint": "$0.029–$0.075 (model-dependent)" + } + }, + { + "method": "POST", + "path": "/stability-ai/erase", + "description": "Erase", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Erase", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/inpaint", + "description": "Inpaint", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Inpaint", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/outpaint", + "description": "Outpaint", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Outpaint", + "amount": "46000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/search-and-replace", + "description": "Search and Replace", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search and Replace", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/search-and-recolor", + "description": "Search and Recolor", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search and Recolor", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/remove-background", + "description": "Remove Background", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Remove Background", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/replace-background-and-relight", + "description": "Replace Background & Relight", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Replace Background & Relight", + "amount": "92000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/upscale-fast", + "description": "Upscale Fast", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upscale Fast", + "amount": "23000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/upscale-conservative", + "description": "Upscale Conservative", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upscale Conservative", + "amount": "460000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/upscale-creative", + "description": "Upscale Creative", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Upscale Creative", + "amount": "690000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/sketch", + "description": "Sketch", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Sketch", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/structure", + "description": "Structure", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Structure", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/style-guide", + "description": "Style Guide", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Style Guide", + "amount": "57000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/style-transfer", + "description": "Style Transfer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Style Transfer", + "amount": "92000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/stable-fast-3d", + "description": "Stable Fast 3D", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Stable Fast 3D", + "amount": "115000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/stable-point-aware-3d", + "description": "Stable Point Aware 3D", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Stable Point Aware 3D", + "amount": "46000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/stability-ai/text-to-audio", + "description": "Text to Audio", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Text to Audio", + "dynamic": true, + "amountHint": "$0.23 (50 steps, stable-audio-2)" + } + }, + { + "method": "POST", + "path": "/stability-ai/audio-to-audio", + "description": "Audio to Audio", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Audio to Audio", + "dynamic": true, + "amountHint": "$0.23 (50 steps, stable-audio-2)" + } + }, + { + "method": "POST", + "path": "/stability-ai/audio-inpaint", + "description": "Audio Inpaint", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Audio Inpaint", + "dynamic": true, + "amountHint": "$0.23 (50 steps, stable-audio-2)" + } + }, + { + "method": "POST", + "path": "/stability-ai/result", + "description": "Result", + "payment": null + } + ] + }, + { + "id": "suno", + "name": "Suno", + "url": "https://sunoapi.org", + "serviceUrl": "https://suno.mpp.paywithlocus.com", + "description": "AI music generation — create full songs, generate lyrics, and build custom music tracks with state-of-the-art AI models. Supports custom styles, vocals, and instrumental modes.", + "categories": [ + "ai", + "media" + ], + "integration": "third-party", + "tags": [ + "music-generation", + "ai-music", + "lyrics", + "songs" + ], + "status": "active", + "docs": { + "homepage": "https://docs.sunoapi.org", + "llmsTxt": "https://paywithlocus.com/mpp/suno.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "suno.mpp.paywithlocus.com", + "provider": { + "name": "Suno", + "url": "https://sunoapi.org" + }, + "endpoints": [ + { + "method": "POST", + "path": "/suno/generate-music", + "description": "Generate Music", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate Music", + "amount": "105000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/suno/get-music-status", + "description": "Get Music Status", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Music Status", + "amount": "5000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/suno/generate-lyrics", + "description": "Generate Lyrics", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Generate Lyrics", + "amount": "25000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/suno/get-lyrics-status", + "description": "Get Lyrics Status", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Get Lyrics Status", + "amount": "5000", + "unitType": "request" + } + } + ] + }, + { + "id": "tavily", + "name": "Tavily", + "url": "https://tavily.com", + "serviceUrl": "https://tavily.mpp.paywithlocus.com", + "description": "AI-optimized web search, content extraction, site mapping, and crawling API.", + "categories": [ + "search", + "web" + ], + "integration": "third-party", + "tags": [ + "ai-search", + "web-search", + "extraction", + "crawling" + ], + "status": "active", + "docs": { + "homepage": "https://docs.tavily.com", + "llmsTxt": "https://paywithlocus.com/mpp/tavily.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "tavily.mpp.paywithlocus.com", + "provider": { + "name": "Tavily", + "url": "https://tavily.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/tavily/search", + "description": "Search", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Search", + "dynamic": true, + "amountHint": "$0.09 (basic) / $0.16 (advanced)" + } + }, + { + "method": "POST", + "path": "/tavily/extract", + "description": "Extract", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Extract", + "dynamic": true, + "amountHint": "$0.11+ (scales with URL count)" + } + }, + { + "method": "POST", + "path": "/tavily/map", + "description": "Map", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Map", + "amount": "90000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/tavily/crawl", + "description": "Crawl", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Crawl", + "dynamic": true, + "amountHint": "$0.21+ (scales with page limit)" + } + } + ] + }, + { + "id": "abstract-timezone", + "name": "Timezone", + "url": "https://www.abstractapi.com/api/time-date-timezone-api", + "serviceUrl": "https://abstract-timezone.mpp.paywithlocus.com", + "description": "Current time and timezone conversion for any location.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "timezone", + "time-conversion", + "location" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/timezone", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-timezone.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-timezone.mpp.paywithlocus.com", + "provider": { + "name": "Timezone", + "url": "https://www.abstractapi.com/api/time-date-timezone-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-timezone/current-time", + "description": "Current Time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Current Time", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/abstract-timezone/convert-time", + "description": "Convert Time", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Convert Time", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-vat", + "name": "VAT", + "url": "https://www.abstractapi.com/api/vat-validation-rates-api", + "serviceUrl": "https://abstract-vat.mpp.paywithlocus.com", + "description": "VAT number validation, rate calculation, and category lookup for EU.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "vat", + "tax", + "eu-compliance" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/vat", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-vat.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-vat.mpp.paywithlocus.com", + "provider": { + "name": "VAT", + "url": "https://www.abstractapi.com/api/vat-validation-rates-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-vat/validate", + "description": "Validate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Validate", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/abstract-vat/calculate", + "description": "Calculate", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Calculate", + "amount": "6000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/abstract-vat/categories", + "description": "Categories", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Categories", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "abstract-web-scraping", + "name": "Web Scraping", + "url": "https://www.abstractapi.com/api/web-scraping-api", + "serviceUrl": "https://abstract-web-scraping.mpp.paywithlocus.com", + "description": "Scrape web pages with optional JavaScript rendering.", + "categories": [ + "web", + "data" + ], + "integration": "third-party", + "tags": [ + "scraping", + "web-pages", + "javascript-rendering" + ], + "status": "active", + "docs": { + "homepage": "https://docs.abstractapi.com/web-scraping", + "llmsTxt": "https://paywithlocus.com/mpp/abstract-web-scraping.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "abstract-web-scraping.mpp.paywithlocus.com", + "provider": { + "name": "Web Scraping", + "url": "https://www.abstractapi.com/api/web-scraping-api" + }, + "endpoints": [ + { + "method": "POST", + "path": "/abstract-web-scraping/scrape", + "description": "Scrape", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Scrape", + "amount": "6000", + "unitType": "request" + } + } + ] + }, + { + "id": "wolframalpha", + "name": "Wolfram|Alpha", + "url": "https://www.wolframalpha.com", + "serviceUrl": "https://wolframalpha.mpp.paywithlocus.com", + "description": "Computational knowledge engine — math, science, geography, history, nutrition, finance, and more. Get answers as text, spoken audio, LLM-optimized data, or full structured results.", + "categories": [ + "data" + ], + "integration": "third-party", + "tags": [ + "computation", + "math", + "science", + "knowledge-engine" + ], + "status": "active", + "docs": { + "homepage": "https://products.wolframalpha.com/api", + "llmsTxt": "https://paywithlocus.com/mpp/wolframalpha.md" + }, + "methods": { + "tempo": { + "intents": [ + "charge" + ], + "assets": [ + "0x20c000000000000000000000b9537d11c60e8b50" + ] + } + }, + "realm": "wolframalpha.mpp.paywithlocus.com", + "provider": { + "name": "Wolfram|Alpha", + "url": "https://www.wolframalpha.com" + }, + "endpoints": [ + { + "method": "POST", + "path": "/wolframalpha/short-answer", + "description": "Short Answer", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Short Answer", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/wolframalpha/spoken", + "description": "Spoken Result", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Spoken Result", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/wolframalpha/full-results", + "description": "Full Results", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Full Results", + "amount": "55000", + "unitType": "request" + } + }, + { + "method": "POST", + "path": "/wolframalpha/simple", + "description": "Simple (Image)", + "payment": { + "intent": "charge", + "method": "tempo", + "currency": "0x20c000000000000000000000b9537d11c60e8b50", + "decimals": 6, + "description": "Simple (Image)", + "amount": "55000", + "unitType": "request" + } + } + ] + }, + { + "id": "stripe-climate", + "name": "Stripe Climate", + "url": "https://climate.stripe.dev", + "serviceUrl": "https://climate.stripe.dev", + "description": "Fund permanent carbon removal projects via Stripe Climate.", + "categories": [ + "web" + ], + "integration": "first-party", + "tags": [ + "climate", + "carbon", + "sustainability", + "stripe" + ], + "status": "active", + "docs": { + "homepage": "https://climate.stripe.dev" + }, + "methods": { + "stripe": { + "intents": [ + "charge" + ], + "assets": [ + "usd" + ] + } + }, + "realm": "climate.stripe.dev", + "provider": { + "name": "Stripe", + "url": "https://stripe.com/climate" + }, + "endpoints": [ + { + "method": "POST", + "path": "/api/contribute", + "description": "Create a climate contribution", + "payment": { + "intent": "charge", + "method": "stripe", + "currency": "usd", + "decimals": 2, + "description": "Create a climate contribution", + "dynamic": true, + "amountHint": "$0.01+" + } + } + ] + } + ] +} diff --git a/schemas/services.ts b/schemas/services.ts index 202ae9c7..eedb5da0 100644 --- a/schemas/services.ts +++ b/schemas/services.ts @@ -3193,451 +3193,384 @@ export const services: ServiceDef[] = [ ], }, - // ── Mapbox ────────────────────────────────────────────────────────────── - { - id: "mapbox", - name: "Mapbox", - url: "https://mapbox.mpp.paywithlocus.com", - serviceUrl: "https://mapbox.mpp.paywithlocus.com", - description: - "Geocoding, directions, isochrones, map matching, static maps, and tile queries.", - categories: ["data"], - integration: "third-party", - tags: ["maps", "geocoding", "directions", "routing", "geospatial"], - docs: { homepage: "https://docs.mapbox.com" }, - provider: { name: "Mapbox", url: "https://www.mapbox.com" }, - realm: "mapbox.mpp.paywithlocus.com", - intent: "charge", - payment: TEMPO_PAYMENT, - endpoints: [ - { - route: "POST /mapbox/geocode-forward", - desc: "Convert an address or place name to coordinates", - amount: "750", - unitType: "request", - }, - { - route: "POST /mapbox/geocode-reverse", - desc: "Convert coordinates to an address or place name", - amount: "750", - unitType: "request", - }, - { - route: "POST /mapbox/directions", - desc: "Get turn-by-turn directions between coordinates", - amount: "2000", - unitType: "request", - }, - { - route: "POST /mapbox/matrix", - desc: "Get travel time and distance matrix between coordinates", - dynamic: true, - amountHint: "$0.002 – $0.50", - }, - { - route: "POST /mapbox/isochrone", - desc: "Get reachable area polygons from a point within time or distance limits", - amount: "2000", - unitType: "request", - }, - { - route: "POST /mapbox/map-matching", - desc: "Snap GPS traces to the road network", - amount: "2000", - unitType: "request", - }, - { - route: "POST /mapbox/static-image", - desc: "Generate a static map image", - amount: "1000", - unitType: "request", - }, - { - route: "POST /mapbox/tilequery", - desc: "Query map tile features at a location", - amount: "2000", - unitType: "request", - }, - ], - }, + // ========================================================================= + // Locus — Pay-per-use API proxy (paywithlocus.com) + // + // Each provider runs on its own subdomain: {provider}.mpp.paywithlocus.com + // Agents pay via Tempo USDC.e, no account needed. Automatic refunds on + // upstream failure. Docs: https://paywithlocus.com/mpp/ + // OpenAPI discovery: GET https://{provider}.mpp.paywithlocus.com/openapi.json + // ========================================================================= - // ── RentCast ─────────────────────────────────────────────────────────── + // ── Alpha Vantage ──────────────────────────────────────────────────── { - id: "rentcast", - name: "RentCast", - url: "https://rentcast.mpp.paywithlocus.com", - serviceUrl: "https://rentcast.mpp.paywithlocus.com", + id: "alphavantage", + name: "Alpha Vantage", + url: "https://www.alphavantage.co", + serviceUrl: "https://alphavantage.mpp.paywithlocus.com", description: - "Real estate data including property records, valuations, rent estimates, sale and rental listings, and market statistics.", + "Financial market data — stock prices, forex, crypto, commodities, economic indicators, technical analysis, and news sentiment.", categories: ["data"], integration: "third-party", tags: [ - "real-estate", - "property", - "valuation", - "listings", - "rental", + "finance", + "stocks", + "forex", + "crypto", "market-data", + "technical-analysis", ], - docs: { homepage: "https://developers.rentcast.io" }, - provider: { name: "RentCast", url: "https://www.rentcast.io" }, - realm: "rentcast.mpp.paywithlocus.com", + docs: { + homepage: "https://www.alphavantage.co/documentation/", + llmsTxt: "https://paywithlocus.com/mpp/alphavantage.md", + }, + provider: { name: "Alpha Vantage", url: "https://www.alphavantage.co" }, + realm: "alphavantage.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /rentcast/properties", - desc: "Search property records by address, city, state, zip, or coordinates", - amount: "30000", - unitType: "request", - }, - { - route: "POST /rentcast/property-by-id", - desc: "Get property details by ID", - amount: "30000", - unitType: "request", - }, - { - route: "POST /rentcast/random-properties", - desc: "Get random property records", - amount: "30000", + route: "POST /alphavantage/time-series-intraday", + desc: "Intraday Time Series", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/value-estimate", - desc: "Get property value estimate with comparables", - amount: "30000", + route: "POST /alphavantage/time-series-daily", + desc: "Daily Time Series", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/rent-estimate", - desc: "Get rental price estimate with comparables", - amount: "30000", + route: "POST /alphavantage/time-series-weekly", + desc: "Weekly Time Series", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/sale-listings", - desc: "Search active sale listings", - amount: "30000", + route: "POST /alphavantage/time-series-monthly", + desc: "Monthly Time Series", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/sale-listing-by-id", - desc: "Get sale listing details by ID", - amount: "30000", + route: "POST /alphavantage/global-quote", + desc: "Global Quote", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/rental-listings", - desc: "Search active rental listings", - amount: "30000", + route: "POST /alphavantage/symbol-search", + desc: "Symbol Search", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/rental-listing-by-id", - desc: "Get rental listing details by ID", - amount: "30000", + route: "POST /alphavantage/market-status", + desc: "Market Status", + amount: "8000", unitType: "request", }, { - route: "POST /rentcast/markets", - desc: "Get market statistics for a zip code", - amount: "30000", + route: "POST /alphavantage/top-gainers-losers", + desc: "Top Gainers & Losers", + amount: "8000", unitType: "request", }, - ], - }, - - // ── Stability AI ─────────────────────────────────────────────────────── - { - id: "stability-ai", - name: "Stability AI", - url: "https://stability.mpp.paywithlocus.com", - serviceUrl: "https://stability.mpp.paywithlocus.com", - description: - "Generative AI for images, 3D models, and audio — including generation, editing, upscaling, background removal, style transfer, and more.", - categories: ["ai", "media"], - integration: "third-party", - tags: [ - "ai", - "image-generation", - "image-editing", - "3d", - "audio", - "upscaling", - "style-transfer", - ], - docs: { homepage: "https://platform.stability.ai" }, - provider: { name: "Stability AI", url: "https://stability.ai" }, - realm: "stability.mpp.paywithlocus.com", - intent: "charge", - payment: TEMPO_PAYMENT, - endpoints: [ { - route: "POST /stability-ai/generate-ultra", - desc: "Generate high-quality images with Ultra model", - amount: "92000", + route: "POST /alphavantage/news-sentiment", + desc: "News Sentiment", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/generate-core", - desc: "Generate images with Core model", - amount: "35000", + route: "POST /alphavantage/earnings-call-transcript", + desc: "Earnings Call Transcript", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/generate-sd3", - desc: "Generate images with Stable Diffusion 3 — price varies by model variant", - dynamic: true, - amountHint: "$0.035 – $0.092", - }, - { - route: "POST /stability-ai/erase", - desc: "Erase objects from an image using a mask", - amount: "58000", + route: "POST /alphavantage/company-overview", + desc: "Company Overview", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/inpaint", - desc: "Fill in masked regions of an image with new content", - amount: "58000", + route: "POST /alphavantage/income-statement", + desc: "Income Statement", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/outpaint", - desc: "Extend an image beyond its original borders", - amount: "46000", + route: "POST /alphavantage/balance-sheet", + desc: "Balance Sheet", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/search-and-replace", - desc: "Find and replace objects in an image by description", - amount: "58000", + route: "POST /alphavantage/cash-flow", + desc: "Cash Flow", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/search-and-recolor", - desc: "Find and recolor objects in an image by description", - amount: "58000", + route: "POST /alphavantage/earnings", + desc: "Earnings", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/remove-background", - desc: "Remove the background from an image", - amount: "58000", + route: "POST /alphavantage/currency-exchange-rate", + desc: "Currency Exchange Rate", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/replace-background-and-relight", - desc: "Replace background and adjust lighting on a subject", - amount: "92000", + route: "POST /alphavantage/fx-daily", + desc: "FX Daily", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/upscale-fast", - desc: "Upscale an image quickly (4x)", - amount: "23000", + route: "POST /alphavantage/crypto-exchange-rate", + desc: "Crypto Exchange Rate", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/upscale-conservative", - desc: "Upscale an image with conservative detail enhancement", - amount: "460000", + route: "POST /alphavantage/digital-currency-daily", + desc: "Digital Currency Daily", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/upscale-creative", - desc: "Upscale an image with creative detail synthesis", - amount: "690000", + route: "POST /alphavantage/commodity-price", + desc: "Commodity Price", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/sketch", - desc: "Generate an image guided by a sketch", - amount: "58000", + route: "POST /alphavantage/economic-indicator", + desc: "Economic Indicator", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/structure", - desc: "Generate an image guided by structural input", - amount: "58000", + route: "POST /alphavantage/sma", + desc: "SMA (Simple Moving Average)", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/style-guide", - desc: "Generate an image guided by a style reference", - amount: "58000", + route: "POST /alphavantage/ema", + desc: "EMA (Exponential Moving Average)", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/style-transfer", - desc: "Transfer the style of one image onto another", - amount: "92000", + route: "POST /alphavantage/macd", + desc: "MACD", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/stable-fast-3d", - desc: "Generate a 3D model from a single image (fast)", - amount: "115000", + route: "POST /alphavantage/rsi", + desc: "RSI (Relative Strength Index)", + amount: "8000", unitType: "request", }, { - route: "POST /stability-ai/stable-point-aware-3d", - desc: "Generate a 3D model from a single image (point-aware)", - amount: "46000", + route: "POST /alphavantage/bbands", + desc: "Bollinger Bands", + amount: "8000", unitType: "request", }, - { - route: "POST /stability-ai/text-to-audio", - desc: "Generate audio from a text prompt — price varies by duration", - dynamic: true, - amountHint: "$0.02 – $0.10", - }, - { - route: "POST /stability-ai/audio-to-audio", - desc: "Transform audio guided by a text prompt — price varies by duration", - dynamic: true, - amountHint: "$0.02 – $0.10", - }, - { - route: "POST /stability-ai/audio-inpaint", - desc: "Inpaint a section of audio guided by a text prompt — price varies by duration", - dynamic: true, - amountHint: "$0.02 – $0.10", - }, - { - route: "POST /stability-ai/result", - desc: "Retrieve the result of an async generation by ID", - }, ], }, - // ── Hunter ───────────────────────────────────────────────────────────── + // ── Apollo ─────────────────────────────────────────────────────────── { - id: "hunter", - name: "Hunter", - url: "https://hunter.mpp.paywithlocus.com", - serviceUrl: "https://hunter.mpp.paywithlocus.com", + id: "apollo", + name: "Apollo", + url: "https://www.apollo.io", + serviceUrl: "https://apollo.mpp.paywithlocus.com", description: - "Email finding, verification, and enrichment — domain search, person lookup, and company intelligence.", + "People and company enrichment, lead search, and sales intelligence with 275M+ contacts.", categories: ["data"], integration: "third-party", - tags: ["email", "enrichment", "leads", "verification", "b2b"], - docs: { homepage: "https://hunter.io/api" }, - provider: { name: "Hunter", url: "https://hunter.io" }, - realm: "hunter.mpp.paywithlocus.com", + tags: ["leads", "enrichment", "contacts", "sales-intelligence", "b2b"], + docs: { + homepage: "https://docs.apollo.io", + llmsTxt: "https://paywithlocus.com/mpp/apollo.md", + }, + provider: { name: "Apollo", url: "https://www.apollo.io" }, + realm: "apollo.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /hunter/domain-search", - desc: "Find email addresses associated with a domain — price scales with result limit", + route: "POST /apollo/people-enrichment", + desc: "People Enrichment", dynamic: true, - amountHint: "$0.01 – $0.10", + amountHint: "$0.008-$0.043", }, { - route: "POST /hunter/discover", - desc: "Discover contacts matching filters", - amount: "5000", + route: "POST /apollo/bulk-people-enrichment", + desc: "Bulk People Enrichment", + dynamic: true, + amountHint: "$0.008-$0.043/person", + }, + { + route: "POST /apollo/org-enrichment", + desc: "Organization Enrichment", + amount: "8000", unitType: "request", }, { - route: "POST /hunter/email-finder", - desc: "Find the email address of a person at a company", - amount: "10000", + route: "POST /apollo/bulk-org-enrichment", + desc: "Bulk Organization Enrichment", + dynamic: true, + amountHint: "$0.008/org", + }, + { + route: "POST /apollo/people-search", + desc: "People Search", + amount: "5000", unitType: "request", }, { - route: "POST /hunter/email-verifier", - desc: "Verify the deliverability of an email address", + route: "POST /apollo/org-search", + desc: "Organization Search", amount: "5000", unitType: "request", }, { - route: "POST /hunter/email-enrichment", - desc: "Get enriched data about an email address owner", - amount: "10000", + route: "POST /apollo/job-postings", + desc: "Organization Job Postings", + amount: "5000", unitType: "request", }, { - route: "POST /hunter/company-enrichment", - desc: "Get enriched data about a company by domain", - amount: "10000", + route: "POST /apollo/news-search", + desc: "News Articles Search", + amount: "5000", unitType: "request", }, + ], + }, + + // ── Billboard ──────────────────────────────────────────────────────── + { + id: "billboard", + name: "Billboard", + url: "https://x.com/MPPBillboard", + serviceUrl: "https://billboard.mpp.paywithlocus.com", + description: + "Post to @MPPBillboard on X. Price starts at $0.01 and doubles with every post. The ultimate AI agent billboard.", + categories: ["data"], + integration: "third-party", + tags: ["advertising", "billboard", "mpp-billboard"], + docs: { + homepage: "https://x.com/MPPBillboard", + llmsTxt: "https://paywithlocus.com/mpp/billboard.md", + }, + provider: { name: "Billboard", url: "https://x.com/MPPBillboard" }, + realm: "billboard.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /hunter/combined-enrichment", - desc: "Get combined person and company enrichment from an email", - amount: "20000", + route: "POST /billboard/post", + desc: "Post", + amount: "10000", unitType: "request", }, { - route: "POST /hunter/email-count", - desc: "Get the count of email addresses for a domain", + route: "POST /billboard/get-price", + desc: "Get Price", }, ], }, - // ── Replicate ────────────────────────────────────────────────────────── + // ── Brave Search ───────────────────────────────────────────────────── { - id: "replicate", - name: "Replicate", - url: "https://replicate.mpp.paywithlocus.com", - serviceUrl: "https://replicate.mpp.paywithlocus.com", + id: "brave", + name: "Brave Search", + url: "https://brave.com/search", + serviceUrl: "https://brave.mpp.paywithlocus.com", description: - "Run open-source AI models — image generation, LLMs, video, audio, and more.", - categories: ["ai", "media"], + "Independent web search — web, news, images, videos, AI answers, and LLM context. Privacy-first search from a large independent index.", + categories: ["search"], integration: "third-party", - tags: ["ai", "ml", "models", "inference", "open-source"], - docs: { homepage: "https://replicate.com/docs" }, - provider: { name: "Replicate", url: "https://replicate.com" }, - realm: "replicate.mpp.paywithlocus.com", + tags: ["search", "web-search", "privacy", "news", "images"], + docs: { + homepage: "https://api.search.brave.com/app/#/documentation", + llmsTxt: "https://paywithlocus.com/mpp/brave.md", + }, + provider: { name: "Brave Search", url: "https://brave.com/search" }, + realm: "brave.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /replicate/run", - desc: "Run a model prediction — price varies by model", - dynamic: true, - amountHint: "$0.01 – $1.00", + route: "POST /brave/web-search", + desc: "Web Search", + amount: "35000", + unitType: "request", }, { - route: "POST /replicate/get-prediction", - desc: "Get the status and output of a prediction", + route: "POST /brave/news-search", + desc: "News Search", + amount: "35000", + unitType: "request", }, { - route: "POST /replicate/get-model", - desc: "Get details about a model", - amount: "1000", + route: "POST /brave/image-search", + desc: "Image Search", + amount: "35000", unitType: "request", }, { - route: "POST /replicate/list-models", - desc: "List available models", - amount: "1000", + route: "POST /brave/video-search", + desc: "Video Search", + amount: "35000", + unitType: "request", + }, + { + route: "POST /brave/llm-context", + desc: "LLM Context", + amount: "35000", + unitType: "request", + }, + { + route: "POST /brave/answers", + desc: "AI Answers", + amount: "85000", unitType: "request", }, ], }, - // ── BuiltWith ────────────────────────────────────────────────────────── + // ── BuiltWith ──────────────────────────────────────────────────────── { id: "builtwith", name: "BuiltWith", - url: "https://builtwith.mpp.paywithlocus.com", + url: "https://builtwith.com", serviceUrl: "https://builtwith.mpp.paywithlocus.com", description: - "Technology detection and website profiling — discover what technologies websites use, find competitors, and analyze tech trends.", + "Technology profiling for websites — detect tech stacks, find sites using specific technologies, discover domain relationships, trends, and competitive intelligence across 100M+ websites.", categories: ["data"], integration: "third-party", tags: [ - "technology", - "detection", - "websites", - "analytics", - "competitive-intelligence", + "technology-profiling", + "tech-stack", + "competitive-intel", + "domains", ], - docs: { homepage: "https://api.builtwith.com" }, + docs: { + homepage: "https://api.builtwith.com", + llmsTxt: "https://paywithlocus.com/mpp/builtwith.md", + }, provider: { name: "BuiltWith", url: "https://builtwith.com" }, realm: "builtwith.mpp.paywithlocus.com", intent: "charge", @@ -3645,660 +3578,1943 @@ export const services: ServiceDef[] = [ endpoints: [ { route: "POST /builtwith/domain", - desc: "Get full technology profile for a domain", - amount: "50000", + desc: "Domain Lookup", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/lists", - desc: "Get lists of websites using a specific technology", - amount: "50000", + desc: "Technology Lists", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/relationships", - desc: "Get related websites for a domain", - amount: "50000", + desc: "Relationships", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/company-to-url", - desc: "Find website URLs for a company name", - amount: "50000", + desc: "Company to URL", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/tags", - desc: "Get technology tags for a domain", - amount: "50000", + desc: "Tags", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/product", - desc: "Search for websites using a product or technology", - amount: "50000", + desc: "Product Search", + amount: "55000", unitType: "request", }, { route: "POST /builtwith/recommendations", - desc: "Get technology recommendations for a domain", - amount: "30000", + desc: "Recommendations", + amount: "35000", unitType: "request", }, { route: "POST /builtwith/redirects", - desc: "Get redirect chain for a domain", - amount: "30000", + desc: "Redirects", + amount: "35000", unitType: "request", }, { route: "POST /builtwith/keywords", - desc: "Get keyword analysis for a domain", - amount: "30000", + desc: "Keywords", + amount: "35000", unitType: "request", }, { route: "POST /builtwith/trends", - desc: "Get usage trends for a technology", - amount: "30000", + desc: "Trends", + amount: "35000", unitType: "request", }, { route: "POST /builtwith/trust", - desc: "Get trust and safety signals for a domain", - amount: "30000", + desc: "Trust", + amount: "35000", unitType: "request", }, { route: "POST /builtwith/free", - desc: "Get basic technology profile for a domain (light)", - amount: "10000", + desc: "Free Summary", + amount: "15000", unitType: "request", }, - { - route: "POST /builtwith/whoami", - desc: "Get current API account information", - }, - { - route: "POST /builtwith/usage", - desc: "Get API usage statistics", - }, ], }, - // ── Suno ──────────────────────────────────────────────────────────────── + // ── Clado ──────────────────────────────────────────────────────────── { - id: "suno", - name: "Suno", - url: "https://suno.mpp.paywithlocus.com", - serviceUrl: "https://suno.mpp.paywithlocus.com", + id: "clado", + name: "Clado", + url: "https://clado.ai", + serviceUrl: "https://clado.mpp.paywithlocus.com", description: - "AI music and lyrics generation — create songs, instrumentals, and lyrics from text prompts.", - categories: ["ai", "media"], + "People search, LinkedIn enrichment, and deep research for lead generation.", + categories: ["data"], integration: "third-party", - tags: ["ai", "music", "audio", "lyrics", "generation"], - docs: { homepage: "https://docs.suno.com" }, - provider: { name: "Suno", url: "https://suno.com" }, - realm: "suno.mpp.paywithlocus.com", + tags: ["linkedin", "enrichment", "leads", "deep-research", "people-search"], + docs: { + homepage: "https://docs.clado.ai", + llmsTxt: "https://paywithlocus.com/mpp/clado.md", + }, + provider: { name: "Clado", url: "https://clado.ai" }, + realm: "clado.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /suno/generate-music", - desc: "Generate a song from a text prompt or lyrics", - amount: "100000", - unitType: "request", + route: "POST /clado/search", + desc: "Search", + dynamic: true, + amountHint: "$0.01/result", }, { - route: "POST /suno/get-music-status", - desc: "Check the status of a music generation task", + route: "POST /clado/deep-research", + desc: "Deep Research", + dynamic: true, + amountHint: "$0.01/result", }, { - route: "POST /suno/generate-lyrics", - desc: "Generate song lyrics from a text prompt", - amount: "20000", + route: "POST /clado/deep-research-status", + desc: "Deep Research Status", + amount: "3000", unitType: "request", }, { - route: "POST /suno/get-lyrics-status", - desc: "Check the status of a lyrics generation task", - }, - { - route: "POST /suno/get-credits", - desc: "Get remaining Suno credits balance", - }, - ], - }, - - // ── OpenWeather ──────────────────────────────────────────────────────── - { - id: "openweather", - name: "OpenWeather", - url: "https://weather.mpp.paywithlocus.com", - serviceUrl: "https://weather.mpp.paywithlocus.com", - description: - "Weather data including current conditions, 5-day forecasts, air quality, geocoding, and comprehensive one-call weather.", - categories: ["data"], - integration: "third-party", - tags: ["weather", "forecast", "air-quality", "geocoding", "climate"], - docs: { homepage: "https://openweathermap.org/api" }, - provider: { name: "OpenWeather", url: "https://openweathermap.org" }, - realm: "weather.mpp.paywithlocus.com", - intent: "charge", - payment: TEMPO_PAYMENT, - endpoints: [ - { - route: "POST /openweather/current-weather", - desc: "Get current weather conditions for a location", + route: "POST /clado/deep-research-cancel", + desc: "Cancel Deep Research", amount: "3000", unitType: "request", }, { - route: "POST /openweather/forecast-5day", - desc: "Get 5-day / 3-hour weather forecast", - amount: "5000", - unitType: "request", + route: "POST /clado/deep-research-more", + desc: "Deep Research More", + dynamic: true, + amountHint: "$0.01/result", }, { - route: "POST /openweather/air-quality", - desc: "Get air quality index and pollutant data", - amount: "3000", - unitType: "request", + route: "POST /clado/contacts", + desc: "Contact Enrichment", + dynamic: true, + amountHint: "$0.04-$0.14", }, { - route: "POST /openweather/geocode", - desc: "Convert a place name to coordinates", - amount: "2000", + route: "POST /clado/scrape", + desc: "Scrape LinkedIn", + amount: "23000", unitType: "request", }, { - route: "POST /openweather/reverse-geocode", - desc: "Convert coordinates to a place name", - amount: "2000", + route: "POST /clado/linkedin-profile", + desc: "LinkedIn Profile", + amount: "13000", unitType: "request", }, { - route: "POST /openweather/onecall", - desc: "Get comprehensive weather data (current, minutely, hourly, daily)", - amount: "7000", + route: "POST /clado/post-reactions", + desc: "Post Reactions", + amount: "13000", unitType: "request", }, { - route: "POST /openweather/weather-overview", - desc: "Get a human-readable weather summary", - amount: "7000", + route: "POST /clado/bulk-contacts", + desc: "Bulk Contact Enrichment", + dynamic: true, + amountHint: "$0.04+/contact", + }, + { + route: "POST /clado/bulk-contacts-status", + desc: "Bulk Contacts Status", + amount: "3000", unitType: "request", }, ], }, - // ── Perplexity ───────────────────────────────────────────────────────── + // ── CoinGecko ──────────────────────────────────────────────────────── { - id: "perplexity", - name: "Perplexity", - url: "https://perplexity.mpp.paywithlocus.com", - serviceUrl: "https://perplexity.mpp.paywithlocus.com", + id: "coingecko", + name: "CoinGecko", + url: "https://www.coingecko.com", + serviceUrl: "https://coingecko.mpp.paywithlocus.com", description: - "AI-powered search and chat with Sonar models — real-time web-grounded answers, search, and embeddings.", - categories: ["ai", "search"], + "Cryptocurrency market data — prices, charts, market cap, exchanges, trending coins, global stats, NFTs, derivatives, and on-chain data.", + categories: ["data"], integration: "third-party", - tags: ["ai", "search", "llm", "chat", "embeddings", "web-grounded"], - docs: { homepage: "https://docs.perplexity.ai" }, - provider: { name: "Perplexity", url: "https://www.perplexity.ai" }, - realm: "perplexity.mpp.paywithlocus.com", + tags: ["crypto", "prices", "market-cap", "exchanges", "trending"], + docs: { + homepage: "https://docs.coingecko.com", + llmsTxt: "https://paywithlocus.com/mpp/coingecko.md", + }, + provider: { name: "CoinGecko", url: "https://www.coingecko.com" }, + realm: "coingecko.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /perplexity/chat", - desc: "Chat completion with Sonar models and web citations", - dynamic: true, - amountHint: "$0.001 – $0.05", - }, - { - route: "POST /perplexity/search", - desc: "Web search with structured results", - dynamic: true, - amountHint: "$0.005 – $0.05", + route: "POST /coingecko/simple-price", + desc: "Simple Price", + amount: "60000", + unitType: "request", }, { - route: "POST /perplexity/embed", - desc: "Generate text embeddings", - dynamic: true, - amountHint: "$0.001 – $0.01", + route: "POST /coingecko/simple-token-price", + desc: "Token Price by Contract", + amount: "60000", + unitType: "request", }, { - route: "POST /perplexity/context-embed", - desc: "Generate contextual embeddings for document chunks", - dynamic: true, - amountHint: "$0.001 – $0.01", + route: "POST /coingecko/coins-markets", + desc: "Coins Markets", + amount: "60000", + unitType: "request", }, - ], - }, - - // ── Diffbot ──────────────────────────────────────────────────────────── - { - id: "diffbot", - name: "Diffbot", - url: "https://diffbot.mpp.paywithlocus.com", - serviceUrl: "https://diffbot.mpp.paywithlocus.com", - description: - "Web data extraction, natural language processing, and knowledge graph — extract structured data from any URL, analyze text entities, and search a global knowledge graph.", - categories: ["ai", "data", "web"], - integration: "third-party", - tags: [ - "web-scraping", - "extraction", - "nlp", - "knowledge-graph", - "entities", - "structured-data", - ], - docs: { homepage: "https://docs.diffbot.com" }, - provider: { name: "Diffbot", url: "https://www.diffbot.com" }, - realm: "diffbot.mpp.paywithlocus.com", - intent: "charge", - payment: TEMPO_PAYMENT, - endpoints: [ { - route: "POST /diffbot/article", - desc: "Extract structured article data from a URL", - amount: "1200", + route: "POST /coingecko/coin-data", + desc: "Coin Data", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/product", - desc: "Extract structured product data from a URL", - amount: "1200", + route: "POST /coingecko/coins-list", + desc: "Coins List", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/discussion", - desc: "Extract discussion/comment threads from a URL", - amount: "1200", + route: "POST /coingecko/search", + desc: "Search", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/image", - desc: "Extract image metadata from a URL", - amount: "1200", + route: "POST /coingecko/trending", + desc: "Trending", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/video", - desc: "Extract video metadata from a URL", - amount: "1200", + route: "POST /coingecko/exchange-rates", + desc: "Exchange Rates", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/analyze", - desc: "Auto-detect page type and extract structured data from a URL", - amount: "1200", + route: "POST /coingecko/global", + desc: "Global", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/event", - desc: "Extract event data from a URL", - amount: "1200", + route: "POST /coingecko/global-defi", + desc: "Global DeFi", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/list", - desc: "Extract list items from a URL", - amount: "1200", + route: "POST /coingecko/market-chart", + desc: "Market Chart", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot/job", - desc: "Extract job listing data from a URL", - amount: "1200", + route: "POST /coingecko/coin-history", + desc: "Coin History", + amount: "60000", unitType: "request", }, { - route: "POST /diffbot-nl/analyze", - desc: "Analyze text for entities, relationships, and sentiment (NLP)", - dynamic: true, - amountHint: "$0.001 – $0.01", + route: "POST /coingecko/categories", + desc: "Categories", + amount: "60000", + unitType: "request", }, { - route: "POST /diffbot-kg/search", - desc: "Search the Diffbot Knowledge Graph for entities", - dynamic: true, - amountHint: "$0.03 – $1.50", + route: "POST /coingecko/top-gainers-losers", + desc: "Top Gainers & Losers", + amount: "60000", + unitType: "request", }, { - route: "POST /diffbot-kg/enhance", - desc: "Enrich an entity with Knowledge Graph data", - dynamic: true, - amountHint: "$0.03 – $0.12", + route: "POST /coingecko/exchanges", + desc: "Exchanges", + amount: "60000", + unitType: "request", }, ], }, - // ── Mathpix ──────────────────────────────────────────────────────────── + // ── Company Enrichment ─────────────────────────────────────────────── { - id: "mathpix", - name: "Mathpix", - url: "https://mathpix.mpp.paywithlocus.com", - serviceUrl: "https://mathpix.mpp.paywithlocus.com", - description: - "OCR for math and scientific documents — extract LaTeX, MathML, and text from images and handwritten strokes.", - categories: ["ai"], + id: "abstract-company-enrichment", + name: "Company Enrichment", + url: "https://www.abstractapi.com/api/company-enrichment", + serviceUrl: "https://abstract-company-enrichment.mpp.paywithlocus.com", + description: "Enrich company data from a domain name.", + categories: ["data"], integration: "third-party", - tags: ["ocr", "math", "latex", "handwriting", "document-processing"], - docs: { homepage: "https://docs.mathpix.com" }, - provider: { name: "Mathpix", url: "https://mathpix.com" }, - realm: "mathpix.mpp.paywithlocus.com", + tags: ["company", "enrichment", "domain-lookup"], + docs: { + homepage: "https://docs.abstractapi.com/company-enrichment", + llmsTxt: "https://paywithlocus.com/mpp/abstract-company-enrichment.md", + }, + provider: { + name: "Company Enrichment", + url: "https://www.abstractapi.com/api/company-enrichment", + }, + realm: "abstract-company-enrichment.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /mathpix/process-image", - desc: "Extract LaTeX and text from an image of math or scientific content", - amount: "2000", - unitType: "request", - }, - { - route: "POST /mathpix/process-strokes", - desc: "Convert handwritten strokes to LaTeX and text", - amount: "10000", + route: "POST /abstract-company-enrichment/lookup", + desc: "Lookup", + amount: "6000", unitType: "request", }, ], }, - // ── Judge0 ───────────────────────────────────────────────────────────── + // ── Deepgram ───────────────────────────────────────────────────────── { - id: "judge0", - name: "Judge0", - url: "https://judge0.mpp.paywithlocus.com", - serviceUrl: "https://judge0.mpp.paywithlocus.com", + id: "deepgram", + name: "Deepgram", + url: "https://deepgram.com", + serviceUrl: "https://deepgram.mpp.paywithlocus.com", description: - "Online code execution engine — compile and run code in 70+ programming languages with sandboxed execution.", - categories: ["compute"], + "Industry-leading speech AI — transcribe audio from URLs with Nova-3, generate natural speech with Aura-2 TTS, and analyze text for sentiment, topics, intents, and summaries.", + categories: ["data"], integration: "third-party", - tags: ["code-execution", "compiler", "sandbox", "programming", "languages"], - docs: { homepage: "https://judge0.com" }, - provider: { name: "Judge0", url: "https://judge0.com" }, - realm: "judge0.mpp.paywithlocus.com", + tags: ["speech-to-text", "transcription", "tts", "audio", "sentiment"], + docs: { + homepage: + "https://developers.deepgram.com/reference/deepgram-api-overview", + llmsTxt: "https://paywithlocus.com/mpp/deepgram.md", + }, + provider: { name: "Deepgram", url: "https://deepgram.com" }, + realm: "deepgram.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /judge0/execute-code", - desc: "Execute code synchronously and return the output", - amount: "1000", + route: "POST /deepgram/transcribe", + desc: "Transcribe Audio", + amount: "53000", unitType: "request", }, { - route: "POST /judge0/submit-code", - desc: "Submit code for async execution and get a token", - amount: "1000", + route: "POST /deepgram/speak", + desc: "Text to Speech", + amount: "23000", unitType: "request", }, { - route: "POST /judge0/get-submission", - desc: "Get the status and output of a submitted code execution", - }, - { - route: "POST /judge0/list-languages", - desc: "List all supported programming languages", + route: "POST /deepgram/analyze", + desc: "Analyze Text", + amount: "13000", + unitType: "request", }, { - route: "POST /judge0/list-statuses", - desc: "List all possible submission statuses", + route: "POST /deepgram/list-models", + desc: "List Models", + amount: "4000", + unitType: "request", }, ], }, - // ── Browser Use ──────────────────────────────────────────────────────── + // ── DeepL ──────────────────────────────────────────────────────────── { - id: "browser-use", - name: "Browser Use", - url: "https://beta-api.paywithlocus.com/api/browser-use-mpp", - serviceUrl: "https://beta-api.paywithlocus.com/api/browser-use-mpp", + id: "deepl", + name: "DeepL", + url: "https://www.deepl.com", + serviceUrl: "https://deepl.mpp.paywithlocus.com", description: - "AI-powered browser automation — run tasks in a cloud browser with LLM agents.", - categories: ["ai", "web"], + "Professional translation and text improvement — translate text between 30+ languages with industry-leading quality, or improve and rephrase text with DeepL Write.", + categories: ["data"], integration: "third-party", - tags: ["ai", "browser", "automation", "scraping", "web-agent"], - docs: { homepage: "https://docs.cloud.browser-use.com" }, - provider: { name: "Browser Use", url: "https://browser-use.com" }, - realm: "browseruse.mpp.paywithlocus.com", + tags: ["translation", "languages", "glossary", "document-translation"], + docs: { + homepage: "https://developers.deepl.com", + llmsTxt: "https://paywithlocus.com/mpp/deepl.md", + }, + provider: { name: "DeepL", url: "https://www.deepl.com" }, + realm: "deepl.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /api/browser-use-mpp/run-task", - desc: "Start an automated browser task with an AI agent", + route: "POST /deepl/translate", + desc: "Translate", dynamic: true, - amountHint: "$0.01 – $10.00", - }, - { - route: "POST /api/browser-use-mpp/get-task", - desc: "Retrieve the full details and output of a task", + amountHint: "$0.025+ (scales with text length)", }, { - route: "POST /api/browser-use-mpp/get-task-status", - desc: "Check the current status of a running task", + route: "POST /deepl/rephrase", + desc: "Rephrase (Write)", + dynamic: true, + amountHint: "$0.025+ (scales with text length)", }, { - route: "POST /api/browser-use-mpp/stop-task", - desc: "Stop a running browser task", + route: "POST /deepl/languages", + desc: "Languages", + amount: "5000", + unitType: "request", }, ], }, - // ── Clado ────────────────────────────────────────────────────────────── + // ── DeepSeek ───────────────────────────────────────────────────────── { - id: "clado", - name: "Clado", - url: "https://clado.mpp.paywithlocus.com", - serviceUrl: "https://clado.mpp.paywithlocus.com", + id: "deepseek", + name: "DeepSeek", + url: "https://deepseek.com", + serviceUrl: "https://deepseek.mpp.paywithlocus.com", description: - "People search, LinkedIn enrichment, and deep research for lead generation.", - categories: ["data"], + "Frontier AI models — DeepSeek-V3 for fast chat and code, DeepSeek-R1 for deep chain-of-thought reasoning. OpenAI-compatible API format. Among the most capable and cost-efficient models available.", + categories: ["ai"], integration: "third-party", - tags: ["people-search", "linkedin", "enrichment", "leads", "deep-research"], - docs: { homepage: "https://docs.clado.ai" }, - provider: { name: "Clado", url: "https://clado.ai" }, - realm: "clado.mpp.paywithlocus.com", + tags: ["llm", "reasoning", "code", "chat", "chain-of-thought"], + docs: { + homepage: "https://api-docs.deepseek.com", + llmsTxt: "https://paywithlocus.com/mpp/deepseek.md", + }, + provider: { name: "DeepSeek", url: "https://deepseek.com" }, + realm: "deepseek.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /clado/search", - desc: "Search for people by query", + route: "POST /deepseek/chat", + desc: "Chat", dynamic: true, - amountHint: "$0.01 – $0.30", + amountHint: "Model + token dependent (~$0.004–$0.025)", }, { - route: "POST /clado/deep-research", - desc: "Start async deep research job", + route: "POST /deepseek/fim", + desc: "Fill-In-the-Middle (FIM)", dynamic: true, - amountHint: "$0.01 – $0.30", + amountHint: "Token dependent (~$0.003–$0.005)", }, { - route: "POST /clado/deep-research-status", - desc: "Check deep research status and results", + route: "POST /deepseek/list-models", + desc: "List Models", + amount: "3000", + unitType: "request", }, + ], + }, + + // ── Diffbot ────────────────────────────────────────────────────────── + { + id: "diffbot", + name: "Diffbot", + url: "https://www.diffbot.com", + serviceUrl: "https://diffbot.mpp.paywithlocus.com", + description: + "Web data extraction — articles, products, discussions, images, videos, and auto-detect.", + categories: ["web", "data"], + integration: "third-party", + tags: ["web-scraping", "extraction", "articles", "products"], + docs: { + homepage: "https://docs.diffbot.com", + llmsTxt: "https://paywithlocus.com/mpp/diffbot.md", + }, + provider: { name: "Diffbot", url: "https://www.diffbot.com" }, + realm: "diffbot.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /clado/deep-research-cancel", - desc: "Cancel a running deep research job", + route: "POST /diffbot/article", + desc: "Article", + amount: "4200", + unitType: "request", }, { - route: "POST /clado/deep-research-more", - desc: "Request additional deep research results", - dynamic: true, - amountHint: "$0.01 – $0.30", + route: "POST /diffbot/product", + desc: "Product", + amount: "4200", + unitType: "request", }, { - route: "POST /clado/contacts", - desc: "Get contact info by LinkedIn URL, email, or phone", - dynamic: true, - amountHint: "$0.04 – $0.14", + route: "POST /diffbot/discussion", + desc: "Discussion", + amount: "4200", + unitType: "request", }, { - route: "POST /clado/scrape", - desc: "Scrape a LinkedIn profile", - amount: "2000", + route: "POST /diffbot/image", + desc: "Image", + amount: "4200", unitType: "request", }, { - route: "POST /clado/linkedin-profile", - desc: "Get structured LinkedIn profile data", - amount: "1000", + route: "POST /diffbot/video", + desc: "Video", + amount: "4200", unitType: "request", }, { - route: "POST /clado/post-reactions", - desc: "Get reactions on a LinkedIn post", - amount: "1000", + route: "POST /diffbot/analyze", + desc: "Analyze", + amount: "4200", unitType: "request", }, { - route: "POST /clado/bulk-contacts", - desc: "Enrich contacts in bulk", + route: "POST /diffbot/event", + desc: "Event", + amount: "4200", + unitType: "request", + }, + { + route: "POST /diffbot/list", + desc: "List", + amount: "4200", + unitType: "request", + }, + { + route: "POST /diffbot/job", + desc: "Job Posting", + amount: "4200", + unitType: "request", + }, + ], + }, + + // ── Diffbot KG ─────────────────────────────────────────────────────── + { + id: "diffbot-kg", + name: "Diffbot KG", + url: "https://www.diffbot.com", + serviceUrl: "https://diffbot-kg.mpp.paywithlocus.com", + description: + "Knowledge Graph — search 10B+ entities and enrich company/person records.", + categories: ["data"], + integration: "third-party", + tags: ["knowledge-graph", "entities", "enrichment", "company-data"], + docs: { + homepage: "https://docs.diffbot.com/reference/knowledge-graph", + llmsTxt: "https://paywithlocus.com/mpp/diffbot-kg.md", + }, + provider: { name: "Diffbot KG", url: "https://www.diffbot.com" }, + realm: "diffbot-kg.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /diffbot-kg/search", + desc: "Search (DQL)", dynamic: true, - amountHint: "$0.04 – $1.40", + amountHint: "$0.03–$1.50 (25 credits/entity)", }, { - route: "POST /clado/bulk-contacts-status", - desc: "Check bulk enrichment status", + route: "POST /diffbot-kg/enhance", + desc: "Enhance", + dynamic: true, + amountHint: "$0.03 ($0.12 with refresh)", }, + ], + }, + + // ── Diffbot NL ─────────────────────────────────────────────────────── + { + id: "diffbot-nl", + name: "Diffbot NL", + url: "https://www.diffbot.com", + serviceUrl: "https://diffbot-nl.mpp.paywithlocus.com", + description: + "Natural language processing — NER, sentiment, facts, summarization.", + categories: ["ai"], + integration: "third-party", + tags: ["nlp", "ner", "sentiment", "summarization"], + docs: { + homepage: "https://docs.diffbot.com/reference/natural-language", + llmsTxt: "https://paywithlocus.com/mpp/diffbot-nl.md", + }, + provider: { name: "Diffbot NL", url: "https://www.diffbot.com" }, + realm: "diffbot-nl.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /clado/credits", - desc: "Check remaining API credits", + route: "POST /diffbot-nl/analyze", + desc: "Analyze Text", + dynamic: true, + amountHint: "$0.004+ (per 10k chars)", }, ], }, - // ── EDGAR ────────────────────────────────────────────────────────────── + // ── EDGAR (SEC) ────────────────────────────────────────────────────── { id: "edgar", - name: "EDGAR", - url: "https://edgar.mpp.paywithlocus.com", + name: "EDGAR (SEC)", + url: "https://www.sec.gov/developer", serviceUrl: "https://edgar.mpp.paywithlocus.com", description: - "SEC EDGAR public financial data — company filing history, XBRL financial facts, and single-concept time series.", + "SEC EDGAR public financial data — company filing history, XBRL financial facts (income statements, balance sheets, cash flows), and full-text search across all public filings. No API key required.", categories: ["data"], integration: "third-party", - tags: ["sec", "edgar", "finance", "filings", "xbrl", "stocks"], - docs: { homepage: "https://www.sec.gov/developer" }, - provider: { name: "SEC EDGAR", url: "https://www.sec.gov/developer" }, + tags: ["sec", "filings", "company-data", "financials"], + docs: { + homepage: "https://www.sec.gov/developer", + llmsTxt: "https://paywithlocus.com/mpp/edgar.md", + }, + provider: { name: "EDGAR (SEC)", url: "https://www.sec.gov/developer" }, realm: "edgar.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { route: "POST /edgar/company-submissions", - desc: "Get filing history and metadata for a SEC filer", - amount: "5000", + desc: "Company Submissions", + amount: "8000", unitType: "request", }, { route: "POST /edgar/company-facts", - desc: "Get all XBRL financial data for a company", - amount: "5000", + desc: "Company Facts", + amount: "8000", unitType: "request", }, { route: "POST /edgar/company-concept", - desc: "Get time series for a single XBRL financial metric", - amount: "5000", + desc: "Company Concept", + amount: "8000", unitType: "request", }, ], }, - // ── EDGAR Search ─────────────────────────────────────────────────────── + // ── EDGAR Full-Text Search ─────────────────────────────────────────── { id: "edgar-search", - name: "EDGAR Search", - url: "https://edgar-search.mpp.paywithlocus.com", + name: "EDGAR Full-Text Search", + url: "https://efts.sec.gov", serviceUrl: "https://edgar-search.mpp.paywithlocus.com", description: - "Full-text search across all SEC filings — 10-Ks, 10-Qs, 8-Ks, proxy statements, and more.", - categories: ["data", "search"], + "Full-text search across all SEC filings — 10-Ks, 10-Qs, 8-Ks, proxy statements, and more. Search by keyword, company name, form type, and date range.", + categories: ["data"], integration: "third-party", - tags: ["sec", "edgar", "search", "filings", "finance"], - docs: { homepage: "https://www.sec.gov/developer" }, - provider: { name: "SEC EDGAR", url: "https://www.sec.gov/developer" }, + tags: ["sec", "filings", "full-text-search"], + docs: { + homepage: "https://efts.sec.gov/LATEST/search-index", + llmsTxt: "https://paywithlocus.com/mpp/edgar-search.md", + }, + provider: { name: "EDGAR Full-Text Search", url: "https://efts.sec.gov" }, realm: "edgar-search.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { route: "POST /edgar-search/search", - desc: "Search full text of SEC filings by keyword, company, form type, and date range", - amount: "5000", + desc: "Search Filings", + amount: "8000", + unitType: "request", + }, + ], + }, + + // ── Email Reputation ───────────────────────────────────────────────── + { + id: "abstract-email-reputation", + name: "Email Reputation", + url: "https://www.abstractapi.com/api/email-reputation-api", + serviceUrl: "https://abstract-email-reputation.mpp.paywithlocus.com", + description: "Check the reputation and risk score of an email address.", + categories: ["data"], + integration: "third-party", + tags: ["email", "reputation", "risk-score"], + docs: { + homepage: "https://docs.abstractapi.com/email-reputation", + llmsTxt: "https://paywithlocus.com/mpp/abstract-email-reputation.md", + }, + provider: { + name: "Email Reputation", + url: "https://www.abstractapi.com/api/email-reputation-api", + }, + realm: "abstract-email-reputation.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-email-reputation/check", + desc: "Check", + amount: "6000", unitType: "request", }, ], }, - // ── Laso Finance ─────────────────────────────────────────────────────── + // ── Exchange Rates ─────────────────────────────────────────────────── { - id: "laso", - name: "Laso Finance", - url: "https://beta-api.paywithlocus.com/api/laso-mpp", - serviceUrl: "https://beta-api.paywithlocus.com/api/laso-mpp", + id: "abstract-exchange-rates", + name: "Exchange Rates", + url: "https://www.abstractapi.com/api/exchange-rate-api", + serviceUrl: "https://abstract-exchange-rates.mpp.paywithlocus.com", description: - "AI-powered virtual debit cards, payments via Venmo/PayPal, and balance management.", + "Live, historical, and conversion exchange rates for 150+ currencies.", categories: ["data"], integration: "third-party", - tags: ["finance", "payments", "debit-card", "venmo", "paypal"], - docs: { homepage: "https://docs.paywithlocus.com" }, - provider: { name: "Laso Finance", url: "https://laso.finance" }, - realm: "laso.mpp.paywithlocus.com", + tags: ["forex", "exchange-rates", "currency-conversion"], + docs: { + homepage: "https://docs.abstractapi.com/exchange-rates", + llmsTxt: "https://paywithlocus.com/mpp/abstract-exchange-rates.md", + }, + provider: { + name: "Exchange Rates", + url: "https://www.abstractapi.com/api/exchange-rate-api", + }, + realm: "abstract-exchange-rates.mpp.paywithlocus.com", intent: "charge", payment: TEMPO_PAYMENT, endpoints: [ { - route: "POST /api/laso-mpp/auth", - desc: "Authenticate for a session token", - amount: "5000", + route: "POST /abstract-exchange-rates/live", + desc: "Live Rates", + amount: "6000", + unitType: "request", + }, + { + route: "POST /abstract-exchange-rates/convert", + desc: "Convert", + amount: "6000", + unitType: "request", + }, + { + route: "POST /abstract-exchange-rates/historical", + desc: "Historical Rates", + amount: "6000", unitType: "request", }, + ], + }, + + // ── Grok ───────────────────────────────────────────────────────────── + { + id: "grok", + name: "Grok", + url: "https://x.ai", + serviceUrl: "https://grok.mpp.paywithlocus.com", + description: + "xAI models — chat, web/X search, code execution, image generation/editing, and text-to-speech.", + categories: ["ai"], + integration: "third-party", + tags: ["llm", "chat", "x-search", "web-search", "image-generation", "tts"], + docs: { + homepage: "https://docs.x.ai", + llmsTxt: "https://paywithlocus.com/mpp/grok.md", + }, + provider: { name: "Grok", url: "https://x.ai" }, + realm: "grok.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /grok/chat", + desc: "Chat Completions", + dynamic: true, + amountHint: "Model-dependent (~$0.001–$0.02)", + }, + { + route: "POST /grok/image-generate", + desc: "Image Generation", + dynamic: true, + amountHint: "$0.02–$0.08 per image", + }, + { + route: "POST /grok/image-edit", + desc: "Image Editing", + dynamic: true, + amountHint: "$0.02–$0.08 per image", + }, + { + route: "POST /grok/web-search", + desc: "Chat with Web Search", + dynamic: true, + amountHint: "Dynamic (~$0.01–$0.50)", + }, + { + route: "POST /grok/x-search", + desc: "Chat with X Search", + dynamic: true, + amountHint: "Dynamic (~$0.01–$0.50)", + }, + { + route: "POST /grok/code-execution", + desc: "Chat with Code Execution", + dynamic: true, + amountHint: "Dynamic (~$0.01–$0.50)", + }, + { + route: "POST /grok/tts", + desc: "Text-to-Speech", + dynamic: true, + amountHint: "~$0.005 per 1,000 characters", + }, + ], + }, + + // ── Groq ───────────────────────────────────────────────────────────── + { + id: "groq", + name: "Groq", + url: "https://groq.com", + serviceUrl: "https://groq.mpp.paywithlocus.com", + description: + "Ultra-fast LLM inference — Llama 3.3, DeepSeek R1, Gemma 2, GPT-OSS, Qwen, Whisper, and PlayAI TTS. OpenAI-compatible API with industry-leading speed.", + categories: ["ai"], + integration: "third-party", + tags: ["llm", "fast-inference", "llama", "gemma", "deepseek"], + docs: { + homepage: "https://console.groq.com/docs", + llmsTxt: "https://paywithlocus.com/mpp/groq.md", + }, + provider: { name: "Groq", url: "https://groq.com" }, + realm: "groq.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /api/laso-mpp/get-card", - desc: "Provision a virtual debit card", + route: "POST /groq/chat", + desc: "Chat Completion", dynamic: true, - amountHint: "$5.00 – $1000.00", + amountHint: "$0.005 – $0.10 (varies by model and tokens)", + }, + { + route: "POST /groq/models", + desc: "List Models", + amount: "5000", + unitType: "request", + }, + ], + }, + + // ── Holidays ───────────────────────────────────────────────────────── + { + id: "abstract-holidays", + name: "Holidays", + url: "https://www.abstractapi.com/api/holidays-api", + serviceUrl: "https://abstract-holidays.mpp.paywithlocus.com", + description: "Public holiday data for 200+ countries.", + categories: ["data"], + integration: "third-party", + tags: ["holidays", "countries", "public-holidays"], + docs: { + homepage: "https://docs.abstractapi.com/holidays", + llmsTxt: "https://paywithlocus.com/mpp/abstract-holidays.md", + }, + provider: { + name: "Holidays", + url: "https://www.abstractapi.com/api/holidays-api", + }, + realm: "abstract-holidays.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-holidays/lookup", + desc: "Lookup", + amount: "6000", + unitType: "request", }, + ], + }, + + // ── Hunter ─────────────────────────────────────────────────────────── + { + id: "hunter", + name: "Hunter", + url: "https://hunter.io", + serviceUrl: "https://hunter.mpp.paywithlocus.com", + description: + "Email finding, verification, and company enrichment for outreach and lead generation.", + categories: ["data"], + integration: "third-party", + tags: ["email", "verification", "enrichment", "outreach"], + docs: { + homepage: "https://hunter.io/api-documentation/v2", + llmsTxt: "https://paywithlocus.com/mpp/hunter.md", + }, + provider: { name: "Hunter", url: "https://hunter.io" }, + realm: "hunter.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /api/laso-mpp/send-payment", - desc: "Send payment via Venmo or PayPal", + route: "POST /hunter/domain-search", + desc: "Domain Search", dynamic: true, - amountHint: "$5.00 – $1000.00", + amountHint: "$0.013-$0.103", + }, + { + route: "POST /hunter/discover", + desc: "Discover Companies", + amount: "8000", + unitType: "request", + }, + { + route: "POST /hunter/email-finder", + desc: "Email Finder", + amount: "13000", + unitType: "request", + }, + { + route: "POST /hunter/email-verifier", + desc: "Email Verifier", + amount: "8000", + unitType: "request", + }, + { + route: "POST /hunter/email-enrichment", + desc: "Email Enrichment", + amount: "13000", + unitType: "request", }, { - route: "POST /api/laso-mpp/get-card-data", - desc: "Get card status and details", + route: "POST /hunter/company-enrichment", + desc: "Company Enrichment", + amount: "13000", + unitType: "request", }, { - route: "POST /api/laso-mpp/get-payment-status", - desc: "Check payment status", + route: "POST /hunter/combined-enrichment", + desc: "Combined Enrichment", + amount: "23000", + unitType: "request", }, { - route: "POST /api/laso-mpp/get-account-balance", - desc: "Check account balance", + route: "POST /hunter/email-count", + desc: "Email Count", + amount: "3000", + unitType: "request", }, + ], + }, + + // ── IBAN Validation ────────────────────────────────────────────────── + { + id: "abstract-iban-validation", + name: "IBAN Validation", + url: "https://www.abstractapi.com/api/iban-validation-api", + serviceUrl: "https://abstract-iban-validation.mpp.paywithlocus.com", + description: "Validate International Bank Account Numbers (IBANs).", + categories: ["data"], + integration: "third-party", + tags: ["iban", "banking", "validation"], + docs: { + homepage: "https://docs.abstractapi.com/iban-validation", + llmsTxt: "https://paywithlocus.com/mpp/abstract-iban-validation.md", + }, + provider: { + name: "IBAN Validation", + url: "https://www.abstractapi.com/api/iban-validation-api", + }, + realm: "abstract-iban-validation.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /api/laso-mpp/withdraw", - desc: "Initiate a withdrawal", + route: "POST /abstract-iban-validation/validate", + desc: "Validate", + amount: "6000", + unitType: "request", }, + ], + }, + + // ── IP Intelligence ────────────────────────────────────────────────── + { + id: "abstract-ip-intelligence", + name: "IP Intelligence", + url: "https://www.abstractapi.com/api/ip-intelligence-api", + serviceUrl: "https://abstract-ip-intelligence.mpp.paywithlocus.com", + description: "Detect VPNs, proxies, bots, and Tor nodes by IP address.", + categories: ["data"], + integration: "third-party", + tags: ["ip", "vpn-detection", "proxy", "bot-detection"], + docs: { + homepage: "https://docs.abstractapi.com/ip-intelligence", + llmsTxt: "https://paywithlocus.com/mpp/abstract-ip-intelligence.md", + }, + provider: { + name: "IP Intelligence", + url: "https://www.abstractapi.com/api/ip-intelligence-api", + }, + realm: "abstract-ip-intelligence.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /api/laso-mpp/get-withdrawal-status", - desc: "Check withdrawal status", + route: "POST /abstract-ip-intelligence/lookup", + desc: "Lookup", + amount: "6000", + unitType: "request", }, + ], + }, + + // ── IPinfo ─────────────────────────────────────────────────────────── + { + id: "ipinfo", + name: "IPinfo", + url: "https://ipinfo.io", + serviceUrl: "https://ipinfo.mpp.paywithlocus.com", + description: + "IP intelligence — geolocation, ASN, privacy detection, carrier data, and hosting identification.", + categories: ["data"], + integration: "third-party", + tags: ["ip", "geolocation", "asn", "privacy-detection"], + docs: { + homepage: "https://ipinfo.io/developers", + llmsTxt: "https://paywithlocus.com/mpp/ipinfo.md", + }, + provider: { name: "IPinfo", url: "https://ipinfo.io" }, + realm: "ipinfo.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ { - route: "POST /api/laso-mpp/refresh-card-data", - desc: "Refresh card data", + route: "POST /ipinfo/ip-lite", + desc: "IP Lite", + amount: "1000", + unitType: "request", }, { - route: "POST /api/laso-mpp/refresh", - desc: "Exchange refresh token for new ID token", + route: "POST /ipinfo/ip-lookup", + desc: "IP Lookup", + amount: "1000", + unitType: "request", + }, + ], + }, + + // ── Judge0 ─────────────────────────────────────────────────────────── + { + id: "judge0", + name: "Judge0", + url: "https://judge0.com", + serviceUrl: "https://judge0.mpp.paywithlocus.com", + description: + "Online code execution — run source code in 60+ programming languages with sandboxed isolation.", + categories: ["compute"], + integration: "third-party", + tags: ["code-execution", "sandbox", "programming-languages"], + docs: { + homepage: "https://ce.judge0.com", + llmsTxt: "https://paywithlocus.com/mpp/judge0.md", + }, + provider: { name: "Judge0", url: "https://judge0.com" }, + realm: "judge0.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /judge0/execute-code", + desc: "Execute Code", + amount: "6000", + unitType: "request", + }, + { + route: "POST /judge0/submit-code", + desc: "Submit Code (Async)", + amount: "6000", + unitType: "request", + }, + { + route: "POST /judge0/get-submission", + desc: "Get Submission", + amount: "5000", + unitType: "request", + }, + { + route: "POST /judge0/list-languages", + desc: "List Languages", + amount: "5000", + unitType: "request", + }, + { + route: "POST /judge0/list-statuses", + desc: "List Statuses", + amount: "5000", + unitType: "request", + }, + ], + }, + + // ── Mapbox ─────────────────────────────────────────────────────────── + { + id: "mapbox", + name: "Mapbox", + url: "https://www.mapbox.com", + serviceUrl: "https://mapbox.mpp.paywithlocus.com", + description: + "Location and mapping APIs — geocoding, directions, isochrones, matrix routing, map matching, static maps, and spatial queries.", + categories: ["data"], + integration: "third-party", + tags: ["maps", "geocoding", "directions", "routing", "geospatial"], + docs: { + homepage: "https://docs.mapbox.com/api/", + llmsTxt: "https://paywithlocus.com/mpp/mapbox.md", + }, + provider: { name: "Mapbox", url: "https://www.mapbox.com" }, + realm: "mapbox.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /mapbox/geocode-forward", + desc: "Forward Geocode", + amount: "3750", + unitType: "request", + }, + { + route: "POST /mapbox/geocode-reverse", + desc: "Reverse Geocode", + amount: "3750", + unitType: "request", + }, + { + route: "POST /mapbox/directions", + desc: "Directions", + amount: "5000", + unitType: "request", + }, + { + route: "POST /mapbox/matrix", + desc: "Matrix", + dynamic: true, + amountHint: "$0.002/element", + }, + { + route: "POST /mapbox/isochrone", + desc: "Isochrone", + amount: "5000", + unitType: "request", + }, + { + route: "POST /mapbox/map-matching", + desc: "Map Matching", + amount: "5000", + unitType: "request", + }, + { + route: "POST /mapbox/static-image", + desc: "Static Image", + amount: "4000", + unitType: "request", + }, + { + route: "POST /mapbox/tilequery", + desc: "Tilequery", + amount: "5000", + unitType: "request", + }, + ], + }, + + // ── Mathpix ────────────────────────────────────────────────────────── + { + id: "mathpix", + name: "Mathpix", + url: "https://mathpix.com", + serviceUrl: "https://mathpix.mpp.paywithlocus.com", + description: + "OCR for math, science, and documents — extract LaTeX, MathML, and Mathpix Markdown from images and handwriting.", + categories: ["ai"], + integration: "third-party", + tags: ["ocr", "math", "latex", "equations", "documents"], + docs: { + homepage: "https://docs.mathpix.com", + llmsTxt: "https://paywithlocus.com/mpp/mathpix.md", + }, + provider: { name: "Mathpix", url: "https://mathpix.com" }, + realm: "mathpix.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /mathpix/process-image", + desc: "Process Image", + amount: "5000", + unitType: "request", + }, + { + route: "POST /mathpix/process-strokes", + desc: "Process Strokes", + amount: "13000", + unitType: "request", + }, + ], + }, + + // ── Mistral AI ─────────────────────────────────────────────────────── + { + id: "mistral", + name: "Mistral AI", + url: "https://mistral.ai", + serviceUrl: "https://mistral.mpp.paywithlocus.com", + description: + "Premier and open-source LLMs — Mistral Large, Medium, Small, Codestral, Magistral reasoning, Pixtral vision, text embeddings, and content moderation.", + categories: ["ai"], + integration: "third-party", + tags: ["llm", "chat", "embeddings", "code", "reasoning"], + docs: { + homepage: "https://docs.mistral.ai", + llmsTxt: "https://paywithlocus.com/mpp/mistral.md", + }, + provider: { name: "Mistral AI", url: "https://mistral.ai" }, + realm: "mistral.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /mistral/chat", + desc: "Chat Completion", + dynamic: true, + amountHint: "$0.005 – $0.10 (varies by model and tokens)", + }, + { + route: "POST /mistral/embed", + desc: "Embeddings", + amount: "8000", + unitType: "request", + }, + { + route: "POST /mistral/moderate", + desc: "Moderation", + amount: "8000", + unitType: "request", + }, + { + route: "POST /mistral/models", + desc: "List Models", + amount: "5000", + unitType: "request", + }, + ], + }, + + // ── OpenWeather ────────────────────────────────────────────────────── + { + id: "openweather", + name: "OpenWeather", + url: "https://openweathermap.org", + serviceUrl: "https://openweather.mpp.paywithlocus.com", + description: + "Global weather data — current conditions, 5-day forecasts, hourly forecasts, air quality index with pollutants, geocoding, and One Call 3.0 with full weather suite and government alerts.", + categories: ["data"], + integration: "third-party", + tags: ["weather", "forecast", "conditions", "temperature"], + docs: { + homepage: "https://openweathermap.org/api", + llmsTxt: "https://paywithlocus.com/mpp/openweather.md", + }, + provider: { name: "OpenWeather", url: "https://openweathermap.org" }, + realm: "openweather.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /openweather/current-weather", + desc: "Current Weather", + amount: "6000", + unitType: "request", + }, + { + route: "POST /openweather/forecast-5day", + desc: "5-Day Forecast", + amount: "8000", + unitType: "request", + }, + { + route: "POST /openweather/air-quality", + desc: "Air Quality", + amount: "6000", + unitType: "request", + }, + { + route: "POST /openweather/geocode", + desc: "Geocode", + amount: "5000", + unitType: "request", + }, + { + route: "POST /openweather/reverse-geocode", + desc: "Reverse Geocode", + amount: "5000", + unitType: "request", + }, + { + route: "POST /openweather/onecall", + desc: "One Call — Full Forecast", + amount: "10000", + unitType: "request", + }, + { + route: "POST /openweather/weather-overview", + desc: "Weather Overview", + amount: "10000", + unitType: "request", + }, + ], + }, + + // ── Perplexity ─────────────────────────────────────────────────────── + { + id: "perplexity", + name: "Perplexity", + url: "https://perplexity.ai", + serviceUrl: "https://perplexity.mpp.paywithlocus.com", + description: + "AI-powered search — Sonar chat with real-time web grounding, web search, and embeddings.", + categories: ["ai", "search"], + integration: "third-party", + tags: ["search", "ai-search", "web-grounding", "sonar"], + docs: { + homepage: "https://docs.perplexity.ai", + llmsTxt: "https://paywithlocus.com/mpp/perplexity.md", + }, + provider: { name: "Perplexity", url: "https://perplexity.ai" }, + realm: "perplexity.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /perplexity/chat", + desc: "Sonar Chat", + dynamic: true, + amountHint: "Model-dependent (~$0.005–$0.02)", + }, + { + route: "POST /perplexity/search", + desc: "Web Search", + dynamic: true, + amountHint: "$0.006", + }, + { + route: "POST /perplexity/embed", + desc: "Embeddings", + dynamic: true, + amountHint: "~$0.001", + }, + { + route: "POST /perplexity/context-embed", + desc: "Contextualized Embeddings", + dynamic: true, + amountHint: "~$0.001", + }, + ], + }, + + // ── Phone Intelligence ─────────────────────────────────────────────── + { + id: "abstract-phone-intelligence", + name: "Phone Intelligence", + url: "https://www.abstractapi.com/api/phone-validation-api", + serviceUrl: "https://abstract-phone-intelligence.mpp.paywithlocus.com", + description: "Validate and get carrier info for phone numbers worldwide.", + categories: ["data"], + integration: "third-party", + tags: ["phone", "carrier", "validation"], + docs: { + homepage: "https://docs.abstractapi.com/phone-intelligence", + llmsTxt: "https://paywithlocus.com/mpp/abstract-phone-intelligence.md", + }, + provider: { + name: "Phone Intelligence", + url: "https://www.abstractapi.com/api/phone-validation-api", + }, + realm: "abstract-phone-intelligence.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-phone-intelligence/lookup", + desc: "Lookup", + amount: "6000", + unitType: "request", + }, + ], + }, + + // ── RentCast ───────────────────────────────────────────────────────── + { + id: "rentcast", + name: "RentCast", + url: "https://rentcast.io", + serviceUrl: "https://rentcast.mpp.paywithlocus.com", + description: + "US real estate intelligence — property records, AVM valuations, rent estimates, sale/rental listings, and market statistics.", + categories: ["data"], + integration: "third-party", + tags: ["real-estate", "property", "valuations", "rent-estimates"], + docs: { + homepage: "https://developers.rentcast.io/reference/introduction", + llmsTxt: "https://paywithlocus.com/mpp/rentcast.md", + }, + provider: { name: "RentCast", url: "https://rentcast.io" }, + realm: "rentcast.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /rentcast/properties", + desc: "Property Records", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/property-by-id", + desc: "Property by ID", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/random-properties", + desc: "Random Properties", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/value-estimate", + desc: "Value Estimate (AVM)", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/rent-estimate", + desc: "Rent Estimate", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/sale-listings", + desc: "Sale Listings", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/sale-listing-by-id", + desc: "Sale Listing by ID", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/rental-listings", + desc: "Rental Listings", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/rental-listing-by-id", + desc: "Rental Listing by ID", + amount: "33000", + unitType: "request", + }, + { + route: "POST /rentcast/markets", + desc: "Market Statistics", + amount: "33000", + unitType: "request", + }, + ], + }, + + // ── Replicate ──────────────────────────────────────────────────────── + { + id: "replicate", + name: "Replicate", + url: "https://replicate.com", + serviceUrl: "https://replicate.mpp.paywithlocus.com", + description: + "Run thousands of open-source AI models via API — image generation, language models, speech recognition, video, and more. Pay only for what you use.", + categories: ["ai", "media"], + integration: "third-party", + tags: ["ai-models", "open-source", "image-generation", "inference"], + docs: { + homepage: "https://replicate.com/docs/reference/http", + llmsTxt: "https://paywithlocus.com/mpp/replicate.md", + }, + provider: { name: "Replicate", url: "https://replicate.com" }, + realm: "replicate.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /replicate/run", + desc: "Run Model", + dynamic: true, + amountHint: "Model-dependent ($0.005–$0.05)", + }, + { + route: "POST /replicate/get-prediction", + desc: "Get Prediction", + amount: "3000", + unitType: "request", + }, + { + route: "POST /replicate/get-model", + desc: "Get Model", + amount: "4000", + unitType: "request", + }, + { + route: "POST /replicate/list-models", + desc: "List Models", + amount: "4000", + unitType: "request", + }, + ], + }, + + // ── ScreenshotOne ──────────────────────────────────────────────────── + { + id: "screenshotone", + name: "ScreenshotOne", + url: "https://screenshotone.com", + serviceUrl: "https://screenshotone.mpp.paywithlocus.com", + description: + "Website screenshot API — capture any URL, HTML, or markdown as PNG, JPEG, WebP, or PDF. Full-page, element selection, dark mode, ad blocking, and more.", + categories: ["compute"], + integration: "third-party", + tags: ["screenshots", "webpage-capture", "rendering"], + docs: { + homepage: "https://screenshotone.com/docs/getting-started/", + llmsTxt: "https://paywithlocus.com/mpp/screenshotone.md", + }, + provider: { name: "ScreenshotOne", url: "https://screenshotone.com" }, + realm: "screenshotone.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /screenshotone/take", + desc: "Take Screenshot", + amount: "55000", + unitType: "request", + }, + ], + }, + + // ── Stability AI ───────────────────────────────────────────────────── + { + id: "stability-ai", + name: "Stability AI", + url: "https://stability.ai", + serviceUrl: "https://stability-ai.mpp.paywithlocus.com", + description: + "Generative AI platform for images, 3D models, and audio — text-to-image, editing, upscaling, and more.", + categories: ["ai", "media"], + integration: "third-party", + tags: ["image-generation", "stable-diffusion", "upscaling", "3d"], + docs: { + homepage: "https://platform.stability.ai/docs/api-reference", + llmsTxt: "https://paywithlocus.com/mpp/stability-ai.md", + }, + provider: { name: "Stability AI", url: "https://stability.ai" }, + realm: "stability-ai.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /stability-ai/generate-ultra", + desc: "Generate Ultra", + amount: "92000", + unitType: "request", + }, + { + route: "POST /stability-ai/generate-core", + desc: "Generate Core", + amount: "34000", + unitType: "request", + }, + { + route: "POST /stability-ai/generate-sd3", + desc: "Generate SD3", + dynamic: true, + amountHint: "$0.029–$0.075 (model-dependent)", + }, + { + route: "POST /stability-ai/erase", + desc: "Erase", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/inpaint", + desc: "Inpaint", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/outpaint", + desc: "Outpaint", + amount: "46000", + unitType: "request", + }, + { + route: "POST /stability-ai/search-and-replace", + desc: "Search and Replace", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/search-and-recolor", + desc: "Search and Recolor", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/remove-background", + desc: "Remove Background", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/replace-background-and-relight", + desc: "Replace Background & Relight", + amount: "92000", + unitType: "request", + }, + { + route: "POST /stability-ai/upscale-fast", + desc: "Upscale Fast", + amount: "23000", + unitType: "request", + }, + { + route: "POST /stability-ai/upscale-conservative", + desc: "Upscale Conservative", + amount: "460000", + unitType: "request", + }, + { + route: "POST /stability-ai/upscale-creative", + desc: "Upscale Creative", + amount: "690000", + unitType: "request", + }, + { + route: "POST /stability-ai/sketch", + desc: "Sketch", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/structure", + desc: "Structure", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/style-guide", + desc: "Style Guide", + amount: "57000", + unitType: "request", + }, + { + route: "POST /stability-ai/style-transfer", + desc: "Style Transfer", + amount: "92000", + unitType: "request", + }, + { + route: "POST /stability-ai/stable-fast-3d", + desc: "Stable Fast 3D", + amount: "115000", + unitType: "request", + }, + { + route: "POST /stability-ai/stable-point-aware-3d", + desc: "Stable Point Aware 3D", + amount: "46000", + unitType: "request", + }, + { + route: "POST /stability-ai/text-to-audio", + desc: "Text to Audio", + dynamic: true, + amountHint: "$0.23 (50 steps, stable-audio-2)", + }, + { + route: "POST /stability-ai/audio-to-audio", + desc: "Audio to Audio", + dynamic: true, + amountHint: "$0.23 (50 steps, stable-audio-2)", + }, + { + route: "POST /stability-ai/audio-inpaint", + desc: "Audio Inpaint", + dynamic: true, + amountHint: "$0.23 (50 steps, stable-audio-2)", + }, + { + route: "POST /stability-ai/result", + desc: "Result", + }, + ], + }, + + // ── Suno ───────────────────────────────────────────────────────────── + { + id: "suno", + name: "Suno", + url: "https://sunoapi.org", + serviceUrl: "https://suno.mpp.paywithlocus.com", + description: + "AI music generation — create full songs, generate lyrics, and build custom music tracks with state-of-the-art AI models. Supports custom styles, vocals, and instrumental modes.", + categories: ["ai", "media"], + integration: "third-party", + tags: ["music-generation", "ai-music", "lyrics", "songs"], + docs: { + homepage: "https://docs.sunoapi.org", + llmsTxt: "https://paywithlocus.com/mpp/suno.md", + }, + provider: { name: "Suno", url: "https://sunoapi.org" }, + realm: "suno.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /suno/generate-music", + desc: "Generate Music", + amount: "105000", + unitType: "request", + }, + { + route: "POST /suno/get-music-status", + desc: "Get Music Status", + amount: "5000", + unitType: "request", + }, + { + route: "POST /suno/generate-lyrics", + desc: "Generate Lyrics", + amount: "25000", + unitType: "request", + }, + { + route: "POST /suno/get-lyrics-status", + desc: "Get Lyrics Status", + amount: "5000", + unitType: "request", + }, + ], + }, + + // ── Tavily ─────────────────────────────────────────────────────────── + { + id: "tavily", + name: "Tavily", + url: "https://tavily.com", + serviceUrl: "https://tavily.mpp.paywithlocus.com", + description: + "AI-optimized web search, content extraction, site mapping, and crawling API.", + categories: ["search", "web"], + integration: "third-party", + tags: ["ai-search", "web-search", "extraction", "crawling"], + docs: { + homepage: "https://docs.tavily.com", + llmsTxt: "https://paywithlocus.com/mpp/tavily.md", + }, + provider: { name: "Tavily", url: "https://tavily.com" }, + realm: "tavily.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /tavily/search", + desc: "Search", + dynamic: true, + amountHint: "$0.09 (basic) / $0.16 (advanced)", + }, + { + route: "POST /tavily/extract", + desc: "Extract", + dynamic: true, + amountHint: "$0.11+ (scales with URL count)", + }, + { + route: "POST /tavily/map", + desc: "Map", + amount: "90000", + unitType: "request", + }, + { + route: "POST /tavily/crawl", + desc: "Crawl", + dynamic: true, + amountHint: "$0.21+ (scales with page limit)", + }, + ], + }, + + // ── Timezone ───────────────────────────────────────────────────────── + { + id: "abstract-timezone", + name: "Timezone", + url: "https://www.abstractapi.com/api/time-date-timezone-api", + serviceUrl: "https://abstract-timezone.mpp.paywithlocus.com", + description: "Current time and timezone conversion for any location.", + categories: ["data"], + integration: "third-party", + tags: ["timezone", "time-conversion", "location"], + docs: { + homepage: "https://docs.abstractapi.com/timezone", + llmsTxt: "https://paywithlocus.com/mpp/abstract-timezone.md", + }, + provider: { + name: "Timezone", + url: "https://www.abstractapi.com/api/time-date-timezone-api", + }, + realm: "abstract-timezone.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-timezone/current-time", + desc: "Current Time", + amount: "6000", + unitType: "request", + }, + { + route: "POST /abstract-timezone/convert-time", + desc: "Convert Time", + amount: "6000", + unitType: "request", + }, + ], + }, + + // ── VAT ────────────────────────────────────────────────────────────── + { + id: "abstract-vat", + name: "VAT", + url: "https://www.abstractapi.com/api/vat-validation-rates-api", + serviceUrl: "https://abstract-vat.mpp.paywithlocus.com", + description: + "VAT number validation, rate calculation, and category lookup for EU.", + categories: ["data"], + integration: "third-party", + tags: ["vat", "tax", "eu-compliance"], + docs: { + homepage: "https://docs.abstractapi.com/vat", + llmsTxt: "https://paywithlocus.com/mpp/abstract-vat.md", + }, + provider: { + name: "VAT", + url: "https://www.abstractapi.com/api/vat-validation-rates-api", + }, + realm: "abstract-vat.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-vat/validate", + desc: "Validate", + amount: "6000", + unitType: "request", + }, + { + route: "POST /abstract-vat/calculate", + desc: "Calculate", + amount: "6000", + unitType: "request", + }, + { + route: "POST /abstract-vat/categories", + desc: "Categories", + amount: "6000", + unitType: "request", + }, + ], + }, + + // ── Web Scraping ───────────────────────────────────────────────────── + { + id: "abstract-web-scraping", + name: "Web Scraping", + url: "https://www.abstractapi.com/api/web-scraping-api", + serviceUrl: "https://abstract-web-scraping.mpp.paywithlocus.com", + description: "Scrape web pages with optional JavaScript rendering.", + categories: ["web", "data"], + integration: "third-party", + tags: ["scraping", "web-pages", "javascript-rendering"], + docs: { + homepage: "https://docs.abstractapi.com/web-scraping", + llmsTxt: "https://paywithlocus.com/mpp/abstract-web-scraping.md", + }, + provider: { + name: "Web Scraping", + url: "https://www.abstractapi.com/api/web-scraping-api", + }, + realm: "abstract-web-scraping.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /abstract-web-scraping/scrape", + desc: "Scrape", + amount: "6000", + unitType: "request", + }, + ], + }, + + // ── Wolfram|Alpha ──────────────────────────────────────────────────── + { + id: "wolframalpha", + name: "Wolfram|Alpha", + url: "https://www.wolframalpha.com", + serviceUrl: "https://wolframalpha.mpp.paywithlocus.com", + description: + "Computational knowledge engine — math, science, geography, history, nutrition, finance, and more. Get answers as text, spoken audio, LLM-optimized data, or full structured results.", + categories: ["data"], + integration: "third-party", + tags: ["computation", "math", "science", "knowledge-engine"], + docs: { + homepage: "https://products.wolframalpha.com/api", + llmsTxt: "https://paywithlocus.com/mpp/wolframalpha.md", + }, + provider: { name: "Wolfram|Alpha", url: "https://www.wolframalpha.com" }, + realm: "wolframalpha.mpp.paywithlocus.com", + intent: "charge", + payment: TEMPO_PAYMENT, + endpoints: [ + { + route: "POST /wolframalpha/short-answer", + desc: "Short Answer", + amount: "55000", + unitType: "request", + }, + { + route: "POST /wolframalpha/spoken", + desc: "Spoken Result", + amount: "55000", + unitType: "request", + }, + { + route: "POST /wolframalpha/full-results", + desc: "Full Results", + amount: "55000", + unitType: "request", + }, + { + route: "POST /wolframalpha/simple", + desc: "Simple (Image)", + amount: "55000", + unitType: "request", }, ], },