intelligence-api
Provides tools for searching Amazon products and performing deep ASIN analysis to estimate FBA profitability, monthly revenue, and calculate opportunity scores.
Enables searching for businesses via Google Maps to generate qualified sales leads with lead quality scores and tailored outreach hints.
Allows for the comprehensive analysis of Shopify stores, including product catalog extraction, pricing distribution, theme detection, and identification of installed apps.
rothy Intelligence API
An x402-powered intelligence API for Shopify, Amazon, and Google Maps data. AI agents pay per call in USDC on Base — no signup, no API keys, no human in the loop.
What This Does
Tool | What It Returns | Price |
| Products, pricing, apps, theme, collections for any Shopify store | $0.08 |
| Paginated product catalog from any Shopify store | $0.02 |
| Amazon search results with Opportunity Score | $0.05 |
| Single ASIN analysis with FBA profitability estimate | $0.08 |
| Google Maps business search with Lead Quality Score | $0.05 |
| Qualified sales leads with outreach hints | $0.10 |
Free endpoints: GET /health, GET /.well-known/mcp.json, GET /openapi.json
Related MCP server: x402-bazaar-mcp
How x402 Payment Works
x402 is a protocol for machine-native micropayments using HTTP 402. No accounts, no rate-limit keys, no billing — agents pay per call in USDC on Base.
Flow:
Agent → GET /shopify/analyze?url=example.myshopify.com
Server → 402 Payment Required
X-PAYMENT-REQUIRED: {"price": "$0.08", "network": "base", ...}
Agent → signs USDC TransferWithAuthorization (ERC-3009)
Agent → GET /shopify/analyze?url=example.myshopify.com
X-PAYMENT: <signed-payment-header>
Server → verifies payment on Base
Server → 200 OK + intelligence dataAgents need a funded Base wallet with USDC. USDC settles directly to the server wallet — no intermediary, no escrow.
Endpoints
GET /shopify/analyze
Analyzes a Shopify store: product catalog, pricing distribution, top vendors, product types, detected apps (Klaviyo, Yotpo, ReCharge, etc.), theme detection.
Query params:
url(required) — store URL, e.g.example.myshopify.com
Example:
curl "https://api.example.com/shopify/analyze?url=gymshark.com" \
-H "X-PAYMENT: <signed-payment>"Response:
{
"store_url": "https://gymshark.com",
"store_name": "Gymshark",
"product_count": 342,
"collection_count": 28,
"price_range": { "min": 18.00, "max": 65.00, "avg": 38.50 },
"top_vendors": [{ "vendor": "Gymshark", "count": 342 }],
"has_sale_items": true,
"sale_percentage": 23,
"detected_apps": ["Klaviyo", "Yotpo", "Sezzle"],
"detected_theme": "Dawn",
"analyzed_at": "2026-03-22T10:00:00Z"
}GET /shopify/products
Paginated product catalog. Pages up to 250 products per call.
Query params:
url(required)page(optional, default: 1)limit(optional, default: 50, max: 250)
GET /amazon/search
Searches Amazon products and returns an Opportunity Score (0–100) for each. High score = strong demand + quality gap + good price tier.
Query params:
keyword(required)marketplace(optional:US|UK|DE|CA|AU, default:US)
Example:
curl "https://api.example.com/amazon/search?keyword=yoga+mat&marketplace=US" \
-H "X-PAYMENT: <signed-payment>"Response:
{
"keyword": "yoga mat",
"marketplace": "US",
"total_results": 24,
"products": [
{
"asin": "B08N5WRWNW",
"title": "Premium Yoga Mat Non Slip...",
"price": 28.99,
"rating": 4.3,
"review_count": 12453,
"prime": true,
"opportunity_score": 72,
"url": "https://www.amazon.com/dp/B08N5WRWNW"
}
]
}Opportunity Score formula:
Reviews >1000 (proven demand): +15
Rating <4.0 (quality gap to fill): +8–15
Price $15–$60 (mass market sweet spot): +10
Prime eligible: +5
GET /amazon/product
Deep analysis of a single ASIN including FBA fee/profit estimates.
Query params:
asin(required) — 10-character Amazon product IDmarketplace(optional, default:US)
Response includes FBA estimate:
{
"asin": "B08N5WRWNW",
"fba_estimate": {
"estimated_monthly_sales": 400,
"estimated_monthly_revenue": 11596,
"estimated_fba_fee": 9.84,
"estimated_profit_margin": 28,
"opportunity_tier": "medium"
}
}GET /maps/search
Searches Google Maps businesses and scores each as a sales lead.
Query params:
query(required) — business type, e.g.coffee shopslocation(required) — city/area, e.g.Austin TXmax(optional, default: 20, max: 60)google_key(required) — your Google Places API key
Response includes Lead Quality Score:
{
"businesses": [
{
"name": "Brew & Co Coffee",
"rating": 3.8,
"website": null,
"phone": "+1-512-555-0100",
"lead_quality_score": 68,
"outreach_hints": [
"No website detected — pitch web presence / digital marketing",
"Low rating (3.8) — pitch reputation management or review improvement"
]
}
]
}Lead Quality Score formula:
Has website: +20
Has phone: +10
Rating <4.0: +8–15
Reviews >50: +10–15
Price level ≥2: +10
Business OPERATIONAL: +10
GET /maps/leads
Returns only businesses above a quality score threshold, sorted by score. Best for building targeted outreach lists.
Query params:
industry(required)location(required)min_score(optional, default: 60)google_key(required)
Getting a Google Places API Key
Maps endpoints require your own Google Places API key (the server never stores it):
Go to console.cloud.google.com
Create or select a project
Enable Places API
Create an API key under APIs & Services → Credentials
Pass it as
?google_key=YOUR_KEYon every Maps request
Agent Discovery
x402scan
Agents discover x402-enabled APIs via x402scan. The server returns proper x402 headers on every 402 response.
MCP Discovery
GET /.well-known/mcp.jsonReturns the MCP plugin manifest pointing to the OpenAPI spec at /openapi.json.
OpenAI Plugin Discovery
GET /.well-known/ai-plugin.jsonCompatible with ChatGPT plugin discovery format.
Running the Server
Setup
npm install
cp .env.example .env
# Edit .env: set WALLET_ADDRESS to your Base USDC walletDevelopment
npm run devProduction
npm run build
npm startEnvironment Variables
WALLET_ADDRESS=0x... # Your USDC-receiving wallet on Base (required)
PORT=3000 # Default: 3000
NODE_ENV=productionx402 Payment Flow (Technical)
When an agent makes a request without payment:
HTTP/1.1 402 Payment Required
X-PAYMENT-REQUIRED: {
"version": "1",
"price": "$0.08",
"network": "base",
"payTo": "0xYourWalletAddress",
"asset": "USDC"
}The agent:
Signs a
TransferWithAuthorization(ERC-3009) for the USDC amountRetries with
X-PAYMENT: <base64-encoded-signed-authorization>Server verifies the signature on-chain and serves the response
USDC settles atomically to WALLET_ADDRESS on Base mainnet.
Error Responses
All errors return JSON:
{
"error": "Human-readable error message",
"detail": "Technical detail (optional)",
"retry_after": 30
}Status | Meaning |
400 | Bad request — check query params |
402 | Payment required — send x402 payment header |
503 | Upstream rate limited (Amazon) — retry after 30s |
502 | Upstream error (scraping failed) |
Available Tools
6 toolsamazon_productA
Deep analysis of a single Amazon product by ASIN. Includes FBA fee estimate, profit margin, and opportunity tier.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | 10-character Amazon ASIN, e.g. B08N5WRWNW | |
| marketplace | No | Marketplace: US, UK, DE, CA, AU (default: US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral traits. It discloses the output contents (FBA fee, profit margin, opportunity tier) but does not mention any side effects, rate limits, data freshness, or external calls. Additional context would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core purpose and lists key outputs. No wasted words, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description gives a good sense of what the tool returns (FBA fee, profit margin, opportunity tier). It covers the single-product analysis scope adequately. Could mention that the output is a detailed report, but overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond the schema; it mentions 'by ASIN' which matches the asin parameter, but does not elaborate on the marketplace parameter or provide formatting hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs 'deep analysis of a single Amazon product by ASIN' and lists specific outputs (FBA fee estimate, profit margin, opportunity tier). This distinguishes it from siblings like amazon_search, which is for searching products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for analyzing a single product in depth, but does not explicitly state when to use it versus alternatives (e.g., amazon_search for broader queries). It provides context for use but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amazon_searchA
Search Amazon products by keyword. Returns an Opportunity Score (0–100) for each result based on demand, rating gap, and price.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | Search keyword, e.g. 'yoga mat' | |
| marketplace | No | Marketplace: US, UK, DE, CA, AU (default: US) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It discloses the return of an Opportunity Score with factors, but omits details like read-only nature, pagination, rate limits, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function, and includes a key output feature in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with 2 params and no output schema, the description adequately states purpose and return score, but lacks details about full return structure (e.g., other product fields). Without output schema, more completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters having clear descriptions in the schema (keyword and marketplace with enum). The tool description adds no additional semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Amazon products by keyword and returns an Opportunity Score. It distinguishes from siblings like amazon_product (for product details) and Shopif/ maps tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching Amazon products but provides no explicit guidance on when to use this tool versus siblings. No 'when not to use' or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maps_leadsB
Find qualified sales leads on Google Maps filtered by Lead Quality Score. Best for building targeted outreach lists.
| Name | Required | Description | Default |
|---|---|---|---|
| industry | Yes | Industry or business type, e.g. 'restaurants' | |
| location | Yes | City or area, e.g. 'Miami FL' | |
| min_score | No | Minimum Lead Quality Score threshold (default: 60) | |
| google_key | Yes | Your Google Places API key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the operation is read-only, any authentication requirements beyond the API key, or behavior when no leads are found. The description is minimal on behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded purpose. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations. The description does not explain the concept of Lead Quality Score, output format, or what happens if no leads match. For a tool with 4 parameters and no structured metadata, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, so baseline is 3. The description mentions 'Lead Quality Score' but does not add details beyond schema (e.g., what min_score represents or how it's calculated). No additional parameter meaning given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool finds qualified sales leads on Google Maps filtered by Lead Quality Score, distinguishing it from the sibling 'maps_search' which is likely a general search. The purpose is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Says 'Best for building targeted outreach lists,' which implies a use case but does not explicitly state when to use or avoid this tool, nor compare to sibling tools like 'maps_search'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maps_searchB
Search Google Maps businesses by type and location. Returns each business with a Lead Quality Score (0–100) and outreach hints.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Business type or search query, e.g. 'coffee shops' | |
| location | Yes | City or area, e.g. 'Austin TX' | |
| max | No | Max results, up to 60 (default: 20) | |
| google_key | Yes | Your Google Places API key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits, but it only mentions output features (Lead Quality Score, outreach hints) and not side effects, rate limits, or authentication requirements beyond what is in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no fluff. However, it could be slightly more structured by separating the action from the output description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and output, but lacks details on pagination, errors, or the full structure of returned data. Given no output schema, more context on the response format would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented. The description adds value by explaining the output, which aids understanding of why parameters matter, but does not add new parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Google Maps businesses by type and location and returns a Lead Quality Score and outreach hints, making the purpose very specific and distinguishable from siblings like maps_leads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., maps_leads) is provided. The description lacks any context about appropriate use cases or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopify_analyzeB
Analyze any Shopify store — products, pricing distribution, top vendors, detected apps (Klaviyo, Yotpo, etc.), theme, and collections.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Shopify store URL, e.g. gymshark.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only implies analysis without stating read-only nature, data freshness, rate limits, or side effects. The term 'analyze' suggests non-destructive but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear enumeration of outputs. No unnecessary words; front-loaded with action and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lists key outputs (products, pricing, etc.) compensating for lack of output schema. However, missing behavioral details (e.g., read-only, prerequisites) given no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter 'url' has adequate schema description with example. Schema coverage is 100%, so description adds no extra meaning beyond schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool analyzes a Shopify store with specific outputs (products, pricing, vendors, apps, theme, collections). However, it does not distinguish from sibling tool 'shopify_products' which may have overlapping purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'shopify_products'. The description only says 'Analyze any Shopify store', lacking usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopify_productsB
Fetch a paginated product catalog from any Shopify store. Up to 250 products per call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Shopify store URL | |
| page | No | Page number (default: 1) | |
| limit | No | Products per page, max 250 (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must provide behavioral details. It only mentions pagination and the 250-product limit, but omits traits like rate limits, whether the tool is read-only, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. First sentence states purpose, second adds a key constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simple parameters, description lacks details on return format, error conditions, authentication needs, or sorting/filtering. Fails to fully exploit the no-annotation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already describes all 3 parameters (100% coverage). The description adds minimal value: 'any Shopify store' for url and 'up to 250' for limit, which overlaps with schema's 'max 250'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a paginated product catalog from any Shopify store', indicating a specific verb and resource. It distinguishes from siblings like amazon_product or maps_search which target different platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like shopify_analyze. Doesn't mention prerequisites or exclusions. The 'any Shopify store' hint is broad but lacks explicit when-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct domain and action: Amazon product details vs search, Maps lead filtering vs search, Shopify store analysis vs product catalog. No overlap in purpose.
All tool names follow a consistent 'domain_action' pattern using lowercase with underscores (e.g., amazon_search, maps_leads). Uniform and predictable.
Six tools split evenly across three domains (2 each). This is well-scoped for an intelligence API covering Amazon, Maps, and Shopify without bloat.
Each domain has core operations (search and detail for Amazon, search and leads for Maps, analysis and products for Shopify). Minor gaps exist, such as no review analysis for Amazon or order data for Shopify, but the surface is reasonably complete for its stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseCqualityDmaintenanceMCP server bringing 100+ x402-paid APIs to AI agents (Claude, Cursor, MCP-aware clients). Auto-discovers tools from CDP Bazaar; handles USDC micropayments on Base.100601MIT
- AlicenseBqualityBmaintenanceMCP server exposing x402 Bazaar's paid Base APIs (token risk/honeypot, prices, gas, wallet intel, tx decode + AI utilities) as agent tools. Your agent pays per call in USDC over x402 — no API keys, no signup.174021MIT
- FlicenseAqualityBmaintenanceMCP server for a live x402 payment gateway on Base (USDC). Lets AI agents discover, preview for free, then pay per call — with prepaid gasless payments, signed receipts, and delta delivery.7
- AlicenseNot gradedqualityCmaintenanceMCP server that provides AI agents with pay-per-call access to a suite of tools (honeypot check, token market, DeFi yields, etc.) via USDC on Base using the x402 protocol.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samrothschild23/intelligence-api'
If you have feedback or need assistance with the MCP directory API, please join our Discord server