pricewatcha

Track prices & price history on any online shop, with alerts and an API

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
94%
Naming quality
97%
Poisoning risk
0%
Permission match
100%
Protocol compliance
100%

Findings (11)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin create_price_alert
  • MEDIUMTool description contains URL to non-standard domainin list_price_alerts
  • MEDIUMTool description contains URL to non-standard domainin get_price_alert
  • MEDIUMTool description contains URL to non-standard domainin update_price_alert
  • MEDIUMTool description contains URL to non-standard domainin delete_price_alert
  • MEDIUMTool description contains URL to non-standard domainin watch_product
  • MEDIUMTool description contains URL to non-standard domainin unwatch_product
  • MEDIUMTool description contains URL to non-standard domainin list_watchlist
  • MEDIUMTool description contains URL to non-standard domainin get_watch_status

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,404Tokens (tool definitions)
~3.0 KBTypical response size
Significant attention impact (4.22% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pricewatcha": {
      "url": "https://mcp.pricewatcha.com"
    }
  }
}

Remote endpoints

https://mcp.pricewatcha.comstreamable-http

What it can do

Tool inventory

Tools (15)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_api_status

Check whether the Pricewatcha public API is available. Returns health and discovery metadata. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "base_url": {
      "type": "string"
    },
    "health": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "service": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "service",
        "version"
      ],
      "additionalProperties": true
    },
    "api": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "agent_ready": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "version",
        "status"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "base_url",
    "health",
    "api"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡track_product(url, api_key, watch, refresh)

Submit a public product URL for price tracking. Waits up to ~25s server-side; fast shops return status "completed" with product in one call. Slow jobs return status "running" with job_id — poll get_job_status. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public product page URL from a supported shop"
    },
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Optional API key (pwk_live_...). Required for watch/refresh."
    },
    "watch": {
      "type": "boolean",
      "description": "If true (API key required), enroll the product for continuous scheduler updates."
    },
    "refresh": {
      "type": "boolean",
      "description": "If true (API key required), force a re-scrape even if the URL is already in the catalog."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "completed",
        "failed"
      ]
    },
    "product": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "product_id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "shop": {
              "type": "string"
            },
            "product_url": {
              "type": "string"
            },
            "currency": {
              "type": "string"
            },
            "current_price": {
              "type": [
                "number",
                "null"
              ]
            },
            "status": {
              "type": "string"
            },
            "last_checked_at": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "product_id",
            "name",
            "shop",
            "currency"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "http_status": {
              "type": [
                "number",
                "null"
              ]
            },
            "retry_recommended": {
              "type": "boolean"
            },
            "retry_after_seconds": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "code",
            "message",
            "retry_recommended"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "hint": {
      "type": "string"
    }
  },
  "required": [
    "job_id",
    "status"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_job_status(job_id)

Poll an async tracking job by job_id. Returns status (queued, running, completed, or failed). On completion, product is populated; on scrape failure, error is populated (HTTP 200 job lookup — not a transport error). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "minLength": 1,
      "description": "Job ID from track_product"
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "completed",
        "failed"
      ]
    },
    "product": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "product_id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "shop": {
              "type": "string"
            },
            "product_url": {
              "type": "string"
            },
            "currency": {
              "type": "string"
            },
            "current_price": {
              "type": [
                "number",
                "null"
              ]
            },
            "status": {
              "type": "string"
            },
            "last_checked_at": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "product_id",
            "name",
            "shop",
            "currency"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "http_status": {
              "type": [
                "number",
                "null"
              ]
            },
            "retry_recommended": {
              "type": "boolean"
            },
            "retry_after_seconds": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "code",
            "message",
            "retry_recommended"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "hint": {
      "type": "string"
    }
  },
  "required": [
    "job_id",
    "status"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product(product_id)

Get structured product price intelligence by product_id (e.g. demo_iphone_15_pro or prod_xxx from a completed job). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID"
    }
  },
  "required": [
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "shop": {
      "type": "string"
    },
    "product_url": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "current_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "status": {
      "type": "string"
    },
    "last_checked_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "preview": {
      "type": "boolean"
    }
  },
  "required": [
    "product_id",
    "name",
    "shop",
    "currency"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_price_history(product_id)

Get historical prices, aggregates (low/high/average), trend, and data points for a product. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID"
    }
  },
  "required": [
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "current_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "historical_low": {
      "type": [
        "number",
        "null"
      ]
    },
    "historical_high": {
      "type": [
        "number",
        "null"
      ]
    },
    "average_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "trend": {
      "type": "string",
      "enum": [
        "upward",
        "downward",
        "stable",
        "unknown"
      ]
    },
    "data_points": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "price": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "price"
        ],
        "additionalProperties": false
      }
    },
    "preview": {
      "type": "boolean"
    }
  },
  "required": [
    "product_id",
    "currency",
    "data_points"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_products(query)

Searches the Pricewatcha product catalog by keyword (token AND; word order does not matter). Supports minus-prefixed exclude terms: e.g. "iPhone 15 -cover -case" returns devices only. Returns product-level data only — not user accounts or alert settings. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search keywords (token AND). Supports minus-prefixed exclude terms: e.g. \"iPhone 15 -cover -case\""
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shop": {
            "type": "string"
          },
          "product_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "current_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "currency": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "preview": {
            "type": "boolean"
          }
        },
        "required": [
          "product_id",
          "name",
          "shop"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "query",
    "count",
    "results"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴create_price_alert(api_key, product_id, notify_on_drop, notify_on_rise, min_threshold_price, ...)

Create a price alert for a product. Use notify_on_drop / notify_on_rise for any price change without a numeric threshold, and/or min_threshold_price / max_threshold_price for target prices. At least one of those four settings is required. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID (prod_... or demo_...)"
    },
    "notify_on_drop": {
      "type": "boolean",
      "description": "Notify on any price drop. No threshold required."
    },
    "notify_on_rise": {
      "type": "boolean",
      "description": "Notify on any price increase. No threshold required."
    },
    "min_threshold_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Notify when the price drops to or below this value."
    },
    "max_threshold_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Notify when the price rises to or above this value."
    },
    "notify_email": {
      "type": "boolean",
      "description": "Send email notifications (default true)"
    },
    "webhook_url": {
      "type": "string",
      "format": "uri",
      "description": "Optional HTTPS webhook URL"
    },
    "name": {
      "type": "string",
      "maxLength": 128,
      "description": "Optional alert name"
    }
  },
  "required": [
    "api_key",
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "alert_id": {
      "type": "integer"
    },
    "product_id": {
      "type": "string"
    },
    "min_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "max_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "notify_on_drop": {
      "type": "boolean"
    },
    "notify_on_rise": {
      "type": "boolean"
    },
    "currency": {
      "type": "string"
    },
    "webhook_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "notify_email": {
      "type": "boolean"
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "is_active": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    },
    "last_triggered_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "alert_id",
    "product_id",
    "notify_on_drop",
    "notify_on_rise",
    "currency",
    "notify_email",
    "is_active",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_price_alerts(api_key, product_id)

List your price alerts. Optionally filter by product_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Optional public product ID filter"
    }
  },
  "required": [
    "api_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "alerts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "alert_id": {
            "type": "integer"
          },
          "product_id": {
            "type": "string"
          },
          "min_threshold_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "max_threshold_price": {
            "type": [
              "number",
              "null"
            ]
          },
          "notify_on_drop": {
            "type": "boolean"
          },
          "notify_on_rise": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "notify_email": {
            "type": "boolean"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "last_triggered_at": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "alert_id",
          "product_id",
          "notify_on_drop",
          "notify_on_rise",
          "currency",
          "notify_email",
          "is_active",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "count",
    "alerts"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_price_alert(api_key, alert_id)

Get one price alert by alert_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "alert_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Alert ID from create_price_alert or list_price_alerts"
    }
  },
  "required": [
    "api_key",
    "alert_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "alert_id": {
      "type": "integer"
    },
    "product_id": {
      "type": "string"
    },
    "min_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "max_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "notify_on_drop": {
      "type": "boolean"
    },
    "notify_on_rise": {
      "type": "boolean"
    },
    "currency": {
      "type": "string"
    },
    "webhook_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "notify_email": {
      "type": "boolean"
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "is_active": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    },
    "last_triggered_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "alert_id",
    "product_id",
    "notify_on_drop",
    "notify_on_rise",
    "currency",
    "notify_email",
    "is_active",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴update_price_alert(api_key, alert_id, notify_on_drop, notify_on_rise, min_threshold_price, ...)

Update a price alert. You can switch to threshold-free notify_on_drop / notify_on_rise, change thresholds, or toggle is_active. At least one setting must remain. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "alert_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Alert ID to update"
    },
    "notify_on_drop": {
      "type": "boolean",
      "description": "Notify on any price drop. No threshold required."
    },
    "notify_on_rise": {
      "type": "boolean",
      "description": "Notify on any price increase. No threshold required."
    },
    "min_threshold_price": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ],
      "description": "Min threshold, or null to clear."
    },
    "max_threshold_price": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ],
      "description": "Max threshold, or null to clear."
    },
    "notify_email": {
      "type": "boolean"
    },
    "webhook_url": {
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 128
    },
    "is_active": {
      "type": "boolean"
    }
  },
  "required": [
    "api_key",
    "alert_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "alert_id": {
      "type": "integer"
    },
    "product_id": {
      "type": "string"
    },
    "min_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "max_threshold_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "notify_on_drop": {
      "type": "boolean"
    },
    "notify_on_rise": {
      "type": "boolean"
    },
    "currency": {
      "type": "string"
    },
    "webhook_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "notify_email": {
      "type": "boolean"
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "is_active": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    },
    "last_triggered_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "alert_id",
    "product_id",
    "notify_on_drop",
    "notify_on_rise",
    "currency",
    "notify_email",
    "is_active",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_price_alert(api_key, alert_id)

Delete a price alert. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "alert_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Alert ID to delete"
    }
  },
  "required": [
    "api_key",
    "alert_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "deleted": {
      "type": "boolean",
      "const": true
    },
    "alert_id": {
      "type": "integer"
    }
  },
  "required": [
    "deleted",
    "alert_id"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡watch_product(api_key, product_id)

Add a catalog product to your account watchlist so the price scheduler keeps updating it. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID (prod_... or demo_...)"
    }
  },
  "required": [
    "api_key",
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string"
    },
    "watching": {
      "type": "boolean"
    },
    "watched_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "product_id",
    "watching"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴unwatch_product(api_key, product_id)

Remove a product from your account watchlist. Fails while an active price alert exists for the product. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID (prod_... or demo_...)"
    }
  },
  "required": [
    "api_key",
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string"
    },
    "watching": {
      "type": "boolean"
    },
    "watched_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "product_id",
    "watching"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_watchlist(api_key, limit, offset)

List products your account watches for continuous price updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Max items (default 50)"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Items to skip (default 0)"
    }
  },
  "required": [
    "api_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string"
          },
          "watched_at": {
            "type": "string"
          },
          "product": {
            "type": "object",
            "properties": {
              "product_id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "shop": {
                "type": "string"
              },
              "product_url": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "current_price": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              },
              "last_checked_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "preview": {
                "type": "boolean"
              }
            },
            "required": [
              "product_id",
              "name",
              "shop",
              "currency"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "product_id",
          "watched_at",
          "product"
        ],
        "additionalProperties": true
      }
    },
    "total": {
      "type": "integer"
    }
  },
  "required": [
    "items",
    "total"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_watch_status(api_key, product_id)

Check whether your account watches a product for continuous updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Pricewatcha API key (pwk_live_...)"
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "Public product ID (prod_... or demo_...)"
    }
  },
  "required": [
    "api_key",
    "product_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string"
    },
    "watching": {
      "type": "boolean"
    },
    "watched_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "product_id",
    "watching"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded15 tools
verifiedversion not recorded15 tools
verifiedversion not recorded15 tools
verifiedversion not recorded15 tools
verifiedversion not recorded15 tools
verifiedversion not recorded15 tools