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