Skip to content

API and integrations

A price monitoring API, webhooks and MCP on every plan

Every Pricebeeper plan, Free included, comes with a REST API that uses API keys, public OpenAPI docs at /api/v1/docs/, CSV exports, Slack and signed webhook alerts, and an MCP endpoint that AI agents can query. Keys get 60 requests an hour on Free, 1,000 on paid plans and 5,000 on Custom.

At a glance

  • API keys on every plan, sent in an X-API-Key header. Each key is shown once and stored only as a SHA-256 digest.
  • Hourly limits per account: 60 requests on Free, 1,000 on paid plans, 5,000 on Custom.
  • OpenAPI 3 schema and interactive docs, public at /api/v1/docs/ with no sign-in.
  • CSV exports of products, price history (up to 365 days) and alerts, with spreadsheet formulas neutralized.
  • Slack and signed webhooks for alerts: 1 destination on Free, 10 on paid plans.
  • An MCP endpoint for AI agents, and custom MCP servers as extra price sources.

Plans: Every plan. Rate limits and alert destinations grow on paid plans. MAP, repricing and ad monitoring data can be read through the API on the plans that include those features: Growth, Pro, Business and Custom.

What the REST API covers

The API is the same one the Pricebeeper web app uses, limited to the parts that make sense for a script or another system. A key acts as the account it belongs to and sees that account's data only.

What an API key can do
AreaWith an API key
Catalog: products, search, CSV and feed uploads, store importsRead and write
Monitored products (slots), including bulk attach to a regionRead and write
Pinned competitor pagesRead and write
Competitor prices, price history, alerts, notificationsRead; alert settings can be changed
Analytics: pricing insights, competitive intelligence, market analytics, data qualityRead
CSV exportsRead
MAP monitoring, repricing, competitor ad monitoringRead only (store connections not visible)
Slack and webhook destinationsList only
API keys, account, billing, team, price sourcesNo access

The read-only areas are deliberate. MAP decisions, repricing rules, price approvals and store connections change real prices or flag real resellers, so a person makes them in the dashboard. Keys can't create, list or revoke other keys, so a leaked key can't mint a replacement or hide by revoking the others.

API keys and rate limits

Create keys under Settings, API. Each key starts with pb_ and is shown once; Pricebeeper keeps only its SHA-256 digest, so a lost key can't be recovered, only replaced. An account can hold up to 10 active keys, and the settings page lists when each was last used.

Send the key as X-API-Key: pb_... or as Authorization: Api-Key pb_... . A request with a key is always authenticated by that key, never by a browser session, which is why key requests skip the CSRF check that cookie sessions need.

requests an hour on Free
60
requests an hour from Starter to Business
1,000
requests an hour on Custom
5,000

All of an account's keys share one hourly budget. Past it, requests get a 429 answer that says when to retry, and the API settings page shows request counts against the limit.

A few safeguards apply to keys. Creating one needs a verified email address, and our support staff can't create one while viewing your account. In a team, only the owner and admins create keys; a key a teammate created belongs to the account and is revoked when that teammate leaves. Teams and security covers the rest.

OpenAPI schema and docs

The OpenAPI 3 schema is public at /api/v1/schema/ (YAML, or JSON with ?format=json), and interactive docs over it are at /api/v1/docs/. Neither needs an account, so you can check an endpoint before signing up. The schema covers only the paths keys can reach, and it also describes the repricing webhook events.

CSV exports

Three exports download as CSV from the app or through the API, streamed row by row.

  • Products: your whole catalog with source, current and target price, whether each product is monitored, and the regions it is monitored in.
  • Price history: every recorded price for the last 30 days by default and up to 365, for one product and region or all of them. Each row carries the seller, price and regular price, sale flag, stock, source, listing URL and kind (a seller's offer, an ad placement, or a search listing).
  • Alerts: type, severity, product, region, old and new price, change and competitor.

Any text cell that starts with =, +, -, or @ is prefixed with a quote mark, so a product title or seller name crafted as a spreadsheet formula opens as plain text in Excel, Google Sheets or Numbers. Numbers and dates are written as plain values. Each account can run 30 exports an hour.

Slack and signed webhooks

Alerts can go to a Slack channel (through a Slack incoming webhook URL) or to any HTTPS endpoint you run. Free includes 1 destination and paid plans 10. Each destination can be narrowed to chosen alert types, a minimum severity, chosen products or chosen regions.

  • price_alert.created for price alerts and stock alerts: price drop, price increase, target reached, sale detected, competitor out of stock, back in stock.
  • map.violation when a MAP violation opens or closes (Growth, Pro, Business and Custom).
  • price.suggestion.approved and price.applied from repricing, so stores without a direct connection can apply prices from the event.
  • integration.test, sent by the test button.

Webhook bodies are JSON with an id, a type, a timestamp and the data. Every request carries X-Pricebeeper-Signature: t=<timestamp>,v1=<signature>, where the signature is an HMAC-SHA256 of the timestamp, a dot and the raw body, keyed with the destination's signing secret. Check it, and reject old timestamps, before trusting a request. The X-Pricebeeper-Delivery id stays the same across retries, so you can drop duplicates.

A failed delivery is retried up to 5 times, waiting 30 seconds at first and doubling up to an hour. After 5 deliveries in a row fail, the destination switches off and the owner gets an email. The last 20 deliveries show their status codes, you can rotate the signing secret at any time, and destinations must be public addresses, never private network ones.

MCP endpoint for AI agents

Pricebeeper also answers the Model Context Protocol (MCP), the JSON-RPC 2.0 interface AI assistants and agents use to call tools. The endpoint is /api/v1/mcp/, and it takes the same API keys as the REST API.

  • get_tracked_products: your products with their current and target prices.
  • get_price_history: a product's recorded prices over a chosen number of days, optionally from one source.
  • get_active_alerts: unread alerts, filtered by type, severity or product.
  • submit_price_data: record a price your agent found for a monitored product. It is stored like any other check, so alerts fire per seller.

An agent can then answer questions such as which products have unread price-drop alerts, from your own data, or feed in prices from a source Pricebeeper doesn't cover. The endpoint has its own hourly request limit.

Custom MCP servers as price sources

The other direction works too. Under Settings, Price sources, add the JSON-RPC endpoint of an MCP server you run, with an optional API key. During each sync Pricebeeper calls the server's get_price tool with the product's URL and records the price it returns alongside the other sources.

Server credentials are stored encrypted. Only the owner and admins can add one, it needs a verified email, and a server a teammate added is paused when they leave. Connect only servers whose operator may supply the data they return: Pricebeeper can't check a custom server's sources. Marketplace APIs such as eBay, bol.com and Kaufland are set up on the same page; marketplaces and channels lists them.

Limits of the API

  • Keys have no scopes or expiry dates: every key has the account's full API access. Revoke keys you no longer use.
  • MAP, repricing and ad monitoring can't be changed by key, and billing, team and account settings can't be reached at all.
  • Rate limits are per account, not per key. 60 requests an hour on Free suits a nightly export, not a live dashboard.
  • Webhook destinations are capped at 10 per account on paid plans.
  • Prices change on the plan's check schedule (a monthly search for sellers, known sellers re-read weekly on Starter and Plus, daily on Growth and up, the 5 cheapest every 6 hours), so polling every minute returns the same data. Webhooks tell you when something changed.

If you were planning to build a scraper yourself, the build-your-own comparison sets out what the API saves you. For the data itself, see competitor price monitoring and pricing analytics.

Questions people ask

Is the Pricebeeper API available on the Free plan?

Yes. Every plan includes the REST API, the OpenAPI docs, CSV exports and the MCP endpoint. Free keys get 60 requests an hour and 1 Slack or webhook destination. Paid plans raise that to 1,000 requests an hour and 10 destinations, and Custom to 5,000 requests an hour.

What are the Pricebeeper API rate limits?

60 requests an hour on Free, 1,000 on Starter, Plus, Growth, Pro and Business, and 5,000 on Custom. The budget is per account: all keys share it, and teammates' scripts draw on the owner's budget. Going over returns a 429 response telling you when to retry.

How do I verify a Pricebeeper webhook signature?

Read the X-Pricebeeper-Signature header, which looks like t=1727600000,v1=abc123. Compute an HMAC-SHA256 of the t value, a dot and the raw request body, using the destination's signing secret, and compare it with v1 in constant time. Reject requests with an old t to stop replays.

Can an API key change repricing rules or approve prices?

No. API keys can read repricing rules, suggestions and price writes, but rules, approvals and store connections change only from the dashboard. MAP policies and competitor ad settings work the same way. Keys can manage the catalog, monitored products, pinned competitor pages, imports and alert settings.

Can AI agents read my Pricebeeper data through MCP?

Yes. The MCP endpoint at /api/v1/mcp/ speaks JSON-RPC 2.0 and accepts a Pricebeeper API key. An agent can list your tracked products, read price history, read active alerts and submit prices it found. It only ever sees the account the key belongs to.

Which data can I export as CSV?

Products (with monitored state and regions), price history for up to 365 days, and alerts. Exports download from the app or through the API with a key, on every plan. Text cells that could run as spreadsheet formulas are escaped, so the files are safe to open in Excel or Google Sheets.

Related features

  1. 01Price and sale alertsAn alert when a competitor cuts or raises a price, starts a sale, or reaches the target price you set.
  2. 02Catalog importLoad your whole catalog from Shopify, WooCommerce, a Merchant Center feed, CSV or URLs, then choose what to monitor.
  3. 03Pricing analyticsPrice history, seller scorecards, sale patterns, who moves first, forecasts and regional price gaps.
  4. 04Teams and securityOwner, admin, member and viewer roles, two-factor and Google sign-in, and company SSO on Business and Custom.
  5. 05Marketplaces and channelsGoogle Shopping, Amazon and competitor sites, plus eBay, bol.com, Kaufland and MCP sources you connect yourself.
  6. 06RepricingRules turn competitor prices into suggested prices within your limits; you approve, and your store is updated.

How Pricebeeper compares

  1. 01Pricebeeper vs DIY price scrapingRaw price data for 500 products costs a few dollars a month. Matching, history, alerts and upkeep are the real bill.
  2. 02Pricebeeper vs PrisyncPrisync tracks the URLs you give it 3 times a day. Pricebeeper finds the sellers for you, by country or state.
  3. 03Pricebeeper vs BoardfyBoardfy re-checks every 30 minutes to 3 hours, per channel. Pricebeeper covers Google Shopping and Amazon in one slot.
  4. 04Pricebeeper vs PricefyPricefy updates prices twice a day and is cheaper past 3,000 products. Pricebeeper tracks by state and starts at $39.

Last reviewed

See your competitors' prices this week.

The Free plan tracks 50 products with no card and no time limit. Growth comes with a 14-day trial, also without a card.