discover_meta_assets

Meta Ads Read

User wants to browse existing images and videos in their Meta Ad Library for reuse in new campaigns

Endpoint

POST https://api.adspirer.ai/api/v1/tools/discover_meta_assets/execute

Headers

Description

User wants to browse existing images and videos in their Meta Ad Library for reuse in new campaigns. This tool retrieves existing images and videos that have been uploaded to Meta's Ad Library, allowing users to reuse them in new campaigns without uploading again. Returns: - List of existing images with their hashes (dimensions, created timestamps) - List of existing videos with their IDs (title, duration, created timestamps) - Instructions for using assets in campaigns When to use this tool: - "Show me my existing Meta ad images" - "What videos do I already have in Meta?" - "I want to reuse an existing image/video for my campaign" - "List my Facebook ad library assets" - Before uploading new assets - check if they already exist Parameters: - ad_account_id: Required for multi-account users. Get from list_connected_accounts - asset_type: 'all' (default), 'image', or 'video' - filters which asset types are returned - limit: Max assets to return (default 50, max 100) Execution time: 2-5 seconds Data source: Meta Ad Library API (live) Workflow: 1. Use `discover_meta_assets` to find existing images and/or videos 2. Copy the `image_hash` (images) or `video_id` (videos) of the asset you want to reuse 3. Use that value with `create_meta_image_campaign` (`existing_image_hash`) or `create_meta_video_campaign` (`existing_video_id`)

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
ad_account_idstring optionalMeta Ad Account ID. Required for multi-account users. Get from get_connections_status.
asset_typestring optionalWhich asset types to return: 'all' (default — images and videos), 'image' (image hashes only), or 'video' (video IDs only). default: "all"
limitinteger optionalMaximum number of assets to return (default 50, max 100) default: 50

Example request

{
  "arguments": {
    "ad_account_id": "string",
    "asset_type": "all",
    "limit": 50
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for discover_meta_assets)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "discover_meta_assets"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "discover_meta_assets"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "discover_meta_assets",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai