Skip to content
Eden Engine

Brand Product Catalog (by Domain or URL)

omnial/brand-ai-products

Given a brand's domain (or a direct URL to a shop/pricing page), returns a structured product catalog scraped from its website: for each product, its name, description, price, currency, category, availability, SKU, features, target audience, tags, billing frequency, and pricing model. Returns an empty product list for a domain with no e-commerce catalog to find (e.g. an informational or reference site).

activeper callv3

Price

Up to $0.0346 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

The brand's website

Data from the website of the brand you name.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/brand-ai-products" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/brand-ai-products" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/brand-ai-products", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/brand-ai-products", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0346
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "domain"
      ]
    },
    {
      "required": [
        "directUrl"
      ]
    }
  ],
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 3,
      "description": "The brand domain to analyze, e.g. 'example.com'. Mutually exclusive with directUrl."
    },
    "maxAgeMs": {
      "type": "integer",
      "default": 86400000,
      "maximum": 2592000000,
      "minimum": 0,
      "description": "Reuse a cached result younger than this many milliseconds. Default 86400000 (1 day), max 2592000000 (30 days). Set 0 to always fetch fresh."
    },
    "directUrl": {
      "type": "string",
      "format": "uri",
      "description": "Exact URL to start from, bypassing domain resolution (e.g. a pricing or shop page). Mutually exclusive with domain."
    },
    "timeoutMS": {
      "type": "integer",
      "maximum": 300000,
      "minimum": 1000,
      "description": "Upstream timeout in milliseconds (max 300000). The upstream aborts the call with a 408 when exceeded. Keep it below the endpoint's requestTimeoutMs so the provider answers before the platform's own budget expires."
    },
    "maxProducts": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "Maximum number of products to extract (1-12)."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "price": {
            "type": "number",
            "description": "The listed selling price, in `currency`."
          },
          "category": {
            "type": "string"
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code, e.g. 'USD'."
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Free-text feature bullet points extracted from the product page."
          },
          "dimensions": {
            "type": "array",
            "description": "Observed as an empty array on every product in the one real catalog captured -- a populated shape was never observed and its item structure is unconfirmed."
          },
          "description": {
            "type": "string"
          },
          "availability": {
            "type": "string",
            "description": "Observed values: 'in_stock', 'out_of_stock', 'limited_availability'. Not confirmed to be an exhaustive enumeration."
          },
          "pricing_model": {
            "type": "string",
            "description": "Observed as 'flat' on every product captured."
          },
          "regular_price": {
            "type": [
              "number",
              "null"
            ],
            "description": "Observed as `null` on every product in the one real catalog captured -- a non-null (pre-discount) regular price was never observed and its presence is unconfirmed."
          },
          "target_audience": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "e.g. 'Women', 'Men', 'Big Kids'."
          },
          "billing_frequency": {
            "type": "string",
            "description": "Observed as 'one_time' on every product captured."
          }
        },
        "additionalProperties": true
      },
      "description": "Extracted products, up to `maxProducts`. Empty when the domain has no e-commerce catalog to find (observed for wikipedia.org)."
    },
    "cache_metadata": {
      "type": "object",
      "properties": {
        "age_ms": {
          "type": "number",
          "description": "Age of the cached result in milliseconds, 0 for a fresh fetch."
        },
        "status": {
          "type": "string",
          "description": "Observed as 'miss' on both real calls."
        }
      },
      "description": "Caching metadata for this result.",
      "additionalProperties": true
    }
  },
  "description": "The catalog result.",
  "additionalProperties": true
}