---
title: "Delete Monitor - API Reference"
description: "API endpoint to permanently delete a Twitter/X monitor and stop all webhook deliveries associated with it."
source: "https://docs.socialdata.tools/monitoring/delete-monitor/"
---

Deletes a monitor. This stops the API from checking for new events and halts all future charges for this monitor.

Deletion is immediate and permanent — a deleted monitor cannot be restored, and it no longer appears in [List active monitors](https://docs.socialdata.tools/monitoring/list-active-monitors/). To stop a monitor temporarily, remove its webhook URL or let it pause rather than deleting it.

Any charges already incurred are settled at the moment of deletion. For a [search monitor](https://docs.socialdata.tools/monitoring/create-search-query-monitor/) this includes executions it ran since the last hourly settlement, so a final charge may appear on your account just after you delete it.

DELETE https://api.socialdata.tools/monitors/{monitor\_id}

## Headers

**Authorization** `string` — required

Authorization Bearer header containing your SocialData API key

Example: Bearer YOUR\_API\_KEY

## Path Parameters

**monitor\_id** `string` — required

Target monitor ID

Example: 01jeg76qa91b095gttamsbwa6q

## Code Examples

#### curl

```shellscript
curl -X DELETE "https://api.socialdata.tools/monitors/01jeg76qa91b095gttamsbwa6q" \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -H 'Accept: application/json'
```

#### JavaScript

```js
const monitorId = '01jeg76qa91b095gttamsbwa6q';
const API_KEY = 'YOUR_API_KEY_HERE';

fetch(`https://api.socialdata.tools/monitors/${monitorId}`, {
    method: 'DELETE',
    headers: {
        'Authorization': `Bearer ${API_KEY}`,
        'Accept': 'application/json'
    }
})
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
```

#### Python

```python
import requests

monitor_id = '01jeg76qa91b095gttamsbwa6q'
API_KEY = 'YOUR_API_KEY_HERE'

url = f'https://api.socialdata.tools/monitors/{monitor_id}'

headers = {
    'Authorization': f'Bearer {API_KEY}',
    'Accept': 'application/json'
}

response = requests.delete(url, headers=headers)

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print(f"Error: {response.status_code}")
    print(response.text)
```

#### PHP

```php
$monitor_id = '01jeg76qa91b095gttamsbwa6q';
$API_KEY = 'YOUR_API_KEY_HERE';

$url = "https://api.socialdata.tools/monitors/{$monitor_id}";

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $API_KEY",
        "Accept: application/json"
    ]
]);

$response = curl_exec($ch);
$data = json_decode($response, true);
print_r($data);

curl_close($ch);
```

## Example Responses

#### 200

```json
{
  "status": "success"
}
```

#### 404

```json
{
    "status": "error",
    "message": "Not found"
}
```

## Response Codes

-   **200 OK** - request succeeded
-   **404 Not Found** - requested monitor does not exist

## Related endpoints

-   [Get monitor details](https://docs.socialdata.tools/monitoring/get-monitor-details/)
-   [List active monitors](https://docs.socialdata.tools/monitoring/list-active-monitors/)
-   [Monitor event history](https://docs.socialdata.tools/monitoring/monitor-event-history/)
-   [Update monitor](https://docs.socialdata.tools/monitoring/edit-monitor-webhook/)

## Before you integrate

-   [Authentication](https://docs.socialdata.tools/getting-started/authentication/)
-   [Rate limits](https://docs.socialdata.tools/getting-started/rate-limits/)
-   [Errors](https://docs.socialdata.tools/getting-started/errors/)
-   [Monitoring API pricing](https://docs.socialdata.tools/monitoring/pricing/)
-   [Processing webhook events](https://docs.socialdata.tools/monitoring/processing-webhooks/)
