Ecommerce Leads
Ecommerce store metrics by domain: revenue, ad spend, traffic. Log in to search 600k+ stores.
Hosted MCP Server
npx add-mcp 'https://getecommerceleads.com/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Ecommerce Leads API & MCP
Ecommerce Leads gives you problem-based store matches with decision-maker contacts. Connect Claude, ChatGPT or any MCP client to your account over the Model Context Protocol (MCP), or read your own reports as JSON over the API.
MCP with login: add https://getecommerceleads.com/api/mcp to your AI client and log in with your Ecommerce Leads account. The free lookupStore tool needs no login. Some account tools need a paid plan.
API key: the JSON API and the report tools over MCP are on the Growth plan. You get one static API key. Ask for your key, then use it for both the API and MCP.
Authentication
Every request uses a static key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
To get a key, book a demo or request Diogo.
HTTP API
Two GET endpoints. Both return JSON.
List your reports
GET /api/reports — the reports that belong to your key, newest first.
curl https://getecommerceleads.com/api/reports \
-H "Authorization: Bearer YOUR_API_KEY"
Example response (redacted):
{
"reports": [
{ "identifier": "AbCdEf1234567890", "title": "Acme Agency | Report #2", "date": "27/Aug/26" },
{ "identifier": "GhIjKl9876543210", "title": "Acme Agency | Report #1", "date": "20/Aug/26" }
]
}
Fetch one report (full)
GET /api/reports/{identifier} — one report as full JSON, including 24-month metric timelines.
curl https://getecommerceleads.com/api/reports/AbCdEf1234567890 \
-H "Authorization: Bearer YOUR_API_KEY"
Response shape (redacted — the exact fields depend on your report):
{
"reportTitle": "Acme Agency | Report #2",
"reportDate": "27/Aug/26",
"records": [
{
"Name": "Example Store",
"Domain": "example-store.com",
"Industry": "Apparel",
"Total Traffic": { "2025-09": 12345, "2025-10": 13890 }
}
]
}
Field names above are illustrative; actual records carry the columns present in your report. Metric columns (traffic, spend, followers) are returned as {"YYYY-MM": value} maps.
MCP
Connect the same key over remote MCP at https://getecommerceleads.com/api/mcp. Three tools are exposed for API-key access:
listReports— list your reports (identifier, title, date).getReportBasic— one report's non-metric fields (identity, problem text, contacts). No traffic/spend/follower numbers.getReportFull— one report's full JSON, with 24-month metric timelines.
Connect with your account (OAuth)
You do not need an API key to use your account in Claude or ChatGPT. Add the server URL https://getecommerceleads.com/api/mcp, then log in with your Ecommerce Leads email and a one-time code. Without a login, only the lookupStore tool works. It returns store data and buying signals. It does not return decision makers.
Claude
- Open Settings, then Connectors, then Add custom connector.
- Enter the URL
https://getecommerceleads.com/api/mcpand save. - Choose Connect. Enter your email and the code we send you. Approve.
ChatGPT
- Add the Ecommerce Leads plugin, or add the same URL as a custom connector in developer mode.
- Ask for an action that needs an account. ChatGPT opens the login page.
- Enter your email and the code we send you. Approve.
Let your AI do the setup: tell it to read https://getecommerceleads.com/docs/connect.txt.
Access tokens last 1 hour. Refresh tokens last 30 days. The tools use your plan, your credits and your data. Tools that spend credits are marked below. Your assistant should ask you before it uses them.
Free tool: look up a store (no login)
lookupStore takes one store domain, for example gymshark.com. A full URL also works. It returns the store's estimated monthly revenue, marketing budget, organic and paid traffic, Google and Meta ad spend, active ad counts, a Conversion Rate Score, buying signals, the store phone number, and links to the social profiles and ad libraries. It never returns decision-maker contacts without a reveal. When other active stores share the same base domain, the reply has sharedMetrics: those stores show the same traffic and ad numbers.
- Without a login: 20 lookups per hour per IP address, and a daily cap shared by all users without a login.
- With a login: 20 lookups per minute. If you revealed the store, the reply also shows the contacts you revealed.
- It never spends credits.
Example prompt: "Look up the store metrics for gymshark.com."
Tools for logged-in users
These 20 tools need your account. lookupStore is listed above. Tools marked "paid plans" need a paid plan. Read tools change nothing. Write tools change your account data. Tools that spend credits are marked. Your assistant must tell you the cost and ask you to confirm before it uses them.
| Tool | Type | What it does | Arguments |
|---|---|---|---|
searchStores | Read | Search the store catalog like the dashboard. 30 rows per page. Fields of stores you have not revealed are masked. | tab, filters, sort, page, columns, includeColumns |
getStoreChart | Read | The latest 24 points of one metric for a store, for a chart. | domain, metric |
listSignalSets | Read | List your signal sets, with the signal catalog and the columns you can use in criteria. Paid plans. | none |
getSignalSet | Read | Get one signal set with its criteria. Paid plans. | setId |
previewSignalSet | Read | Check if candidate criteria match enough stores (80 or more). Saves nothing. Paid plans. | criteria, setId |
listWatchlists | Read | List your watchlists and blacklist with the domain count of each. Paid plans. | none |
getWatchlist | Read | The domains of one watchlist or the blacklist, 100 per page. Paid plans. | listId, page |
getRevealCost | Read | Preview the credit cost of a reveal. Charges nothing and reveals nothing. | selection |
getRevealStatus | Read | Status of contact searches and your credit balance. | storeIds |
exportStores | Read | Export revealed stores as CSV text, up to 200 rows. Skips unrevealed stores. Paid plans. | selection, visibleColumns |
revealStores | Write — spends credits | Reveal store details, or the CEO, marketing or ecommerce contacts. Reveals that you have already paid for cost 0. | action, selection |
addToWatchlist | Write — spends credits | Add domains to a watchlist, 1 credit per new domain, at most 50 domains per call. | listId, domains |
saveSignalSet | Write | Create a signal set, or replace the criteria of an existing set. Paid plans. | criteria, setId, name |
deleteSignalSet | Write | Delete a signal set. You cannot undo this. Paid plans. | setId |
createWatchlist | Write | Create an empty watchlist. You can have at most 10 lists, including the blacklist. Paid plans. | name |
renameWatchlist | Write | Rename a watchlist. You cannot rename the blacklist. Paid plans. | listId, name |
deleteWatchlist | Write | Delete a watchlist with all its domains. You cannot delete the blacklist. Paid plans. | listId |
removeFromWatchlist | Write | Remove one domain from a watchlist or the blacklist. Paid plans. | listId, domain |
updateOutreachStatus | Write | Set the outreach status of one store that you revealed. | storeId, status |
sendFeedback | Write | Send a message to the Ecommerce Leads team. 5 messages per hour. | message |
Typical flows
- "Search my stores for Shopify apparel brands with more than 100000 monthly visits." The assistant calls
searchStores. For more rows, it calls the tool again withpage+ 1 whilehasMoreis true. - "Reveal the CEO contact for gymshark.com." The assistant calls
getRevealCost, states the cost, and asks you. After you agree, it callsrevealStores, thengetRevealStatusuntil the search is done, thenlookupStoreto read the contact. - "Create a watchlist called Q4 targets and add these domains." The assistant calls
createWatchlist, thenaddToWatchlistafter you confirm the cost.
Data and privacy
- The server reads and changes only the data of the account you log in with. It never returns the data of other accounts.
- Without a login, a
lookupStorecall logs the store domain and your IP address. We use this log only for rate limits and abuse prevention, and we delete it after 30 days. - With a login, each lookup and each action that changes your account (for example a reveal or a watchlist edit) is recorded in your account data, in the same way as in the dashboard.
- You can disconnect any app: log in, open Settings, then Integrations, and select Revoke. The next call from that app returns 401.
- Privacy policy: getecommerceleads.com/privacy-policy. Support: diogo@getecommerceleads.com.
Cursor (API key)
Add this to your mcp.json:
{
"mcpServers": {
"ecommerce-leads": {
"url": "https://getecommerceleads.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Code
Add the server with a command, or use a JSON entry with "type": "http":
claude mcp add --transport http ecommerce-leads \
https://getecommerceleads.com/api/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
{
"mcpServers": {
"ecommerce-leads": {
"type": "http",
"url": "https://getecommerceleads.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Get your key
API keys are on the Growth plan. Book a demo and we will issue your key. For MCP with login, you need only an Ecommerce Leads account.