# Adspy.sh: Search ad creatives (Meta, Google, TikTok)

Search public ad creatives from Meta, Google and TikTok in the Adspy.sh library: keywords in ad copy, transcripts, visual analysis or hooks; brand, platform, format, status, language, AI tags or minimum days active; newest, oldest or longest running first. Each result carries the copy, media links, dates, days active, tags and existing transcript. Filters apply before ordering; offset pages are live, not snapshots. Agentik price: $0.002 per Adspy credit, billed exactly from the credits Adspy settles for this call (1 per creative, +3 for analysis, 60 per X-Ray, 400 per new brand fetch); creatives this workspace retrieved in the last 30 days, X-Rays from the last 24 hours, reused fetches and missing items cost nothing. Reserves up to $0.002 per result (at most 50), the unused part refunded.

- Tool ID: `adspy/search-creatives`
- Provider: [Adspy.sh](/providers/adspy.md)
- Category: [Advertising](/tools/advertising.md)
- Price: Usage based See tool details
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $0.1. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "",
  "costTerms": [
    {
      "path": "billing.credits",
      "usd": 0.002
    }
  ],
  "requireCost": true,
  "maxUsdDefault": 0.04,
  "maxUsdCap": 0.1,
  "multipliers": [
    {
      "setUsd": 0
    },
    {
      "addUsdPer": {
        "field": "limit",
        "usd": 0.002,
        "max": 50,
        "default": 20
      }
    }
  ]
}
```

Pricing source: [https://www.adspy.sh/agentik/catalog.json](https://www.adspy.sh/agentik/catalog.json) — Adspy publishes the Agentik price grid 2026-10-05-v1 with its partner catalog; Adspy charges Agentik nothing..

Price verification date: 2026-10-05.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 160
    },
    "scope": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "adCopy",
        "contentTranscript",
        "visualAnalysis",
        "allKeywords",
        "hooks"
      ]
    },
    "brandKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "pattern": "^[^\\s\\x00-\\x1f]+$"
    },
    "brandKeys": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 256,
        "pattern": "^[^\\s\\x00-\\x1f]+$"
      }
    },
    "platform": {
      "type": "string",
      "enum": [
        "all",
        "meta",
        "google",
        "tiktok"
      ]
    },
    "format": {
      "type": "string",
      "enum": [
        "all",
        "image",
        "video",
        "carousel"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "all",
        "active",
        "inactive"
      ]
    },
    "sort": {
      "default": "newest",
      "type": "string",
      "enum": [
        "newest",
        "oldest",
        "longest"
      ]
    },
    "tags": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 160
      }
    },
    "language": {
      "type": "string",
      "maxLength": 30
    },
    "minDaysActive": {
      "type": "integer",
      "minimum": 0,
      "maximum": 36500
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "adspy/search-creatives",
  "input": {
    "query": "protein",
    "limit": 3
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

Attribution: Ad research by Adspy.sh (adspy.sh), from public ad libraries..

[Provider documentation](https://www.adspy.sh)

[REST inspection](https://api.agentik.cc/v1/tools/adspy/search-creatives) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/tools/adspy/search-creatives) · [Agent index](/llms.txt)
