Keyless demo: Meta Ad Library ads of one advertiser with estimated ad spend and top landing pages.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Check whether each string Meta page ID is actively tracked by your account.
Tool list last changed Oct 23, 2026.
Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Check whether each string Meta page ID is actively tracked by your account.
| Argument | Type | Description |
|---|---|---|
| page_ids* | array |
{
"type": "object",
"required": [
"page_ids"
],
"properties": {
"page_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9]{5,25}$",
"description": "Meta advertiser page ID, kept as a string."
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Retrieve one ad of an advertiser you actively track by its internal AdSpendSpy ad ID (internal_ad_id), not its Meta ad ID. Saved lists and favorites do not retain MCP ad access after you remove a tracked brand on the website.
| Argument | Type | Description |
|---|---|---|
| ad_id* | integer | Internal AdSpendSpy ad ID (internal_ad_id in ad listings); never a Meta ad ID. |
{
"type": "object",
"required": [
"ad_id"
],
"properties": {
"ad_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Internal AdSpendSpy ad ID (internal_ad_id in ad listings); never a Meta ad ID."
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Analyze latest cumulative estimated spend in EUR for your tracked advertisers. page_id is an exact advertiser filter. timeframe filters when ads were last seen, NOT spend accrued during that period. Creative breakdowns sample the top 1,000 ads; response metadata states matched and sampled counts and full-match aggregate spend. Zero can mean unavailable estimates.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| page_id | string | Meta advertiser page ID, kept as a string. |
| project | string | Only all is available in the public demo. |
| category | string | |
| timeframe | string | Last-seen window; never a period-spend calculation. |
| media_type | string | |
| active_only | any |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"maxLength": 500
},
"page_id": {
"enum": [
"116482854782233"
],
"type": "string",
"pattern": "^[0-9]{5,25}$",
"description": "Meta advertiser page ID, kept as a string."
},
"project": {
"enum": [
"all"
],
"type": "string",
"description": "Only all is available in the public demo."
},
"category": {
"type": "string",
"maxLength": 100
},
"timeframe": {
"enum": [
"all",
"7d",
"30d",
"90d"
],
"type": "string",
"default": "30d",
"description": "Last-seen window; never a period-spend calculation."
},
"media_type": {
"enum": [
"all",
"image",
"video"
],
"type": "string",
"default": "all"
},
"active_only": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"0",
"1",
"true",
"false"
],
"type": "string"
}
],
"default": false
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Rank the landing pages of your tracked advertisers by latest cumulative estimated spend in EUR. Ads are grouped by landing URL with ad, advertiser and active-ad counts, the top-spending advertiser and, when one is stored, a screenshot as screenshot_url (site path) and screenshot_full_url (absolute URL). page_id is an exact advertiser filter; q matches part of the landing URL. timeframe filters when ads were last seen, NOT spend accrued during that period. Zero can mean unavailable estimates.
| Argument | Type | Description |
|---|---|---|
| q | string | Substring of the landing URL. |
| limit | integer | |
| page_id | string | Meta advertiser page ID, kept as a string. |
| project | string | Only all is available in the public demo. |
| timeframe | string | Last-seen window; never a period-spend calculation. |
| active_only | any |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"maxLength": 500,
"description": "Substring of the landing URL."
},
"limit": {
"type": "integer",
"default": 60,
"maximum": 100,
"minimum": 1
},
"page_id": {
"enum": [
"116482854782233"
],
"type": "string",
"pattern": "^[0-9]{5,25}$",
"description": "Meta advertiser page ID, kept as a string."
},
"project": {
"enum": [
"all"
],
"type": "string",
"description": "Only all is available in the public demo."
},
"timeframe": {
"enum": [
"all",
"7d",
"30d",
"90d"
],
"type": "string",
"default": "30d",
"description": "Last-seen window; never a period-spend calculation."
},
"active_only": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"0",
"1",
"true",
"false"
],
"type": "string"
}
],
"default": false
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. List creative summaries for one tracked advertiser, newest internal ID first, or with sort spend highest latest cumulative estimated spend first (use it for an advertiser's top ads). pagination.next_cursor returns the next page. Each ad carries internal_ad_id (AdSpendSpy ID) and meta_ad_id (the ad on Meta).
| Argument | Type | Description |
|---|---|---|
| sort | string | newest = newest internal ID first; spend = highest estimated spend first. |
| limit | integer | |
| cursor | string | Opaque pagination.next_cursor returned by the previous page with the same filters. |
| page_id* | string | Meta advertiser page ID, kept as a string. |
| media_type | string | |
| active_only | boolean |
{
"type": "object",
"required": [
"page_id"
],
"properties": {
"sort": {
"enum": [
"newest",
"spend"
],
"type": "string",
"default": "newest",
"description": "newest = newest internal ID first; spend = highest estimated spend first."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "Opaque pagination.next_cursor returned by the previous page with the same filters."
},
"page_id": {
"enum": [
"116482854782233"
],
"type": "string",
"pattern": "^[0-9]{5,25}$",
"description": "Meta advertiser page ID, kept as a string."
},
"media_type": {
"enum": [
"all",
"image",
"video"
],
"type": "string",
"default": "all"
},
"active_only": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. List your actively tracked advertisers and their string page_id values.
| Argument | Type | Description |
|---|---|---|
| project | string | Only all is available in the public demo. |
{
"type": "object",
"required": [],
"properties": {
"project": {
"enum": [
"all"
],
"type": "string",
"description": "Only all is available in the public demo."
}
},
"additionalProperties": false
}Public demo: Alex Hormozi only (page_id 116482854782233). Ad listings/details expose only approved public creatives; statistics describe this advertiser only. Search your tracked advertisers by name, Meta page ID, or stored Facebook URL. Searches existing local data only; does not resolve vanity URLs through paid providers.
| Argument | Type | Description |
|---|---|---|
| q* | string |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
},
"additionalProperties": false
}