Skip to content
Eden Engine

Product Page Detector & Extractor (by URL)

omnial/brand-ai-product

Given a URL, determines whether the page is a product page and, when it is, returns a normalized product record: name, description, price, currency, availability, category, SKU, features, tags, and target audience. A URL that is not a product page (an article, a homepage, a search result) returns is_product_page: false with no product data.

activeper callv4

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 requested web page

Data from the web page you request.

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-product" })

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

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/brand-ai-product", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/brand-ai-product", 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",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The product page URL to extract from. The upstream service first decides whether the URL really is a product page."
    },
    "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."
    },
    "timeoutMS": {
      "type": "integer",
      "maximum": 300000,
      "minimum": 1000,
      "description": "Upstream timeout in milliseconds (max 300000). The upstream service 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."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "sku": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The product's own name/title, as listed."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Free-form descriptive tags for the product."
        },
        "price": {
          "type": [
            "number",
            "null"
          ],
          "description": "The current listed price, in `currency`."
        },
        "category": {
          "type": "string"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code, e.g. \"USD\"."
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Short bullet-point product features/highlights, extracted from the page."
        },
        "dimensions": {
          "type": "array",
          "description": "Physical product dimensions. Usually an empty array; populated shape not documented."
        },
        "description": {
          "type": "string"
        },
        "availability": {
          "type": "string",
          "description": "Observed value: \"in_stock\". Other states (e.g. out of stock) unconfirmed."
        },
        "pricing_model": {
          "type": "string",
          "description": "Observed value: \"flat\". Other pricing models are unconfirmed."
        },
        "regular_price": {
          "type": [
            "number",
            "null"
          ],
          "description": "The non-discounted list price, when the page shows one. Null when no separate regular price is shown (no sale/regular split)."
        },
        "target_audience": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Short phrases describing who the product is aimed at."
        },
        "billing_frequency": {
          "type": "string",
          "description": "Observed value: \"one_time\". A subscription product's value is unconfirmed."
        }
      },
      "description": "The normalized product record. Absent entirely when is_product_page is false -- not present as null or {}.",
      "additionalProperties": true
    },
    "platform": {
      "type": [
        "string",
        "null"
      ],
      "description": "The detected commerce platform, e.g. \"generic\". Null on a non-product page -- platform detection appears tied to product-page detection."
    },
    "cache_metadata": {
      "type": "object",
      "properties": {
        "age_ms": {
          "type": "number",
          "description": "Age of the cached result in milliseconds, 0 on a fresh fetch (miss)."
        },
        "status": {
          "type": "string",
          "description": "Observed values: \"miss\" (freshly fetched), \"hit\" (served from cache)."
        }
      },
      "description": "Whether this result was served from cache or freshly fetched.",
      "additionalProperties": true
    },
    "is_product_page": {
      "type": "boolean",
      "description": "Whether the upstream service classified the URL as a product page."
    }
  },
  "description": "The detection-and-extraction result. `product` is only present when `is_product_page` is true -- a non-product URL (e.g. a Wikipedia article) returns no `product` key at all.",
  "additionalProperties": true
}