Vaaya
activeCall paid services through Vaaya with one API key, or pay per call with no account. This specification covers the actions sold keyless: fixed-price actions over x402 (USDC on Base) and, where listed, MPP (Tempo charge, USDC.e), plus the MPP-only Hotel Lobby video job. Use GET /api/run for all actions, including free and variable-price services. Read the schema guide at…
Settled via Coinbase.
- Transactions · 30d
- 1,467
- Volume · 30d
- $55.24
- Unique buyers · 30d
- 103
- Uptime · 30d
- 87.6%
- Latency p50
- 151ms
- Reported calls · 30d
- 1,301
Endpoints (303 live)
POST/api/run/modal/sandbox-terminate— Modal — Terminate a running sandbox. (0.01 USDC on Base)POST/api/run/modal/sandbox-status— Modal — Check status of a sandbox. (0.01 USDC on Base)POST/api/run/apify/instagram-posts— Apify — Recent posts for Instagram usernames. (0.01 USDC on Base)POST/api/run/signalbase/funding— Signalbase — Real-time FUNDING ROUND signals: who raised, how much, which round, from which investors, with sources. Filters: `date_preset` ("last_30d"…) or `dateFrom`/`dateTo`, `round` (Seed, Series A…), `round_flavor` (bridge/extension/secondary), `amount_min`/`amount_max` (USD), `investor_name`, `countries`/`categories` (comma-separated), `company_name`/`company_domain`/`company_linkedin_url`, `employee_count_min`/`max`, `verification_status`. `limit` ≤100, `page` for more — flat price per c… (0.25 USDC on Base)POST/api/run/apify/instagram-profile— Apify — Public profile metadata for Instagram usernames. (0.01 USDC on Base)POST/api/run/strale/check— Strale — 191 compliance/KYB/company-data checks over x402: sanctions/PEP/AML/adverse-media screening, company registries (UK/US/EU/JP/BR & more), email & domain trust, trade/customs/shipping, web3 due-diligence /solutions/*. POST { endpoint, ...input }. Caps 3¢–$1.19; user pays actual settle. See compliance-data knowledge doc or vaaya/discover. (0.3 USDC on Base)POST/api/run/theirstack/technographics— TheirStack — List the technologies a company uses, each with confidence (low/medium/high), the number of job posts mentioning it, and first/last dates seen. Pass ONE of `company_domain` (preferred), `company_name`, `company_linkedin_url`; optional `keyword_category_slug_or`, `confidence_or`, `min_jobs`, `limit` (rows). Flat vendor cost per company lookup regardless of rows; free upstream when the company isn't found. (0.25 USDC on Base)POST/api/run/akta/headcount-trends— Workforce metrics for a company by domain or Akta uuid: total headcount, growth rates across time windows, staffing breakdown by function. Growth/contraction signal for account prioritization. (0.18 USDC on Base)POST/api/run/google-trends/fetch— Google Trends (via x402atlas) — search-demand data: /trend, /interest-by-region, /related-queries, /related-topics. GET { endpoint, keyword, ... }. ~5¢ caps. Use for demand/market research alongside exa search. (0.05 USDC on Base)POST/api/run/theirstack/buying-intents— TheirStack — List the BUYING-INTENT topics detected for a company from its job posts (each with confidence, mention count, first/last dates). Pass ONE of `company_domain` (preferred), `company_name`, `company_linkedin_url`; optional `keyword_slug_or` to check specific topics (slugs from theirstack/tech-catalog with keyword_type_not=technology), `confidence_or`, `limit`. The qualification signal before outreach: is this account showing intent for what you sell? (0.25 USDC on Base)POST/api/run/akta/product-reviews— Product reviews for a company's offerings (ratings, star distribution, pros/cons, reviewer metadata) by domain or Akta uuid. Competitive teardown and win/loss signal. Pass { company: 'tesla.com' }; optional `products` narrows to specific product ids. (0.11 USDC on Base)POST/api/run/signalbase/acquisitions— Signalbase — Real-time ACQUISITION (M&A) signals: acquiring + acquired company details, deal amounts, valuations, sources. Filters: `date_preset`/`dateFrom`/`dateTo`, `acquiring_company`, `acquirer_countries`, `countries`/`categories` (comma-separated), `amount_min`/`amount_max`, `company_name`/`company_domain`/`company_linkedin_url`, `verification_status`, `employee_count_min`/`max`. `limit` ≤100 — flat price per call. Use for M&A-triggered plays: churn risk at the acquired, expansion at the a… (0.25 USDC on Base)POST/api/run/akta/employee-reviews— Employee reviews for a company (Glassdoor-style: ratings, pros/cons, sentiment over time) by domain or Akta uuid. Culture and attrition signal for qualifying accounts or vetting partners. Pass { company: 'canva.com' }; `limit`/`offset` paginate (≤50 reviews per call). (0.11 USDC on Base)POST/api/run/linkup/deep-search— Linkup — DEEP agentic search: iterative multi-query retrieval for hard or multi-hop questions where one-pass search misses. Same params as linkup/search (`q` + outputType/dates/domain filters). Slower (tens of seconds) and 5× the price — escalate here only after linkup/search or exa/search come back thin. For full multi-step research reports, parallel/task (10-30¢) is the bigger rung. (0.05 USDC on Base)POST/api/run/fundable/company— Fundable — One COMPANY profile plus its latest funding round, participating investors and source articles. Address it by any ONE of `id` (UUID from a deal row `company_id`), `domain`, `linkedin`, `crunchbase`. Returns name, domain, description, employee band, `ipo_status`, `num_funding_rounds`, `total_raised`, `latest_valuation_usd` + date, industries and location. This is the resolver for fundable/deals, whose rows carry only `company_id` — you need it for the domain, which is the join key for… (0.1 USDC on Base)POST/api/run/icypeas/email-verification— Verify an email address's deliverability via Icypeas (SMTP-level). Pass `email`. Returns `{ item: { _id } }` immediately — the search runs async. KEEP POLLING icypeas/result with that `id` (every 3-5s; Icypeas caps reads at 30/min) until `status` leaves NONE/SCHEDULED/IN_PROGRESS. FOUND/DEBITED = hit, NOT_FOUND/DEBITED_NOT_FOUND = processed but empty. Second verification rung next to tomba/email-verifier — same price, different infrastructure; cross-check risky addresses before a send. (0.02 USDC on Base)POST/api/run/mapquest/traffic-incidents— MapQuest — live traffic incidents and construction inside a box, 1¢. Params: `boundingBox` ("lat1,lng1,lat2,lng2", any two corners), optionally `filters` (array of construction | incidents | event | congestion). Each incident carries type, severity, a short description, start/end times and coordinates. (0.01 USDC on Base)POST/api/run/kadec0/fetch— Kadec0 — 29 public-data endpoints over x402: academic papers, CVE, FDA/recalls, SEC EDGAR, congress trades, USGS quakes, permits, whois/domain/DNS, geocode, weather, nutrition, HackerNews/StackOverflow, DeFi TVL/yields/gas. GET { endpoint, ...query }. 1-11¢ caps. See research + onchain-data knowledge docs. (0.03 USDC on Base)POST/api/run/openfunnel/deep-research— Deep-research and QUALIFY one known company against your questions via OpenFunnel (SYNC): { domain } + at least one of `activity_question` ("are they investing in data infra?" — answered from recent job posts, `timeframe_days` default 90) and `qualifier_question` ("do they have a platform team led by a director+?" — answered from LinkedIn employee profiles). Returns qualified:boolean + reasoned answer + sources (job posts / people). THE pre-outreach qualifier; a 404 domain is free. (0.2 USDC on Base)POST/api/run/signalbase/companies— Signalbase — COMPANY search independent of any signal: profiles with industry, headcount, location, founded year, categories. Filters: `search` (free text), `domain`/`linkedin_url` (exact lookup), `industry`/`categories` (comma-separated), `countries`, `employee_count_min`/`max`, `founded_year_min`/`max`. `limit` ≤100 — flat price per call. Use to resolve/browse companies before pulling their signals. (0.25 USDC on Base)
+283 more endpoints.
MCP tools (13)
Vaaya https://vaaya.ai/mcp
buy— Find and buy products, tickets, bookings and subscriptions for the user at supported stores. Start with `search` { query } to find the item and merchant page using Vaaya OneSearch (5¢ per search); the user can describe what they need without supplying a link. Before checkout, use `setup` to check payment and shipping readiness; resolve missing setup once. Persistent merchant accounts are managed at /store-connections. Use store_connection_id to select an account. Passwords and verification codes belong only on the merchant page, never in chat. PRODUCT DISCOVERY: if the user describes what to buy but provides no URL, use `search` { query: <product, variant, budget and preferred merchant if specified> } to locate it under the existing tool spending permissions; do not ask them to paste a link or say search for it first. Search is not purchase authorization. Respect search fees and spending limits; if search is unavailable, explain the actual error and then ask for a link. Verify the mercclose— Close an E2B sandbox session and stop its billing. Pass the `session_id`. Captures the final metered uptime cost and releases the hold. ALWAYS call this when finished with a session — an open session keeps billing per second of uptime. Safe to call repeatedly (idempotent).consult— Vaaya's consultant. Describe ANY external capability you or the user might want — generate an image/video, search or scrape the web, run code in a sandbox, send/receive email, enrich a contact — and it helps figure out the best way, teaching the user what Vaaya can do. It is CONVERSATIONAL and remembers prior turns. It returns: mode='converse' (a reply to RELAY to the user verbatim — questions, options, ideas; get the user's response and call consult again with it, so the conversation continues), mode='call' (an ordered list of calls to run via `use`, with a message explaining the preferred choice + alternatives + why; multi-step results may contain placeholders like '<from step 1: sandbox_id>' — run earlier steps first and substitute), or mode='unsupported'. Every reply includes `suggestions` (2-3 things to do next) — surface these to the user. AFTER you run a `call` result's calls via `use`, call consult ONE more time with a short note on the outcome (what was produced / any failuresdocs— Vaaya's deep reference, FREE and instant. Pass `topic` to get the full playbook for a capability area — exact services, actions, params, prices, model lists, and gotchas — the same reference files the vaaya skill ships. Topics: 'setup' (connecting an agent, a chat app, or an unattended process), 'tools' (exact params of every Vaaya tool, GTM suite included), 'media' (image/video/audio models + product-demo videos), 'gtm' (leads, enrichment, outreach, signals, email), 'research' (OneSearch lanes, deep research, company/market research playbooks), 'data' (scraping, people, social platforms, public records, onchain, compliance), 'compute' (sandboxes, browser automation, files, memory, workers, phone calls, llm). Read the matching topic BEFORE non-trivial work in that area — it is cheaper than a wrong call. Never bills; safe to call any time.llm— Ask a DIFFERENT LLM a question and get its answer, billed per token from the Vaaya wallet (model cost + 3%, usually a fraction of a cent). Use it to get a second opinion from a rival model, cross-check an answer, summarize a huge blob cheaply, or query a specific model the user names (Kimi, GPT, Gemini, Claude, DeepSeek, and 300+ more). `model` accepts 'auto' (default: short prompts go cheap, long go mid), 'cheap' | 'mid' | 'best' tiers, or any exact OpenRouter slug like 'moonshotai/kimi-k3'. Typical costs: cheap tier well under 0.1 cents, best tier 1-3 cents per call. Not for the conversation you are already having — it is a one-shot ask to another model.result— Fetch the status + output of an async job started by `use` (e.g. a video render). Pass the `job_id` that `use` returned with `{ async: true }`. Returns `{ status, result?, progress?, charged_cents }`: `running` (still working — when the job reports it, `progress` carries `{ phase, percent, rendered_frames, total_frames, eta_sec }` and `hint` is a one-line summary like "rendering 42% (380/900 frames, ~120s left)", so you can tell real progress from a hang; wait a bit and call again), `succeeded` (`result` holds the output, e.g. the video URL; the call is charged now), or `failed`/`cancelled` (no charge; on `failed`, read `error` AND `hint` — `hint` carries the service's usage notes, which usually explain how to fix the call). Safe to call repeatedly — it never starts new work or double-charges. ALWAYS use this to retrieve an async result instead of re-running `use` (re-running starts a new paid job).session— Run a command or code in an open E2B sandbox session (started by `use` with action `create_session`, which returns a `session_id`). Pass `session_id` plus either `command` (a shell command) or `code` (+ optional `language`: python/javascript/bash). Returns stdout/stderr/exit_code (or the code result). The sandbox stays alive — and billed per second of uptime — until you `close` it; re-running reuses the SAME box, so filesystem + process state persist between calls. ALWAYS `close` when done.stocks— Buy tokenized stocks on Base using only the user’s prepaid Vaaya balance, never the welcome credit or the GitHub credit line. Commands: list (supported token tickers), portfolio (owned stocks and buying power), quote {symbol, amount_cents}, buy {symbol, amount_cents, idempotency_key}, order {order_id}. When the user asks to buy a specified stock and dollar amount, resolve its supported token ticker (Apple = AAPLc) and call buy directly; no activation or additional approval step. amount_cents is the maximum total prepaid spend including provider fees. Use a unique idempotency_key for each intended purchase and reuse it on retries. Query order until confirmed/failed; queued/submitted is not success. Do not increase the user’s spend or retry a failed purchase as a new order without instruction. Ask only for missing or ambiguous purchase details. If prepaid_required or buyingPowerCents is insufficient, offer a $14/$40/$60 prepaid pack: POST /api/v1/topup with pack_cents 1400/4000/6000 anduse— Execute a single external call, and bill on success. Used for any external capability (image/video/audio generation, web search, scraping, email, document parsing, code sandbox, browser automation, embeddings, etc.). The server validates params against a registered schema and proxies to the upstream — you never pass URLs or API keys. Call it directly when you know the exact (service, action, params, max_cost_cents) — from the vaaya skill's catalog or a call you've made before; when unsure, get the call from `consult` rather than guessing.vaaya_account— Show which Vaaya account this connection is linked to and its money state. Returns { email, name, user_id, connected_client, scopes, balance_cents, credit_line, available_cents, credits_url, switch_account }. Call it whenever the user asks "which account is connected", "what's my balance", "how much credit is left", or "how do I switch accounts" — and relay the answer. `credit_line` is the credit the account can spend past its prepaid balance (the welcome credit plus any GitHub-score line); `available_cents` = balance + active line, the number calls are gated on.vaaya_logout— Disconnect this client from the current Vaaya account: revokes this connection's authorization server-side, so every later call fails with 401 until the user reconnects. Call it when the user asks to log out, sign out, disconnect, or switch Vaaya accounts — then relay the returned switch steps VERBATIM (the browser sign-out step is what actually enables switching accounts).vaaya_onboard— Public onboarding hint for an agent whose user isn't linked to Vaaya yet. Returns where the human should go to connect (and sign up if new). Call this when vaaya_test_connection reports needs_auth, or any tool returns unauthorized, then relay the instructions to the user. If the user IS already linked it returns `first_call` instead — show `first_call.show_to_user` as written so they know what to try.vaaya_test_connection— Round-trip ping that confirms the agent → Vaaya connection and whether the user is linked. Returns { ok:true, userId, scope, version, server_time, first_call } when linked — SHOW `first_call.show_to_user` to the user as written, it is the same set of starter examples the website and installer give them. Returns { ok:false, needs_auth:true, verification_uri, signup_uri, instructions } when not linked yet — relay that to the user so they can connect (and sign up if new).
First seen · last seen · last active