curl --request PATCH \
--url https://api.firecrawl.dev/v2/monitor/{monitorId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schedule": {
"text": "every 15 minutes starting at :07"
},
"status": "active"
}
'import requests
url = "https://api.firecrawl.dev/v2/monitor/{monitorId}"
payload = {
"schedule": { "text": "every 15 minutes starting at :07" },
"status": "active"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({schedule: {text: 'every 15 minutes starting at :07'}, status: 'active'})
};
fetch('https://api.firecrawl.dev/v2/monitor/{monitorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firecrawl.dev/v2/monitor/{monitorId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'schedule' => [
'text' => 'every 15 minutes starting at :07'
],
'status' => 'active'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firecrawl.dev/v2/monitor/{monitorId}"
payload := strings.NewReader("{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.firecrawl.dev/v2/monitor/{monitorId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firecrawl.dev/v2/monitor/{monitorId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"createdAt": "2023-11-07T05:31:56Z",
"currentCheckId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"estimatedCreditsPerMonth": 123,
"goal": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"judgeEnabled": true,
"lastCheckSummary": {
"changed": 123,
"error": 123,
"new": 123,
"removed": 123,
"same": 123,
"totalPages": 123
},
"lastRunAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"nextRunAt": "2023-11-07T05:31:56Z",
"notification": {
"email": {
"enabled": false,
"includeDiffs": false,
"recipients": [
"jsmith@example.com"
]
}
},
"retentionDays": 123,
"schedule": {
"cron": "<string>",
"timezone": "<string>"
},
"targets": [
{
"type": "scrape",
"urls": [
"<string>"
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scrapeOptions": {
"actions": [
{
"milliseconds": 2,
"type": "wait"
}
],
"blockAds": true,
"excludeTags": [
"<string>"
],
"formats": [
"markdown"
],
"headers": {},
"includeTags": [
"<string>"
],
"location": {
"country": "US",
"languages": [
"en-US"
]
},
"lockdown": false,
"maxAge": 172800000,
"minAge": 123,
"mobile": false,
"onlyCleanContent": false,
"onlyMainContent": true,
"parsers": [
"pdf"
],
"profile": {
"name": "<string>",
"saveChanges": true
},
"proxy": "auto",
"redactPII": false,
"removeBase64Images": true,
"skipTlsVerification": true,
"storeInCache": true,
"threatProtection": {
"blacklist": [
"<string>"
],
"blockedTlds": [
"<string>"
],
"riskScoreThreshold": 75,
"whitelist": [
"<string>"
]
},
"timeout": 60000,
"waitFor": 0
}
}
],
"updatedAt": "2023-11-07T05:31:56Z",
"webhook": {
"url": "<string>",
"events": [],
"headers": {},
"metadata": {}
}
},
"success": true
}Mettre à jour un monitor
curl --request PATCH \
--url https://api.firecrawl.dev/v2/monitor/{monitorId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schedule": {
"text": "every 15 minutes starting at :07"
},
"status": "active"
}
'import requests
url = "https://api.firecrawl.dev/v2/monitor/{monitorId}"
payload = {
"schedule": { "text": "every 15 minutes starting at :07" },
"status": "active"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({schedule: {text: 'every 15 minutes starting at :07'}, status: 'active'})
};
fetch('https://api.firecrawl.dev/v2/monitor/{monitorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firecrawl.dev/v2/monitor/{monitorId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'schedule' => [
'text' => 'every 15 minutes starting at :07'
],
'status' => 'active'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firecrawl.dev/v2/monitor/{monitorId}"
payload := strings.NewReader("{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.firecrawl.dev/v2/monitor/{monitorId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firecrawl.dev/v2/monitor/{monitorId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schedule\": {\n \"text\": \"every 15 minutes starting at :07\"\n },\n \"status\": \"active\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"createdAt": "2023-11-07T05:31:56Z",
"currentCheckId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"estimatedCreditsPerMonth": 123,
"goal": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"judgeEnabled": true,
"lastCheckSummary": {
"changed": 123,
"error": 123,
"new": 123,
"removed": 123,
"same": 123,
"totalPages": 123
},
"lastRunAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"nextRunAt": "2023-11-07T05:31:56Z",
"notification": {
"email": {
"enabled": false,
"includeDiffs": false,
"recipients": [
"jsmith@example.com"
]
}
},
"retentionDays": 123,
"schedule": {
"cron": "<string>",
"timezone": "<string>"
},
"targets": [
{
"type": "scrape",
"urls": [
"<string>"
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scrapeOptions": {
"actions": [
{
"milliseconds": 2,
"type": "wait"
}
],
"blockAds": true,
"excludeTags": [
"<string>"
],
"formats": [
"markdown"
],
"headers": {},
"includeTags": [
"<string>"
],
"location": {
"country": "US",
"languages": [
"en-US"
]
},
"lockdown": false,
"maxAge": 172800000,
"minAge": 123,
"mobile": false,
"onlyCleanContent": false,
"onlyMainContent": true,
"parsers": [
"pdf"
],
"profile": {
"name": "<string>",
"saveChanges": true
},
"proxy": "auto",
"redactPII": false,
"removeBase64Images": true,
"skipTlsVerification": true,
"storeInCache": true,
"threatProtection": {
"blacklist": [
"<string>"
],
"blockedTlds": [
"<string>"
],
"riskScoreThreshold": 75,
"whitelist": [
"<string>"
]
},
"timeout": 60000,
"waitFor": 0
}
}
],
"updatedAt": "2023-11-07T05:31:56Z",
"webhook": {
"url": "<string>",
"events": [],
"headers": {},
"metadata": {}
}
},
"success": true
}Autorisations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Paramètres de chemin
L’ID du monitor
Corps
Payload de mise à jour partielle du monitor. Incluez au moins un champ.
Objectif en langage naturel utilisé pour évaluer si les pages modifiées sont pertinentes. S’il est fourni et que judgeEnabled est omis, l’évaluation est activée automatiquement. Obligatoire (non vide) lorsqu’une cible est de type search, sauf si judgeEnabled est false.
2000Indique si les pages modifiées doivent être évaluées par rapport à goal. Nécessite un goal non vide pour s’exécuter.
256Show child attributes
Show child attributes
1 <= x <= 365Planification des vérifications du monitor. Fournissez soit cron, soit text.
Show child attributes
Show child attributes
active, paused 1 - 50 elements- Scrape target
- Crawl target
- Search target
Show child attributes
Show child attributes
Destination du webhook pour les événements de page du monitor et de fin de vérification.
Show child attributes
Show child attributes

