---
title: "Pricing - Twitter Monitoring API"
description: "How SocialData Monitoring API monitors are billed - flat hourly rates for user monitors, per-execution billing for search monitors"
source: "https://docs.socialdata.tools/monitoring/pricing/"
---

Monitors are billed from the same pay-as-you-go balance as the rest of the API. There is no subscription and no minimum commitment.

Two different billing models apply, depending on the type of monitor:

-   **User monitors** are billed a flat hourly rate, regardless of how many events they deliver.
-   **Search monitors** are billed per execution, based on how many tweets that execution delivered.

## User monitors

The following prices apply to all user monitors:

-   [User Tweets Monitor](https://docs.socialdata.tools/monitoring/create-user-tweets-monitor/)
-   [User Following Monitor](https://docs.socialdata.tools/monitoring/create-user-following-monitor/)
-   [User Profile Monitor](https://docs.socialdata.tools/monitoring/create-user-profile-monitor/)

Unlike our Data API, user monitors operate on a flat-rate, per-hour billing system. You are charged a consistent hourly rate regardless of the volume of tweets or user profiles received from the monitor. A monitor that delivers a hundred tweets in an hour costs exactly the same as one that delivers none.

The first hourly charge is deducted when the monitor is created. Subsequent charges are deducted at the beginning of every hour, for every active monitor.

Discounted rates apply automatically at the beginning of every hour based on the total number of active monitors that you have.

| Monitors count | Hourly rate per monitor | Est. monthly rate per monitor |
| --- | --- | --- |
| 1 - 10 | $0.0069 per hour | ~$4.99 per month |
| 11 - 100 | $0.0062 per hour | ~$4.49 per month |
| 101 - 300 | $0.0055 per hour | ~$3.99 per month |
| 301 - 500 | $0.0048 per hour | ~$3.49 per month |
| 501 - 1000 | $0.0042 per hour | ~$2.99 per month |
| 1000+ | $0.0035 per hour | ~$2.49 per month |

## Search monitors

A [Search Query Monitor](https://docs.socialdata.tools/monitoring/create-search-query-monitor/) is billed per execution, at the same rate as our [Get search results](https://docs.socialdata.tools/reference/get-search-results/) endpoint:

-   **$0.0002 per tweet delivered**, for every execution that finds new tweets
-   **$0.0002 flat**, for every execution that delivers nothing

The flat charge exists because every execution runs a real search against Twitter whether or not it matches anything. An execution that delivers 5 tweets costs $0.0010; an execution that delivers none costs $0.0002.

There is no charge for creating a search monitor, and no hourly fee.

### What this costs in practice

Your bill is driven by `refresh_frequency`, not by how active your query is. A monitor that never matches a single tweet still executes on schedule, and still costs money:

| refresh\_frequency | Executions per day | Min. cost per day | Min. cost per month |
| --- | --- | --- | --- |
| 30 seconds (default) | 2,880 | $0.58 | ~$17.28 |
| 60 seconds | 1,440 | $0.29 | ~$8.64 |
| 300 seconds | 288 | $0.06 | ~$1.73 |
| 3600 seconds | 24 | $0.005 | ~$0.14 |

Those are minimums, not estimates — delivered tweets are charged on top, at $0.0002 each.

> **Choosing a refresh frequency**
> 
> Pick the slowest frequency your use case tolerates. A query on a rarely-tweeted topic polled every 30 seconds costs ~$17/month to mostly find nothing; the same query at 5 minutes costs ~$1.73/month and is still faster than most alerting workflows need. You can change the frequency at any time using the [Update monitor](https://docs.socialdata.tools/monitoring/edit-monitor-webhook/) endpoint.

### When search charges appear

Charges for delivered tweets are recorded as those tweets are delivered. Charges for executions that delivered nothing are settled hourly, and once more when the monitor is deleted — so a monitor you delete mid-hour is still billed for the executions it ran before deletion.

Both kinds of charge appear in your usage history as regular tweet charges.

## Running out of balance

Monitors are not served on an empty balance. When a charge cannot be collected, the monitor is **paused**: it stops checking for updates, stops delivering webhooks, and stops accruing charges. It is not deleted, and its configuration is preserved.

Topping up your balance resumes all paused monitors automatically.

Paused monitors keep appearing in [List active monitors](https://docs.socialdata.tools/monitoring/list-active-monitors/), so if a monitor has gone quiet without you deleting it, check your balance.

## FAQ

**What is a monitor?**

> A monitor is a single record in the output of our [List Active Monitors](https://docs.socialdata.tools/monitoring/list-active-monitors/) endpoint. If you are monitoring tweets, following, and profile updates by the same Twitter user — this counts as 3 different monitors.

**Am I charged for duplicate webhook deliveries?**

> No. Each detected event is billed once, however many delivery attempts it takes.

**Am I charged when my webhook endpoint is down?**

> Yes. The charge is for detecting the event, which happened regardless of whether your server accepted the delivery. See [Processing webhook events](https://docs.socialdata.tools/monitoring/processing-webhooks/) for how to recover events your endpoint missed.

**Am I charged when a search monitor execution fails on our side?**

> No. Executions that fail before returning results are not billed.
