diff --git a/fr/api-reference/endpoint/search.mdx b/fr/api-reference/endpoint/search.mdx
index ae9d244b..ae958322 100644
--- a/fr/api-reference/endpoint/search.mdx
+++ b/fr/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Recherche"
-openapi: 'v2-openapi POST /search'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -20,7 +20,6 @@ Recherchez le web, les images et l’actualité en une seule fois :
}
```
-
### Format de réponse modifié
@@ -38,7 +37,6 @@ v1 : liste simple de résultats. v2 : organisé par type de source :
}
```
-
### Nouvelles fonctionnalités
@@ -94,7 +92,6 @@ Exemples : `"US"`, `"DE"`, `"FR"`, `"JP"`, `"UK"`, `"CA"`.
}
```
-
## Paramètre categories
@@ -117,7 +114,6 @@ Filtrez les résultats de recherche par catégories spécifiques à l’aide du
}
```
-
### Réponse par catégorie
@@ -146,7 +142,6 @@ Chaque résultat comprend un champ `category` indiquant son origine :
}
```
-
## Recherche par période
diff --git a/fr/api-reference/endpoint/token-usage-historical.mdx b/fr/api-reference/endpoint/token-usage-historical.mdx
index 22271cd1..04ab7d8f 100644
--- a/fr/api-reference/endpoint/token-usage-historical.mdx
+++ b/fr/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "Utilisation historique des jetons"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
Renvoie l’utilisation historique des jetons, mois par mois. L’endpoint peut également, en option, ventiler l’utilisation par clé d’API.
diff --git a/fr/api-reference/endpoint/token-usage.mdx b/fr/api-reference/endpoint/token-usage.mdx
index 989c790d..5ff12762 100644
--- a/fr/api-reference/endpoint/token-usage.mdx
+++ b/fr/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Utilisation des jetons"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
Nous avons simplifié la facturation : Extract utilise désormais des crédits, comme tous les autres endpoints. Chaque crédit correspond à 15 jetons. L’utilisation de jetons indiquée inclut désormais la consommation de tous les endpoints.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/batch-scrape-delete.mdx b/fr/api-reference/v1-endpoint/batch-scrape-delete.mdx
index de3b7a6f..766ece56 100644
--- a/fr/api-reference/v1-endpoint/batch-scrape-delete.mdx
+++ b/fr/api-reference/v1-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler un scraping par lot"
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-delete) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/batch-scrape-get-errors.mdx b/fr/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
index 88dd4ece..d1dffe0e 100644
--- a/fr/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
+++ b/fr/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obtenir les erreurs de batch scrape'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> Remarque : Une [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-get-errors) est désormais disponible, avec un meilleur rapport d’erreurs et des capacités de débogage améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/batch-scrape-get.mdx b/fr/api-reference/v1-endpoint/batch-scrape-get.mdx
index e2ed7141..f476449a 100644
--- a/fr/api-reference/v1-endpoint/batch-scrape-get.mdx
+++ b/fr/api-reference/v1-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l’état d’un batch scrape"
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-get) est désormais disponible, avec un meilleur suivi d’état et des fonctionnalités de monitoring.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/batch-scrape.mdx b/fr/api-reference/v1-endpoint/batch-scrape.mdx
index 4a845b59..0beeac6e 100644
--- a/fr/api-reference/v1-endpoint/batch-scrape.mdx
+++ b/fr/api-reference/v1-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape par lots'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape) est désormais disponible, avec de meilleures performances et une fiabilité accrue pour le traitement par lots.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/crawl-active.mdx b/fr/api-reference/v1-endpoint/crawl-active.mdx
index 9f105a9c..38fe507a 100644
--- a/fr/api-reference/v1-endpoint/crawl-active.mdx
+++ b/fr/api-reference/v1-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: "Afficher les crawls actifs"
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-active) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/crawl-delete.mdx b/fr/api-reference/v1-endpoint/crawl-delete.mdx
index 5acb49f7..a92316d4 100644
--- a/fr/api-reference/v1-endpoint/crawl-delete.mdx
+++ b/fr/api-reference/v1-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler le crawl"
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-delete) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/crawl-get-errors.mdx b/fr/api-reference/v1-endpoint/crawl-get-errors.mdx
index 4959a491..ac3c6d56 100644
--- a/fr/api-reference/v1-endpoint/crawl-get-errors.mdx
+++ b/fr/api-reference/v1-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obtenir les erreurs de crawl'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/crawl-get-errors) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/crawl-get.mdx b/fr/api-reference/v1-endpoint/crawl-get.mdx
index 7f271052..d64dcb31 100644
--- a/fr/api-reference/v1-endpoint/crawl-get.mdx
+++ b/fr/api-reference/v1-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obtenir l’état du crawl'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-get) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/crawl-post.mdx b/fr/api-reference/v1-endpoint/crawl-post.mdx
index a2b83c41..ec308c02 100644
--- a/fr/api-reference/v1-endpoint/crawl-post.mdx
+++ b/fr/api-reference/v1-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl"
-openapi: 'v1-openapi POST /crawl'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-post) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/credit-usage-historical.mdx b/fr/api-reference/v1-endpoint/credit-usage-historical.mdx
index b82b492a..75b87bda 100644
--- a/fr/api-reference/v1-endpoint/credit-usage-historical.mdx
+++ b/fr/api-reference/v1-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "Historique d’utilisation des crédits"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
Renvoie l’historique de l’utilisation des crédits, mois par mois. Le point de terminaison peut également, en option, ventiler l’utilisation par clé d’API.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/credit-usage.mdx b/fr/api-reference/v1-endpoint/credit-usage.mdx
index 58cfecd8..7f93a760 100644
--- a/fr/api-reference/v1-endpoint/credit-usage.mdx
+++ b/fr/api-reference/v1-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Utilisation des crédits"
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/credit-usage) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/deep-research-get.mdx b/fr/api-reference/v1-endpoint/deep-research-get.mdx
index e2ebcf61..0e8a3569 100644
--- a/fr/api-reference/v1-endpoint/deep-research-get.mdx
+++ b/fr/api-reference/v1-endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "Recherche approfondie"
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/deep-research.mdx b/fr/api-reference/v1-endpoint/deep-research.mdx
index 3f4ac9b8..5b434c8e 100644
--- a/fr/api-reference/v1-endpoint/deep-research.mdx
+++ b/fr/api-reference/v1-endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: "Deep Research"
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Le point de terminaison Deep Research permet d’effectuer des recherches et des analyses approfondies par IA sur n’importe quel sujet. Il suffit de fournir une requête de recherche, et Firecrawl explorera le web de façon autonome, collectera les informations pertinentes et synthétisera les résultats en insights complets.
diff --git a/fr/api-reference/v1-endpoint/extract-get.mdx b/fr/api-reference/v1-endpoint/extract-get.mdx
index 3fcaf529..3a4b9af4 100644
--- a/fr/api-reference/v1-endpoint/extract-get.mdx
+++ b/fr/api-reference/v1-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obtenir l’état d’Extract'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/extract-get) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/extract.mdx b/fr/api-reference/v1-endpoint/extract.mdx
index a8c6ead6..851c1599 100644
--- a/fr/api-reference/v1-endpoint/extract.mdx
+++ b/fr/api-reference/v1-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> Remarque : Une [nouvelle version v2 de cette API](/fr/api-reference/endpoint/extract) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/llmstxt-get.mdx b/fr/api-reference/v1-endpoint/llmstxt-get.mdx
index 9513a5d7..4245b002 100644
--- a/fr/api-reference/v1-endpoint/llmstxt-get.mdx
+++ b/fr/api-reference/v1-endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "Statut de LLMs.txt"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
Obtenez le statut et les résultats d’une génération de LLMs.txt. Ce point de terminaison vous permet de vérifier si la génération est terminée et de récupérer le contenu généré.
@@ -69,7 +69,6 @@ Si la tâche de génération échoue ou est introuvable, vous recevrez une répo
}
```
-
### Recommandations pour le polling
diff --git a/fr/api-reference/v1-endpoint/llmstxt.mdx b/fr/api-reference/v1-endpoint/llmstxt.mdx
index dbfab1ba..87544e51 100644
--- a/fr/api-reference/v1-endpoint/llmstxt.mdx
+++ b/fr/api-reference/v1-endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "Générer LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
Le point de terminaison de génération LLMs.txt crée les fichiers LLMs.txt et LLMs-full.txt pour n’importe quel site web. Ces fichiers proposent un format structuré, optimisé pour les LLM, du contenu du site, afin de faciliter la compréhension et le traitement des informations par les modèles de langage.
diff --git a/fr/api-reference/v1-endpoint/map.mdx b/fr/api-reference/v1-endpoint/map.mdx
index 368e79c4..946b142d 100644
--- a/fr/api-reference/v1-endpoint/map.mdx
+++ b/fr/api-reference/v1-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map"
-openapi: 'v1-openapi POST /map'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> Remarque : Une [nouvelle version v2 de cette API](/fr/api-reference/endpoint/map) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/queue-status.mdx b/fr/api-reference/v1-endpoint/queue-status.mdx
index 363bc9eb..6738a7af 100644
--- a/fr/api-reference/v1-endpoint/queue-status.mdx
+++ b/fr/api-reference/v1-endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "Statut de la file d'attente"
-openapi: 'v1-openapi GET /team/queue-status'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/queue-status'
---
> Remarque : une [nouvelle version v2 de cette API](/fr/api-reference/endpoint/queue-status) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/scrape.mdx b/fr/api-reference/v1-endpoint/scrape.mdx
index f615a2c7..ee452fb6 100644
--- a/fr/api-reference/v1-endpoint/scrape.mdx
+++ b/fr/api-reference/v1-endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/scrape) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/search.mdx b/fr/api-reference/v1-endpoint/search.mdx
index 9bccdce9..da10ecd4 100644
--- a/fr/api-reference/v1-endpoint/search.mdx
+++ b/fr/api-reference/v1-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Recherche"
-openapi: "v1-openapi POST /search"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /search"
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/search) est désormais disponible avec des fonctionnalités et des performances améliorées.
diff --git a/fr/api-reference/v1-endpoint/token-usage-historical.mdx b/fr/api-reference/v1-endpoint/token-usage-historical.mdx
index cbfd8340..260d2ed3 100644
--- a/fr/api-reference/v1-endpoint/token-usage-historical.mdx
+++ b/fr/api-reference/v1-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "Historique d’utilisation des jetons"
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
Retourne l’utilisation des jetons, mois par mois. Ce point de terminaison peut également ventiler l’usage par clé d’API, en option.
\ No newline at end of file
diff --git a/fr/api-reference/v1-endpoint/token-usage.mdx b/fr/api-reference/v1-endpoint/token-usage.mdx
index c3c064d9..90ef11a6 100644
--- a/fr/api-reference/v1-endpoint/token-usage.mdx
+++ b/fr/api-reference/v1-endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Utilisation des jetons"
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/token-usage) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/api-reference/v1-openapi.json b/fr/api-reference/v1-openapi.json
new file mode 100644
index 00000000..017e7f31
--- /dev/null
+++ b/fr/api-reference/v1-openapi.json
@@ -0,0 +1,3656 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "API permettant d’interagir avec les services Firecrawl pour réaliser des tâches de scraping et de crawling web.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Récupérez le contenu d’une seule URL et, éventuellement, extrayez des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, cela activera l’absence de conservation des données pour cette opération de scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Scraper plusieurs URL et éventuellement en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet représentant la spécification d’un webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL vers laquelle envoyer le webhook. Celui-ci sera déclenché au démarrage du scraping par lots (batch_scrape.started), pour chaque page extraite (batch_scrape.page) et lorsque le scraping par lots est terminé (batch_scrape.completed ou batch_scrape.failed). La réponse sera la même que celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans toutes les données envoyées via webhook pour ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook (par défaut : tous).",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal de scrapes simultanés. Ce paramètre vous permet de définir une limite de scrapes parallèles pour ce lot. S’il n’est pas spécifié, le lot respecte la limite de scrapes parallèles de votre équipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si des URL non valides sont spécifiées dans le tableau `urls`, elles seront ignorées. Au lieu de faire échouer l’intégralité de la requête, une opération de scraping par lot sera créée en utilisant les URL valides restantes, et les URL non valides seront renvoyées dans le champ `invalidURLs` de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette option est définie sur true, cela activera l’absence totale de conservation des données pour ce lot de scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping en lot",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir l’état d’une tâche de scraping par lots",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler une tâche de scraping par lots",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de scraping par lots introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping par lot",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir les erreurs d’un job de scraping par lot",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer l’état d’une tâche de crawl",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler un job de crawl",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation effectuée",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de crawl introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer les erreurs d’une tâche de crawl",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Explorer plusieurs URL en fonction des options",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle démarrer le crawl"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’expressions régulières pour les chemins d’URL qui excluent de l’exploration les URL correspondantes. Par exemple, si vous définissez `\"excludePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, tous les résultats correspondant à ce motif seront exclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Expressions régulières (regex) pour les chemins d’URL à inclure dans le crawl. Seuls les chemins qui correspondent aux motifs spécifiés seront inclus dans la réponse. Par exemple, si vous définissez `\"includePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, seuls les résultats correspondant à ce motif seront inclus, comme `https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap`."
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profondeur absolue maximale à explorer à partir de la base de l’URL saisie. En pratique, il s’agit du nombre maximal de barres obliques que peut contenir le chemin (pathname) d’une URL explorée.",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale d’exploration basée sur l’ordre de découverte. Le site racine et les pages issues du sitemap ont une profondeur de découverte de 0. Par exemple, si vous la définissez à 1 et que vous activez ignoreSitemap, seules l’URL saisie et toutes les URL liées depuis cette page seront explorées."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorer le sitemap du site lors du crawl",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne relancez pas le scraping du même chemin avec des paramètres de requête différents (ou sans aucun paramètre)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer. La limite par défaut est de 10 000.",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ OBSOLÈTE : utilisez plutôt « crawlEntireDomain ». Permet au robot d'exploration de suivre les liens internes vers des URL au même niveau ou parentes, et pas seulement vers des chemins enfants.",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens internes vers des URL au même niveau ou de niveau supérieur, et pas seulement des chemins enfants.\n\nfalse : Explore uniquement les URL plus profondes (enfants).\n→ ex. /features/feature-1 → /features/feature-1/tips ✅\n→ Ne suivra pas /pricing ou / ❌\n\ntrue : Explore tous les liens internes, y compris les URL au même niveau et de niveau supérieur.\n→ ex. /features/feature-1 → /pricing, /, etc. ✅\n\nUtilisez true pour une couverture interne plus large, au‑delà des chemins imbriqués.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre des liens pointant vers des sites web externes.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens vers les sous-domaines du domaine principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalle en secondes entre deux opérations de scraping. Cela permet de respecter les limites de fréquence des sites web."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal d’opérations de scraping simultanées. Ce paramètre vous permet de définir une limite de parallélisme pour ce crawl. S’il n’est pas spécifié, le crawl respecte la limite de parallélisme de votre équipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Il sera déclenché au démarrage du crawl (crawl.started), pour chaque page explorée (crawl.page) et lorsque le crawl est terminé (crawl.completed ou crawl.failed). La réponse sera identique à celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans tous les payloads de webhook de ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée pour ce crawl. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Cartographier plusieurs URL selon les options",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle démarrer l’exploration"
+ },
+ "search": {
+ "type": "string",
+ "description": "Requête de recherche à utiliser pour la cartographie. Pendant la phase Alpha, la partie « intelligente » de la fonction de recherche est limitée à 500 résultats. En revanche, si « map » renvoie davantage de résultats, aucune limite n’est appliquée."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorer le sitemap du site lors de l’exploration.",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "Ne renvoyer que les liens présents dans le sitemap du site web",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Inclure les sous-domaines du site",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de liens renvoyés",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration en millisecondes. Aucun délai d’expiration n’est défini par défaut."
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètres de localisation pour la requête. Lorsqu’ils sont spécifiés, un proxy approprié sera utilisé si disponible et les paramètres de langue et de fuseau horaire correspondants seront émulés. La valeur par défaut est « US » si aucun paramètre n’est indiqué.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (p. ex. « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Par défaut, la langue de l’emplacement spécifié est utilisée. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraire des données structurées depuis des pages à l’aide de LLM",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "Les URL à partir desquelles extraire les données. Les URL doivent utiliser le format glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt guidant le processus d’extraction"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma qui définit la structure des données extraites. Doit être conforme à la spécification [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Lorsque la valeur est définie sur true, l’extraction utilisera la recherche sur le Web pour trouver des données supplémentaires",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Lorsque cette option est à true, les fichiers sitemap.xml sont ignorés lors de l’analyse du site web",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Si activé, les sous-domaines des URL fournies seront également explorés",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Lorsque cette option est définie sur `true`, les sources utilisées pour extraire les données seront incluses dans la réponse sous la clé `sources`.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si des URL non valides sont spécifiées dans le tableau urls, elles seront ignorées. Au lieu de faire échouer toute la requête, une extraction sera effectuée à partir des URL valides restantes, et les URL non valides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extraction réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Requête invalide",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche d’extraction",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer le statut d'une tâche d'extraction",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Récupérer tous les crawls actifs de l’équipe actuelle",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "L’identifiant unique du crawl"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "L’ID de l’équipe qui possède le crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de départ du crawl"
+ },
+ "options": {
+ "type": "object",
+ "description": "Options du crawler utilisées pour ce crawl",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "Lancer une recherche approfondie pour une requête",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "La requête à étudier"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "Profondeur maximale des itérations de recherche"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "Limite de temps (en secondes)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "Nombre maximal d’URL à analyser"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour l’analyse finale. Utile pour formater le markdown de l’analyse finale d’une manière spécifique."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "L’invite système à utiliser pour l’agent de recherche. Permet d’orienter l’agent de recherche dans une direction précise."
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Options de sortie au format JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "Le schéma à utiliser pour la sortie JSON. Doit être conforme à JSON Schema (https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Le prompt système à utiliser pour la sortie au format JSON"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour la sortie au format JSON"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "La tâche de recherche a bien démarré",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID de la tâche de recherche"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Paramètres de la requête invalides",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche de recherche",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir le statut et les résultats d'une opération de recherche approfondie",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "Affiché lorsque le format JSON est utilisé",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de recherche introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Récupérer les crédits restants de l’équipe authentifiée",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "Nombre de crédits restants pour l’équipe",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "Nombre de crédits inclus dans la formule. N’inclut pas les crédits issus de coupons, les packs de crédits ni les crédits de rechargement automatique.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez le forfait gratuit",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informations sur l’utilisation des crédits introuvables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Récupérer l’historique d’utilisation des crédits de l’équipe authentifiée",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des crédits par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé API utilisée pour la période de facturation. null si byApiKey est à false (par défaut)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Nombre total de crédits utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Récupérer le nombre de jetons restants pour l’équipe authentifiée (extraction uniquement)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "Nombre de jetons restants pour l’équipe",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "Nombre de jetons inclus dans le forfait. Les jetons issus de coupons ne sont pas comptabilisés.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez l’offre gratuite",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informations sur l’utilisation des jetons introuvables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Récupérer l’historique d’utilisation des tokens de l’équipe authentifiée (Extract uniquement)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des jetons par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé API utilisée pour la période de facturation. null si byApiKey est false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Nombre total de jetons utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "Indicateurs sur la file d’attente de scraping de votre équipe",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches actuellement en file d'attente"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches en cours"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches actuellement en attente"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "Nombre maximal de tâches actives en parallèle en fonction de votre offre"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Horodatage de la tâche la plus récente exécutée avec succès",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Rechercher et éventuellement scraper les résultats de recherche",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "La requête de recherche"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de résultats à retourner",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge les intervalles de temps prédéfinis (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) et les plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation des résultats de recherche"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration en millisecondes",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclut des résultats de recherche les URL qui ne sont pas valides pour d’autres endpoints de Firecrawl. Cela permet de réduire les erreurs si vous transférez les données issues de la recherche vers d’autres endpoints de l’API Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "Options de scraping des résultats de recherche",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de la recherche"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description du résultat de la recherche"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de la recherche"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu en Markdown si le scraping a été demandé"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si ce format est demandé dans formats"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut lorsqu’il est demandé dans les formats"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens trouvés si demandé dans les formats de sortie"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de la capture d’écran si elle est demandée dans les formats. Les captures d’écran expirent après 24 heures et ne peuvent plus être téléchargées."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Message d’avertissement en cas de problèmes"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Dépassement du délai d’attente de la requête",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "Générer le fichier LLMs.txt d’un site web",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL utilisée pour générer LLMs.txt"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "Nombre maximal d’URL à analyser",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "Inclure l’intégralité du contenu textuel dans la réponse",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "La tâche de génération LLMs.txt a été lancée avec succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID du job de génération du fichier LLMs.txt"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Paramètres de requête non valides",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Identifiant de la tâche de génération de LLMs.txt",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir le statut et les résultats d’une tâche de génération de fichier LLMs.txt",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "Le contenu généré du fichier LLMs.txt"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "Le contenu textuel complet lorsque showFullText vaut true"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date d’expiration du contenu généré"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de génération du fichier LLMs.txt introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Renvoyer uniquement le contenu principal de la page, en excluant les en-têtes, éléments de navigation, pieds de page, etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à inclure dans la sortie."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à exclure du résultat."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Renvoie une version mise en cache de la page si elle a moins que cette ancienneté (en millisecondes). Si une version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau scrapée. Si vous n’avez pas besoin de données extrêmement récentes, activer cette option peut accélérer vos opérations de scraping jusqu’à 500 %. La valeur par défaut est 0, ce qui désactive la mise en cache.",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer avec la requête. Peuvent servir à envoyer des cookies, l’en-tête User-Agent, etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Spécifiez un délai, en millisecondes, avant de récupérer le contenu, afin de laisser à la page suffisamment de temps pour se charger.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Mettez cette option à true si vous souhaitez simuler le scraping depuis un appareil mobile. Utile pour tester les pages responsive et prendre des captures d’écran mobiles.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorer la vérification des certificats TLS lors de l’envoi de requêtes",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d'attente de la requête en millisecondes",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "Contrôle la façon dont les fichiers PDF sont traités lors du scraping. Lorsque cette option est activée (true), le contenu du PDF est extrait et converti au format markdown, avec une facturation basée sur le nombre de pages (1 crédit par page). Lorsque cette option est désactivée (false), le fichier PDF est renvoyé sous forme de base64 avec un tarif forfaitaire de 1 crédit au total.",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Objet JSON d’options",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "Le schéma d’extraction à utiliser (facultatif). Doit être conforme à la spécification [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Le prompt système à utiliser pour l'extraction (optionnel)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour l’extraction sans schéma (optionnel)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions à effectuer sur la page avant de récupérer le contenu",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Attendre un nombre donné de millisecondes"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Nombre de millisecondes d'attente"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur de requête permettant de trouver l’élément par",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Prenez une capture d’écran. Les liens seront disponibles dans le tableau `actions.screenshots` de la réponse."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut effectuer une capture d’écran de la page entière ou la limiter à la zone d’affichage actuelle (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "La qualité de la capture d’écran, allant de 1 à 100. 100 correspond à la qualité la plus élevée."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Cliquez sur un élément"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur CSS pour trouver l’élément par",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clique sur tous les éléments correspondant au sélecteur, et pas uniquement le premier. Ne génère pas d’erreur si aucun élément ne correspond au sélecteur.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Saisir du texte dans un champ de saisie, une zone de texte ou un élément contenteditable. Remarque : vous devez d’abord placer le focus sur l’élément à l’aide d’une action de « clic » avant de saisir le texte. Le texte sera entré caractère par caractère pour simuler une saisie au clavier."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texte à saisir",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Appuyez sur une touche sur cette page. Voir https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html pour la liste des codes de touches.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Appuyez sur une touche du clavier"
+ },
+ "key": {
+ "type": "string",
+ "description": "Touche à presser",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Faire défiler la page ou un élément spécifique"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sens de défilement",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur CSS de l’élément à faire défiler",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrait le contenu de la page actuelle et renvoie l’URL et le HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Exécuter du code JavaScript sur la page"
+ },
+ "script": {
+ "type": "string",
+ "description": "Code JavaScript à exécuter",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Générer un PDF de la page actuelle. Le PDF sera renvoyé dans le tableau `actions.pdfs` de la réponse."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "Le format de page du PDF généré",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Indique s’il faut générer le PDF au format paysage",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Le facteur d’échelle du PDF généré",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètre de localisation de la requête. Lorsqu’il est spécifié, un proxy approprié est utilisé si disponible et la langue ainsi que le fuseau horaire correspondants sont émulés. Par défaut, « US » est utilisé si aucun paramètre n’est spécifié.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (par ex. « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Par défaut, la langue de l’emplacement spécifié est utilisée. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Supprime toutes les images encodées en base64 de la sortie, qui peuvent être extrêmement longues. Le texte alternatif de l’image est conservé dans la sortie, mais l’URL est remplacée par un placeholder.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Active le blocage des publicités et des bannières de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Spécifie le type de proxy à utiliser.\n\n - **basic** : Proxies pour le scraping de sites avec peu ou pas de solutions anti-bot. Rapides et généralement efficaces.\n - **stealth** : Proxies furtifs pour le scraping de sites avec des solutions anti-bot avancées. Plus lents, mais plus fiables sur certains sites. Coût pouvant atteindre 5 crédits par requête.\n - **auto** : Firecrawl réessaiera automatiquement le scraping avec des proxies furtifs si le proxy basic échoue. Si la nouvelle tentative avec stealth réussit, 5 crédits seront facturés pour l’opération de scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.\n\nSi vous ne spécifiez pas de proxy, Firecrawl utilisera basic par défaut."
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Si ce paramètre est défini sur true, la page sera stockée dans l’index et le cache de Firecrawl. Le définir sur false est utile si votre activité de scraping peut soulever des enjeux de protection des données. L’utilisation de certains paramètres associés à un scraping sensible (actions, en-têtes) forcera ce paramètre à false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "Formats à inclure dans le résultat.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "Options de suivi des modifications (bêta). Applicable uniquement lorsque « changeTracking » est inclus dans les formats. Le format « markdown » doit également être spécifié lors de l’utilisation du suivi des modifications.",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "Le mode à utiliser pour le suivi des modifications. « git-diff » fournit un diff détaillé, et « json » compare les données JSON extraites."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma pour l’extraction JSON lors de l’utilisation du mode « json ». Définit la structure des données à extraire et à comparer. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt à utiliser pour le suivi des modifications lors de l’utilisation du mode « json ». S’il n’est pas renseigné, le prompt par défaut sera utilisé."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag à utiliser pour le suivi des modifications. Les tags peuvent séparer l’historique de suivi des modifications en « branches » distinctes, où le suivi des modifications avec un tag spécifique ne comparera qu’avec les scrapes effectués avec le même tag. Si aucun tag n’est fourni, le tag par défaut (null) sera utilisé."
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `html` figure dans `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `rawHtml` figure parmi les formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `screenshot` fait partie de `formats`. Les captures d’écran expirent après 24 heures et ne peuvent plus être téléchargées."
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `links` figure dans `formats`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats des actions spécifiées dans le paramètre `actions`. Uniquement présent si le paramètre `actions` a été fourni dans la requête",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs des captures d’écran, dans le même ordre que les actions de capture d’écran fournies. Les captures d’écran expirent après 24 heures et ne sont alors plus téléchargeables.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraire le contenu dans le même ordre que les actions de scraping fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valeurs de retour JavaScript, dans le même ordre que les actions executeJavascript spécifiées.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDF générés, dans le même ordre que les actions PDF fournies.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots-clés extraits de la page, peuvent être représentés sous forme de chaîne ou de tableau de chaînes de caractères"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Autres paramètres régionaux de la page"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d’état HTTP de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Affiché lors de l’utilisation de l’extraction LLM. Données extraites de la page selon le schéma défini.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Peut s’afficher lors de l’utilisation de l’extraction LLM. Un message d’avertissement vous signalera tout problème lié à l’extraction."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informations de suivi des modifications si `changeTracking` figure dans `formats`. Ces informations ne sont présentes que lorsque le format `changeTracking` est demandé.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "L’horodatage du scraping précédent auquel la page actuelle est comparée. Null s’il n’existe aucun scraping précédent."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "Le résultat de la comparaison entre les deux versions de la page. « new » signifie que cette page n’existait pas auparavant, « same » signifie que le contenu est inchangé, « changed » signifie que le contenu a changé, « removed » signifie que la page a été supprimée."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "La visibilité de la page/URL actuelle. « visible » signifie que l’URL a été découverte de manière organique (liens ou sitemap), « hidden » signifie que l’URL a été découverte grâce à la mémoire de crawls précédents."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff au format Git des modifications lors de l’utilisation du mode « git-diff ». Présent uniquement lorsque le mode est défini sur « git-diff »."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats de comparaison JSON lors de l’utilisation du mode `json`. Uniquement disponible lorsque le mode est défini sur `json`. Retourne une liste de toutes les clés et de leurs valeurs issues des extractions `previous` et `current`, en fonction du type défini dans le `schema`. Exemple [ici](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "L’état actuel du crawl. Peut avoir pour valeur `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages ayant fait l'objet d'une tentative de crawl."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages explorées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits utilisés pour l’opération de crawl."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du crawl."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo de données suivants. Retournée si l’exploration n’est pas terminée ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données du crawl.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` est à true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `includeLinks` est défini sur `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` est défini sur `true`"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Langue extraite de la page, peut être une chaîne ou un tableau de chaînes de caractères"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots-clés extraits de la page, pouvant être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Autres paramètres régionaux pour cette page"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Autres métadonnées extraites du HTML, pouvant être une chaîne ou un tableau de chaînes"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code de statut de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Tâches d’extraction en échec et détails des erreurs",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Horodatage ISO de l’échec"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL explorée"
+ },
+ "error": {
+ "type": "string",
+ "description": "Message d’erreur"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Liste des URL pour lesquelles le scraping a été tenté mais bloqué par robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Statut actuel de l’extraction par lots. Peut être `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages dont le scraping a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages récupérées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits utilisés pour le scraping par lots."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date et heure d’expiration du lot de scraping."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo de données suivants. Renvoyée si l’opération de scraping par lots n’est pas terminée ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données du scraping par lots.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut `true`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens de la page si `includeLinks` est défini sur `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne ou un tableau de chaînes de caractères"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Langue extraite de la page ; peut être une chaîne de caractères ou un tableau de chaînes"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots‑clés extraits de la page, sous forme de chaîne ou de tableau de chaînes"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Autres paramètres régionaux de la page"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Autres métadonnées extraites du HTML, pouvant être une chaîne ou un tableau de chaînes"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code de statut de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d'erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs est à true, ce champ est un tableau contenant les URL invalides qui ont été spécifiées dans la requête. S’il n’y a aucune URL invalide, ce sera un tableau vide. Si ignoreInvalidURLs est à false, ce champ sera undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs est défini sur true, il s’agit d’un tableau contenant les URL invalides spécifiées dans la requête. S’il n’y a aucune URL invalide, ce sera un tableau vide. Si ignoreInvalidURLs est défini sur false, ce champ sera undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "Le statut actuel du job d’extraction"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/fr/api-reference/v2-openapi.json b/fr/api-reference/v2-openapi.json
new file mode 100644
index 00000000..a6935d14
--- /dev/null
+++ b/fr/api-reference/v2-openapi.json
@@ -0,0 +1,3828 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "API pour interagir avec les services Firecrawl afin d’effectuer des tâches de scraping et de crawling web.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Récupérer le contenu d’une URL et éventuellement en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à scraper"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si la valeur est true, cela activera la non-conservation totale des données pour ce scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Scraper plusieurs URL et, au besoin, extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Celui-ci sera déclenché au démarrage du scraping par lot (batch_scrape.started), pour chaque page traitée (batch_scrape.page) et lorsque le scraping par lot est terminé (batch_scrape.completed ou batch_scrape.failed). La réponse sera la même que celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans le payload de tous les webhooks pour ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal d’opérations de scraping simultanées. Ce paramètre vous permet de définir une limite du nombre de scrapes exécutés en parallèle pour ce lot. S’il n’est pas renseigné, ce lot de scraping utilisera la limite de parallélisme définie pour votre équipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Si des URL non valides sont spécifiées dans le tableau `urls`, elles seront ignorées. Au lieu de faire échouer l’ensemble de la requête, une opération de scraping par lot sera créée avec les URL valides restantes, et les URL non valides seront renvoyées dans le champ `invalidURLs` de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette option est définie sur true, cela activera l’absence totale de conservation des données pour cette opération de scraping par lot. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes envoyées",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping par lots",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir l'état d'un job de scraping par lots",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler une tâche de scraping par lots",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de scraping par lots introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID du job de scraping par lots",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir les erreurs d’un job de scraping par lots",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L'ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir le statut d’une tâche de crawl",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler une tâche de crawl",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de crawl introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer les erreurs d'une tâche de crawl",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Explorer plusieurs URL selon les options",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle lancer l’exploration"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Invite à utiliser pour générer les options du crawler (tous les paramètres ci-dessous) à partir d’un texte en langage naturel. Les paramètres définis explicitement auront la priorité sur les équivalents générés."
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’expressions régulières pour les chemins d’URL qui excluent du crawl les URL correspondantes. Par exemple, si vous définissez `\"excludePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, tous les résultats correspondant à ce motif seront exclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs regex de chemins d’URL indiquant quelles URL inclure dans le crawl. Seuls les chemins correspondant aux motifs spécifiés seront inclus dans la réponse. Par exemple, si vous définissez `\"includePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, seuls les résultats correspondant à ce motif seront inclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale d’exploration basée sur l’ordre de découverte. Le site racine et les pages issues du sitemap ont une profondeur de découverte de 0. Par exemple, si vous la définissez sur 1 et que vous définissez `sitemap: 'skip'`, vous n’explorerez que l’URL saisie ainsi que toutes les URL qui y sont liées depuis cette page."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Mode sitemap lors de l’exploration. Si vous le définissez sur « skip », le crawler ignorera le sitemap du site web et n’explorera que l’URL saisie, en découvrant ensuite les pages à partir de là.",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne relancez pas le scraping du même chemin avec des paramètres de requête différents (ou sans paramètres)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer. La limite par défaut est de 10 000.",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Autorise le crawler à suivre les liens internes vers des URL de même niveau ou parentes, pas seulement les chemins enfants.\n\nfalse : Explore uniquement les URL plus profondes (enfants).\n→ p. ex. /features/feature-1 → /features/feature-1/tips ✅\n→ Ne suivra pas /pricing ou / ❌\n\ntrue : Explore tous les liens internes, y compris les URL de même niveau et parentes.\n→ p. ex. /features/feature-1 → /pricing, /, etc. ✅\n\nUtilisez true pour une couverture interne plus large au‑delà des chemins imbriqués.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre des liens vers des sites Web externes.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Autorise le crawler à suivre les liens pointant vers les sous-domaines du domaine principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Délai en secondes entre deux opérations de scraping. Cela permet de respecter les limites de fréquence imposées par les sites web."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal d’opérations de scraping simultanées. Ce paramètre vous permet de définir une limite de parallélisme pour ce crawl. S’il n’est pas renseigné, le crawl utilise la limite de parallélisme définie pour votre équipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Il sera déclenché au démarrage du crawl (crawl.started), pour chaque page explorée (crawl.page) et lorsque le crawl est terminé (crawl.completed ou crawl.failed). La réponse sera identique à celle du point de terminaison `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer vers l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans toutes les charges utiles des webhooks de ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée pour ce crawl (zéro conservation des données). Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/params-preview": {
+ "post": {
+ "summary": "Prévisualiser les paramètres de crawl générés à partir d'une invite en langage naturel",
+ "operationId": "crawlParamsPreview",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ },
+ "prompt": {
+ "type": "string",
+ "maxLength": 10000,
+ "description": "Invite en langage naturel décrivant ce que vous souhaitez crawler"
+ }
+ },
+ "required": [
+ "url",
+ "prompt"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie contenant les paramètres de crawl générés",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’URL à inclure"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’URL à exclure"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale de crawl"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale d’exploration"
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Indique s’il faut explorer tout le domaine"
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Autoriser les liens externes"
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Détermine s’il faut autoriser les sous-domaines"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Stratégie de traitement du sitemap"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Indique si les paramètres de requête doivent être ignorés"
+ },
+ "deduplicateSimilarURLs": {
+ "type": "boolean",
+ "description": "Détermine s’il faut dédupliquer les URL similaires"
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalle entre les requêtes, en millisecondes"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Requête incorrecte",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid request parameters"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Non autorisé",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Unauthorized"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Failed to process natural language prompt"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapper plusieurs URL en fonction des options",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle démarrer le crawl"
+ },
+ "search": {
+ "type": "string",
+ "description": "Spécifiez une requête de recherche pour classer les résultats par pertinence. Exemple : « blog » renverra les URL qui contiennent le mot « blog » dans leur adresse, classées par pertinence."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "Mode sitemap lors du mapping. Si vous le réglez sur `skip`, le sitemap ne sera pas utilisé pour trouver des URL. Si vous le réglez sur `only`, seules les URL présentes dans le sitemap seront renvoyées. Par défaut (`include`), le sitemap et d’autres méthodes sont utilisés conjointement pour trouver des URL.",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Inclure les sous-domaines du site",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne renvoyez pas d’URL contenant des paramètres de requête",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de liens à retourner",
+ "default": 5000,
+ "maximum": 100000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’attente en millisecondes. Aucun délai d’attente n’est appliqué par défaut."
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètres de localisation de la requête. Lorsqu’ils sont spécifiés, un proxy approprié est utilisé, si disponible, et les paramètres de langue et de fuseau horaire correspondants sont émulés. La valeur par défaut est « US » si aucun paramètre n’est spécifié.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (par exemple « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Par défaut, la langue de l’emplacement spécifié est utilisée. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "examples": {
+ "example1": {
+ "summary": "Exemple 1",
+ "value": {
+ "url": "",
+ "search": "",
+ "sitemap": "include",
+ "includeSubdomains": true,
+ "ignoreQueryParameters": true,
+ "limit": 5000,
+ "location": {
+ "country": "US",
+ "languages": [
+ "en-US"
+ ]
+ },
+ "timeout": 60000
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraire des données structurées à partir de pages grâce aux LLM",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "Les URL à partir desquelles extraire les données. Les URL doivent être au format glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt pour orienter le processus d’extraction"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma définissant la structure des données extraites. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Lorsque ce paramètre est défini sur true, l’extraction utilisera la recherche web pour trouver des données supplémentaires",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Lorsque cette option est activée, les fichiers sitemap.xml sont ignorés lors de l’analyse du site web",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Lorsque cette option est activée, les sous-domaines des URL fournies sont également analysés",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Lorsque la valeur est `true`, les sources utilisées pour extraire les données sont incluses dans la réponse sous la clé `sources`.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Si des URL invalides sont spécifiées dans le tableau urls, elles seront ignorées. Plutôt que de faire échouer l’intégralité de la requête, une extraction sera effectuée en utilisant les URL valides restantes, et les URL invalides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extraction réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Requête invalide",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche d’extraction",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer le statut d’une tâche d’extraction",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Récupérer tous les crawls actifs de l’équipe authentifiée",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "L’identifiant unique du crawl"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "L’identifiant de l’équipe propriétaire du crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de départ du crawl"
+ },
+ "options": {
+ "type": "object",
+ "description": "Options du crawler utilisées pour ce crawl",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obtenir le nombre de crédits restants de l'équipe authentifiée",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "Nombre de crédits restants de l’équipe",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "Nombre de crédits inclus dans le forfait. Les crédits issus de coupons, de packs de crédits ou de recharges automatiques ne sont pas inclus.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le forfait gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous êtes sur l’offre gratuite",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informations d’utilisation des crédits introuvables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des crédits de l’équipe authentifiée",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des crédits par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé d’API utilisée pour la période de facturation. null si byApiKey est défini sur false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Nombre total de crédits utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Récupérer le nombre de jetons restants pour l’équipe authentifiée (extraction uniquement)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "Nombre de jetons restants pour l’équipe",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "Nombre de jetons inclus dans le forfait. Les jetons issus de coupons ne sont pas comptés.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez l’offre gratuite",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Impossible de trouver les informations sur l’utilisation des jetons",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des jetons de l’équipe authentifiée (Extract uniquement)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des jetons par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé d’API utilisée pour la période de facturation. null si byApiKey est défini sur false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Nombre total de jetons utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "Statistiques sur la file d’attente de scraping de votre équipe",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches actuellement en file d’attente"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches en cours"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "Nombre de tâches actuellement en attente"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "Nombre maximal de tâches actives simultanées en fonction de votre offre"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Horodatage de la dernière tâche réussie",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Rechercher et éventuellement scraper les résultats de recherche",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "La requête de recherche"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de résultats à renvoyer",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge les plages temporelles prédéfinies (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) ainsi que les plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation pour les résultats de recherche"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Sources à interroger. Déterminera les tableaux disponibles dans la réponse. Valeur par défaut : ['web'].",
+ "default": [
+ "web"
+ ]
+ },
+ "categories": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "GitHub",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "github"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Research",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "research"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Catégories utilisées pour filtrer les résultats. Par défaut, la valeur est [], ce qui signifie qu’aucun filtre de catégorie ne sera appliqué aux résultats."
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge les plages temporelles prédéfinies (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) et les plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation pour les résultats de recherche (par ex. `San Francisco,California,United States`). Pour de meilleurs résultats, définissez ce paramètre ainsi que le paramètre `country`."
+ },
+ "country": {
+ "type": "string",
+ "description": "Code pays ISO pour le ciblage géographique des résultats de recherche (par exemple `US`). Pour de meilleurs résultats, définissez ce paramètre ainsi que le paramètre `location`.",
+ "default": "US"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d'expiration en millisecondes",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclut des résultats de recherche les URL qui ne sont pas valides pour d’autres endpoints Firecrawl. Cela permet de réduire les erreurs si vous transmettez les données issues de la recherche vers d’autres endpoints de l’API Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "Options pour extraire les résultats de recherche",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de recherche"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description du résultat de la recherche"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de la recherche"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu en Markdown si une opération de scraping a été demandée"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si demandé dans les formats de sortie"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut si ce format est demandé dans formats"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens trouvés lorsqu’ils sont demandés dans les formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de capture d’écran si elle est demandée dans les formats. Les captures d’écran expirent au bout de 24 heures et ne peuvent alors plus être téléchargées."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de recherche"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL de l’image"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "Largeur de l'image"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "Hauteur de l’image"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de la recherche"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Position du résultat de recherche"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre de l’article"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "Extrait de l’article"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL de l’article"
+ },
+ "date": {
+ "type": "string",
+ "description": "Date de l’article"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL de l’image de l’article"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Position de l’article"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu Markdown si un scraping a été demandé"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si inclus dans les formats demandés"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut si ce format est demandé"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens trouvés si demandés dans les formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de la capture d’écran si demandé dans les formats. Les captures d’écran expirent après 24 heures et ne sont alors plus téléchargeables."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "Les résultats de la recherche. Les tableaux disponibles dépendront des sources que vous avez spécifiées dans la requête. Par défaut, le tableau `web` sera renvoyé."
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Message d’avertissement si des problèmes surviennent"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Délai d'attente dépassé",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut effectuer une capture d’écran de la page entière ou la limiter à la zone visible actuelle.",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "La qualité de la capture d’écran, sur une échelle de 1 à 100. 100 correspond à la qualité maximale."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "Largeur du viewport en pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "La hauteur du viewport en pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "Le schéma à utiliser pour la sortie JSON. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "L’invite à utiliser pour la sortie au format JSON"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "Le mode de suivi des modifications à utiliser. « git-diff » fournit un diff détaillé, tandis que « json » compare les données JSON extraites."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma JSON pour l’extraction en mode « json ». Définit la structure des données à extraire et à comparer. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Invite (prompt) à utiliser pour le suivi des modifications en mode « json ». S’il n’est pas fourni, l’invite (prompt) par défaut sera utilisée."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag à utiliser pour le suivi des modifications. Les tags peuvent séparer l’historique du suivi des modifications en « branches » distinctes, où le suivi avec un tag spécifique ne sera comparé qu’aux extractions effectuées avec ce même tag. S’il n’est pas fourni, le tag par défaut (null) sera utilisé."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Branding",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "branding"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Formats de sortie à inclure dans la réponse. Vous pouvez spécifier un ou plusieurs formats, soit sous forme de chaînes (par ex. `'markdown'`), soit sous forme d’objets avec des options supplémentaires (par ex. `{ type: 'json', schema: {...} }`). Certains formats requièrent la définition d’options spécifiques. Exemple : `['markdown', { type: 'json', schema: {...} }]`.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Ne renvoyez que le contenu principal de la page, en excluant les en-têtes, éléments de navigation, pieds de page, etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à inclure dans le résultat."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à exclure du résultat."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retourne une version mise en cache de la page si elle est plus récente que cette durée (en millisecondes). Si une version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau explorée (scrapée). Si vous n’avez pas besoin de données extrêmement récentes, activer cette option peut accélérer vos opérations de scraping de 500 %. Par défaut : 2 jours.",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à inclure dans la requête. Peuvent être utilisés pour envoyer des cookies, un user-agent, etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Indiquez un délai en millisecondes avant de récupérer le contenu, afin de laisser à la page suffisamment de temps pour se charger. Ce temps d’attente s’ajoute à la fonction d’attente intelligente de Firecrawl.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Définissez cette option sur true pour simuler le scraping depuis un appareil mobile. Utile pour tester des pages responsives et prendre des captures d’écran en mode mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorer la vérification du certificat TLS lors des requêtes.",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Durée avant expiration de la requête, en millisecondes."
+ },
+ "parsers": {
+ "type": "array",
+ "description": "Contrôle la façon dont les fichiers sont traités lors du scraping. Lorsque « pdf » est inclus (valeur par défaut), le contenu du PDF est extrait et converti au format Markdown, avec une facturation basée sur le nombre de pages (1 crédit par page). Lorsqu’un tableau vide est envoyé, le fichier PDF est renvoyé en encodage base64 avec un tarif fixe de 1 crédit pour l’ensemble du PDF.",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "maxPages": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 10000,
+ "description": "Nombre maximal de pages du PDF à analyser. Doit être un entier positif inférieur ou égal à 10 000."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions à effectuer sur la page avant de récupérer le contenu",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Attendre pendant un certain nombre de millisecondes"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Délai d’attente en millisecondes"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur de requête pour rechercher l’élément par",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Prenez une capture d’écran. Les liens se trouveront dans le tableau `actions.screenshots` de la réponse."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut prendre une capture d’écran de la page entière ou la limiter à la zone actuellement visible (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "Qualité de la capture d’écran, de 1 à 100, 100 étant la meilleure qualité."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "La largeur de la fenêtre d’affichage, en pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "Hauteur du viewport en pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Cliquez sur un élément"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur pour trouver l’élément par",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clique sur tous les éléments correspondant au sélecteur, et pas seulement sur le premier. Ne lève pas d’erreur si aucun élément ne correspond au sélecteur.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Écrivez du texte dans un champ de saisie, une zone de texte ou un élément contenteditable. Remarque : vous devez d’abord placer le focus sur l’élément à l’aide d’une action « click » avant d’écrire. Le texte sera saisi caractère par caractère pour simuler une saisie au clavier."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texte à saisir",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Appuyez sur une touche du clavier. Reportez-vous à https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html pour la liste des codes de touches.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Appuyez sur une touche de la page"
+ },
+ "key": {
+ "type": "string",
+ "description": "Touche sur laquelle appuyer",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Faites défiler la page ou un élément spécifique"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sens de défilement",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur CSS de l’élément à faire défiler",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrait le contenu de la page actuelle et renvoie l’URL et le HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Exécuter du code JavaScript sur la page"
+ },
+ "script": {
+ "type": "string",
+ "description": "Code JavaScript à exécuter",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Génère un PDF de la page en cours. Le PDF sera renvoyé dans le tableau `actions.pdfs` de la réponse."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "Le format de page du PDF obtenu",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Détermine s’il faut générer le PDF au format paysage",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Facteur d’échelle du PDF généré",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètres de localisation pour la requête. Lorsqu’ils sont définis, un proxy approprié sera utilisé si disponible et les paramètres de langue et de fuseau horaire correspondants seront simulés. La valeur par défaut est « US » si aucun n’est spécifié.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (p. ex. « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Utilise par défaut la langue de l’emplacement spécifié. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Supprime toutes les images encodées en base64 de la sortie, car elles peuvent être très volumineuses. Le texte alternatif de l’image est conservé dans la sortie, mais l’URL est remplacée par une valeur fictive.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Active le blocage des publicités et des fenêtres contextuelles de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Spécifie le type de proxy à utiliser.\n\n - **basic** : Proxies pour le scraping de sites sans solution anti-bot ou avec des solutions anti-bot basiques. Rapides et généralement efficaces.\n - **stealth** : Proxies furtifs pour le scraping de sites avec des solutions anti-bot avancées. Plus lents, mais plus fiables sur certains sites. Coût pouvant aller jusqu’à 5 crédits par requête.\n - **auto** : Firecrawl réessaiera automatiquement le scraping avec des proxies furtifs si le proxy basic échoue. Si la nouvelle tentative avec stealth réussit, 5 crédits seront facturés pour l’opération de scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Si ce paramètre est défini sur true, la page sera stockée dans l’index et le cache de Firecrawl. Le définir sur false est utile si votre activité de scraping peut soulever des problèmes de protection des données. L’utilisation de certains paramètres associés à un scraping sensible (par ex. actions, headers) forcera ce paramètre à false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "Résumé de la page si `summary` est inclus dans `formats`"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `html` figure dans `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `rawHtml` fait partie des `formats`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `screenshot` est inclus dans `formats`. Les captures d’écran expirent au bout de 24 heures et ne peuvent ensuite plus être téléchargées."
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens sur la page si `links` fait partie de `formats`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats des actions spécifiées via le paramètre `actions`. Uniquement présent si ce paramètre a été fourni dans la requête",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs des captures d’écran, dans le même ordre que les actions de capture d’écran indiquées.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraire le contenu dans le même ordre que les actions de scraping fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valeurs renvoyées par JavaScript, dans le même ordre que les actions executeJavascript fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDF générés, dans le même ordre que les actions PDF fournies.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Langue extraite de la page, peut être une chaîne ou un tableau de chaînes de caractères"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots-clés extraits de la page, sous forme d’une chaîne ou d’un tableau de chaînes"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Autres paramètres régionaux pour la page"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Autres métadonnées extraites du HTML, sous forme de chaîne ou de tableau de chaînes"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code de statut de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Peut être affiché lorsque vous utilisez l’extraction LLM. Un message d’avertissement vous indiquera tout problème lors de l’extraction."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informations de suivi des modifications si `changeTracking` figure dans `formats`. Uniquement présent lorsque le format `changeTracking` est demandé.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "L’horodatage du précédent scrape auquel la page actuelle est comparée. Null s’il n’y a eu aucun scrape précédent."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "Le résultat de la comparaison entre les deux versions de la page. « new » signifie que cette page n’existait pas auparavant, « same » indique que le contenu n’a pas changé, « changed » indique que le contenu a été modifié, « removed » signifie que la page a été supprimée."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "La visibilité de la page/URL actuelle. « visible » signifie que l’URL a été découverte via une voie organique (liens ou sitemap), « hidden » signifie que l’URL a été découverte à partir de la mémoire de crawls précédents."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff des modifications au format Git lors de l’utilisation du mode « git-diff ». Uniquement présent lorsque le mode est activé sur « git-diff »."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats de comparaison JSON lors de l’utilisation du mode `json`. Uniquement disponible lorsque le mode est défini sur `json`. Produit une liste de toutes les clés et de leurs valeurs à partir des extractions `previous` et `current`, en fonction du type défini dans le `schema`. Exemple [ici](/features/change-tracking)"
+ }
+ }
+ },
+ "branding": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informations de branding extraites de la page si `branding` figure dans `formats`. Inclut les couleurs, les polices, la typographie, l’espacement, les composants, et plus encore."
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Statut actuel du crawl. Peut être `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages pour lesquelles un crawl a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Nombre de pages explorées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits utilisés pour le crawl."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du crawl."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo de données suivants. Renvoyée si l’exploration n’est pas terminée ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données du crawl.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `includeLinks` est défini à `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne ou un tableau de chaînes de caractères"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Langue extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots-clés extraits de la page ; peut être une chaîne ou un tableau de chaînes"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Autres locales pour la page"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d’état de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Tâches de scraping en échec et détails des erreurs",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Horodatage ISO de l’échec"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL explorée"
+ },
+ "error": {
+ "type": "string",
+ "description": "Message d’erreur"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Liste des URL qui ont été tentées lors du scraping mais bloquées par robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "État actuel du scraping par lot. Peut être `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages pour lesquelles un scraping a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages récupérées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Nombre de crédits utilisés pour le scraping en lot."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du lot de scraping."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo de données suivants. Renvoyée si le scraping par lots n’est pas terminé ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données de l'extraction par lots.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `includeLinks` est vrai"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Titre extrait de la page, peut être une chaîne ou un tableau de chaînes de caractères"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Description extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Langue extraite de la page, peut être une chaîne de caractères ou un tableau de chaînes de caractères"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Mots-clés extraits de la page, sous forme de chaîne ou de tableau de chaînes"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Paramètres régionaux alternatifs de la page"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d’état HTTP de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs vaut true, ce champ est un tableau contenant les URL non valides qui ont été spécifiées dans la requête. S’il n’y a aucune URL non valide, ce sera un tableau vide. Si ignoreInvalidURLs vaut false, ce champ sera undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "title": {
+ "type": "string",
+ "description": "Le titre de la page, le cas échéant."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description de la page, le cas échéant."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs vaut true, ce champ est un tableau contenant les URL non valides qui ont été spécifiées dans la requête. S’il n’y a aucune URL non valide, ce sera un tableau vide. Si ignoreInvalidURLs vaut false, ce champ sera undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "L’état actuel de la tâche d’extraction"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "Nombre de tokens utilisés pour la tâche d’extraction. Uniquement disponible lorsque la tâche est terminée."
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/fr/contributing/guide.mdx b/fr/contributing/guide.mdx
index 9ae1c694..66713c45 100644
--- a/fr/contributing/guide.mdx
+++ b/fr/contributing/guide.mdx
@@ -77,7 +77,6 @@ POSTHOG_HOST= # à définir si vous souhaitez envoyer des événements PostHog c
```
-
### Installation des dépendances
@@ -89,7 +88,6 @@ Commencez par installer les dépendances avec pnpm.
pnpm install # assurez-vous d’avoir pnpm en version 9 ou supérieure !
```
-
### Exécution du projet
@@ -106,7 +104,6 @@ Exécutez la commande n’importe où dans votre projet
redis-server
```
-
### Terminal 2 - configuration du service
@@ -120,7 +117,6 @@ pnpm start
Cela va démarrer les workers chargés de traiter les jobs de crawl.
-
### Terminal 3 - envoi de notre première requête.
@@ -143,7 +139,6 @@ curl -X POST http://localhost:3002/v1/crawl \
}'
```
-
### Alternative : utiliser Docker Compose
@@ -160,7 +155,6 @@ docker compose up
Cela lancera automatiquement Redis, le serveur d’API et les workers avec la configuration appropriée.
-
## Tests :
diff --git a/fr/contributing/self-host.mdx b/fr/contributing/self-host.mdx
index 368d8617..d4e61664 100644
--- a/fr/contributing/self-host.mdx
+++ b/fr/contributing/self-host.mdx
@@ -173,7 +173,6 @@ Cela démarre une instance locale de Firecrawl accessible à l’adresse `http:/
Vous devriez voir l’interface Bull Queue Manager à l’adresse `http://localhost:3002/admin/@/queues`.
-
5. *(Facultatif)* Tester l’API
Si vous souhaitez tester le point de terminaison de crawl, vous pouvez exécuter :
@@ -186,7 +185,6 @@ Si vous souhaitez tester le point de terminaison de crawl, vous pouvez exécuter
}'
```
-
## Dépannage
@@ -207,7 +205,6 @@ Cette section propose des solutions aux problèmes courants que vous pouvez renc
**Explication :**
Cette erreur se produit parce que la configuration du client Supabase n’est pas finalisée. Vous devriez pouvoir lancer des opérations de scraping et de crawling sans problème. À l’heure actuelle, il n’est pas possible de configurer Supabase sur des instances auto‑hébergées.
-
### Vous contournez l’authentification
@@ -221,7 +218,6 @@ Cette erreur se produit parce que la configuration du client Supabase n’est pa
**Explication :**
Cette erreur se produit parce que la configuration du client Supabase n’est pas terminée. Vous devriez pouvoir effectuer des opérations de scraping et de crawling sans problème. À l’heure actuelle, il n’est pas possible de configurer Supabase sur des instances auto-hébergées.
-
### Échec du démarrage des conteneurs Docker
@@ -239,7 +235,6 @@ docker logs [nom_du_conteneur]
* Assurez-vous que toutes les variables d’environnement requises sont correctement définies dans le fichier .env.
* Vérifiez que tous les services Docker définis dans docker-compose.yml sont correctement configurés et que les images nécessaires sont disponibles.
-
### Problèmes de connexion à Redis
diff --git a/fr/developer-guides/advanced-guides/authenticated-scraping.mdx b/fr/developer-guides/advanced-guides/authenticated-scraping.mdx
index e8afade1..3085905e 100644
--- a/fr/developer-guides/advanced-guides/authenticated-scraping.mdx
+++ b/fr/developer-guides/advanced-guides/authenticated-scraping.mdx
@@ -108,7 +108,6 @@ auth-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJleGFtcGxlLXVzZXIt
**Important :** Les cookies sont des informations d’authentification sensibles. Ne les partagez jamais publiquement et ne les enregistrez pas dans le système de contrôle de version. Traitez-les comme des mots de passe.
-
### Étape 2 : Utiliser les cookies avec Firecrawl
@@ -131,7 +130,6 @@ const result = await app.scrape("https://firecrawl-auth.vercel.app/dashboard", {
console.log("=== Markdown ===\n" + result.markdown + "\n\n=== Screenshot URL ===\n" + result.screenshot);
```
-
## Bonnes pratiques
diff --git a/fr/developer-guides/common-sites/amazon.mdx b/fr/developer-guides/common-sites/amazon.mdx
index 79e5eb62..67297fab 100644
--- a/fr/developer-guides/common-sites/amazon.mdx
+++ b/fr/developer-guides/common-sites/amazon.mdx
@@ -15,7 +15,6 @@ Amazon est l’un des sites de e-commerce les plus scrappés. Ce guide vous mont
npm install @mendable/firecrawl-js zod
```
-
## Vue d’ensemble
@@ -64,7 +63,6 @@ console.log('✅ Données produit validées :');
console.log(validated);
```
-
## Recherche
@@ -87,7 +85,6 @@ const searchResult = await firecrawl.search('ordinateur portable gaming site:ama
console.log(searchResult);
```
-
## Scrape
@@ -107,7 +104,6 @@ const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gam
console.log(result);
```
-
## Map
@@ -125,7 +121,6 @@ console.log(mapResult.links);
// Retourne un tableau d'URL sans contenu
```
-
## Exploration
@@ -147,7 +142,6 @@ const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical
console.log(crawlResult.data);
```
-
## Extraction par lots
diff --git a/fr/developer-guides/common-sites/etsy.mdx b/fr/developer-guides/common-sites/etsy.mdx
index abc3a1eb..51e2751b 100644
--- a/fr/developer-guides/common-sites/etsy.mdx
+++ b/fr/developer-guides/common-sites/etsy.mdx
@@ -15,7 +15,6 @@ Etsy est une place de marché mondiale pour des articles uniques et créatifs. C
npm install @mendable/firecrawl-js zod
```
-
## Vue d’ensemble
@@ -63,7 +62,6 @@ console.log('✅ Données de l'annonce validées :');
console.log(validated);
```
-
## Recherche
@@ -86,7 +84,6 @@ const searchResult = await firecrawl.search('handmade jewelry site:etsy.com', {
console.log(searchResult);
```
-
## Scrape
@@ -106,7 +103,6 @@ const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/h
console.log(result);
```
-
## Cartographie
@@ -124,7 +120,6 @@ console.log(mapResult.links);
// Retourne un tableau d'URL sans contenu
```
-
## Crawl
@@ -146,7 +141,6 @@ const crawlResult = await firecrawl.crawl('https://www.etsy.com/c/jewelry', {
console.log(crawlResult.data);
```
-
## Scraping par lots
diff --git a/fr/developer-guides/common-sites/github.mdx b/fr/developer-guides/common-sites/github.mdx
index 2f2363d6..e5ec0d79 100644
--- a/fr/developer-guides/common-sites/github.mdx
+++ b/fr/developer-guides/common-sites/github.mdx
@@ -13,7 +13,6 @@ Découvrez comment utiliser les fonctionnalités clés de Firecrawl pour scraper
npm install @mendable/firecrawl-js zod
```
-
## Extraction en mode JSON
@@ -43,7 +42,6 @@ const result = await firecrawl.scrape('https://github.com/firecrawl/firecrawl',
console.log(result.json);
```
-
## Recherche
@@ -66,7 +64,6 @@ const searchResult = await firecrawl.search('machine learning site:github.com',
console.log(searchResult);
```
-
## Scrape
@@ -85,7 +82,6 @@ const result = await firecrawl.scrape('https://github.com/mendableai/firecrawl',
console.log(result);
```
-
## Cartographie
@@ -103,7 +99,6 @@ console.log(mapResult.links);
// Retourne un tableau d'URL sans contenu
```
-
## Crawl
@@ -125,7 +120,6 @@ const crawlResult = await firecrawl.crawl('https://github.com/facebook/react/wik
console.log(crawlResult.data);
```
-
## Récupération par lot
@@ -157,7 +151,6 @@ console.log(job.status, job.completed, job.total);
console.log(job);
```
-
## Scraping par lots avec le mode JSON
diff --git a/fr/developer-guides/common-sites/wikipedia.mdx b/fr/developer-guides/common-sites/wikipedia.mdx
index 61b2be84..bf725333 100644
--- a/fr/developer-guides/common-sites/wikipedia.mdx
+++ b/fr/developer-guides/common-sites/wikipedia.mdx
@@ -13,7 +13,6 @@ Apprenez à scraper Wikipédia efficacement pour la recherche, l’extraction de
npm install @mendable/firecrawl-js zod
```
-
## Cas d’usage
@@ -52,7 +51,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/JavaScript'
console.log(result.json);
```
-
## Recherche
@@ -75,7 +73,6 @@ const searchResult = await firecrawl.search('quantum computing site:en.wikipedia
console.log(searchResult);
```
-
## Scrape
@@ -95,7 +92,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/Artificial_
console.log(result);
```
-
## Cartographie
@@ -113,7 +109,6 @@ console.log(mapResult.links);
// Retourne un tableau d'URL sans contenu
```
-
## Crawl
@@ -135,7 +130,6 @@ const crawlResult = await firecrawl.crawl('https://en.wikipedia.org/wiki/Portal:
console.log(crawlResult.data);
```
-
## Extraction par lots
diff --git a/fr/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx b/fr/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
index 418ace5f..e2398bf8 100644
--- a/fr/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
+++ b/fr/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
@@ -740,7 +740,6 @@ const result = streamText({
Le SDK d’IA prend en charge plus de 20 fournisseurs via la même API. En savoir plus : [ai-sdk.dev/docs/foundations/providers-and-models](https://ai-sdk.dev/docs/foundations/providers-and-models).
-
### Personnaliser l’interface
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/anthropic.mdx b/fr/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
index 93ccac67..dd03644f 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
@@ -22,7 +22,6 @@ ANTHROPIC_API_KEY=votre_clé_anthropic
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Extraction + Résumé
@@ -53,7 +52,6 @@ const message = await anthropic.messages.create({
console.log('Réponse :', message);
```
-
## Utilisation des outils
@@ -108,7 +106,6 @@ if (toolUse && toolUse.type === 'tool_use') {
}
```
-
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/gemini.mdx b/fr/developer-guides/llm-sdks-and-frameworks/gemini.mdx
index ec5fa350..603f1de1 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/gemini.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/gemini.mdx
@@ -22,7 +22,6 @@ GEMINI_API_KEY=votre_clé_gemini
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Extraction + Résumé
@@ -50,7 +49,6 @@ const response = await ai.models.generateContent({
console.log('Résumé :', response.text);
```
-
## Analyse du contenu
@@ -87,7 +85,6 @@ const result2 = await chat.sendMessage({
console.log('4ème et 5ème stories :', result2.text);
```
-
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/google-adk.mdx b/fr/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
index 895548e9..0b341f3c 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
@@ -174,7 +174,6 @@ response = research_agent.run("Quelles sont les dernières fonctionnalités de P
print(response)
```
-
## Bonnes pratiques
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/langchain.mdx b/fr/developer-guides/llm-sdks-and-frameworks/langchain.mdx
index 52ca8fcb..baeb9d15 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/langchain.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/langchain.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=votre_clé_openai
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Scrape + Chat
@@ -53,7 +52,6 @@ const response = await chat.invoke([
console.log('Résumé :', response.content);
```
-
## Chaînes
@@ -94,7 +92,6 @@ const result = await chain.invoke({
console.log('Résultat de la chaîne :', result);
```
-
## Appel d’outils
@@ -137,7 +134,6 @@ console.log('Réponse :', response.content);
console.log('Appels d'outils :', response.tool_calls);
```
-
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/langgraph.mdx b/fr/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
index a75d94c7..ef76ec32 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=votre_clé_openai
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Workflow de base
@@ -81,7 +80,6 @@ const result = await app.invoke({
console.log(JSON.stringify(result, null, 2));
```
-
## Flux de travail multi‑étapes
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx b/fr/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
index 405436ee..f848e560 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=votre_clé_openai
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## RAG avec recherche vectorielle
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/mastra.mdx b/fr/developer-guides/llm-sdks-and-frameworks/mastra.mdx
index 2c701b89..6c39c4d5 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/mastra.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/mastra.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=votre_clé_openai
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Flux de travail en plusieurs étapes
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/openai.mdx b/fr/developer-guides/llm-sdks-and-frameworks/openai.mdx
index b27f792e..8514712f 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/openai.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/openai.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=votre_clé_openai
> **Remarque :** Si vous utilisez Node < 20, installez `dotenv` et ajoutez `import 'dotenv/config'` à votre code.
-
## Scraper + Résumer
@@ -54,7 +53,6 @@ const completion = await openai.chat.completions.create({
console.log('Résumé :', completion.choices[0]?.message.content);
```
-
## Appels de fonctions
@@ -130,7 +128,6 @@ if (message?.tool_calls && message.tool_calls.length > 0) {
}
```
-
@@ -185,7 +182,6 @@ const companyInfo = content ? CompanyInfoSchema.parse(JSON.parse(content)) : nul
console.log('Informations de l'entreprise validées :', companyInfo);
```
-
## Recherche + Analyse
@@ -220,7 +216,6 @@ const analysis = await openai.chat.completions.create({
console.log('Analyse :', analysis.choices[0]?.message?.content);
```
-
## API Responses avec MCP
diff --git a/fr/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx b/fr/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
index a7175e94..809f1087 100644
--- a/fr/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
+++ b/fr/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
@@ -24,7 +24,6 @@ OPENAI_API_KEY=sk-your-key
Ces exemples utilisent OpenAI, mais les outils Firecrawl fonctionnent avec n'importe quel fournisseur du SDK Vercel AI, y compris Anthropic, Google, Mistral et d'autres. Consultez la liste complète des [fournisseurs pris en charge](https://ai-sdk.dev/providers/ai-sdk-providers).
-
## Guide de démarrage rapide
@@ -41,7 +40,6 @@ const { text } = await generateText({
});
```
-
## Outils disponibles
@@ -60,7 +58,6 @@ import {
} from 'firecrawl-aisdk';
```
-
## Exemples
@@ -83,7 +80,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Recherche
@@ -102,7 +98,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Cartographie
@@ -121,7 +116,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Crawl
@@ -142,7 +136,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Extraction par lots
@@ -163,7 +156,6 @@ const { text } = await generateText({
console.log(text);
```
-
@@ -184,7 +176,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Recherche + Extraction
@@ -203,7 +194,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Streaming
diff --git a/fr/developer-guides/mcp-setup-guides/chatgpt.mdx b/fr/developer-guides/mcp-setup-guides/chatgpt.mdx
new file mode 100644
index 00000000..ded5048b
--- /dev/null
+++ b/fr/developer-guides/mcp-setup-guides/chatgpt.mdx
@@ -0,0 +1,124 @@
+---
+title: "Recherche et scraping web MCP dans ChatGPT"
+description: "Ajoutez le scraping et la recherche web à ChatGPT en 2 minutes"
+---
+
+
+La prise en charge de MCP dans ChatGPT est actuellement une fonctionnalité bêta. L’interface et la disponibilité peuvent évoluer au fur et à mesure du développement par OpenAI.
+
+
+
+**Disponibilité :** Le mode développeur avec connecteurs MCP n’est pas disponible avec l’offre gratuite et nécessite un abonnement ChatGPT payant. La disponibilité et les fonctionnalités varient selon la formule et la région. Consultez [la documentation d’OpenAI sur le mode développeur](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta) pour connaître la disponibilité actuelle et les instructions de configuration.
+
+
+Ajoutez des fonctionnalités de scraping et de recherche web à ChatGPT avec Firecrawl MCP.
+
+
+ ## Configuration rapide
+
+
+
+ ### 1. Obtenir votre clé API
+
+
+Inscrivez-vous sur [firecrawl.dev/app/api-keys](https://www.firecrawl.dev/app/api-keys) et copiez votre clé API.
+
+
+ ### 2. Activer le mode développeur
+
+
+Ouvrez les paramètres de ChatGPT en cliquant sur votre nom d'utilisateur dans le coin inférieur gauche, ou accédez directement à [chatgpt.com/#settings](https://chatgpt.com/#settings).
+
+Dans la fenêtre des paramètres, faites défiler jusqu'en bas et sélectionnez **Advanced Settings**. Activez **Developer mode** en basculant l’interrupteur sur ON.
+
+
+
+
+
+
+ ### 3. Créer le connecteur
+
+
+Avec le mode Developer activé, allez dans l'onglet **Apps & Connectors** dans la même fenêtre de paramètres.
+
+Cliquez sur le bouton **Create** dans le coin supérieur droit.
+
+
+
+
+
+Renseignez les détails du connecteur :
+
+- **Name :** `Firecrawl MCP`
+- **Description :** `Web scraping, crawling, search, and content extraction` (facultatif)
+- **MCP Server URL :** `https://mcp.firecrawl.dev/YOUR_API_KEY_HERE/v2/mcp`
+- **Authentication :** `None`
+
+Remplacez `YOUR_API_KEY_HERE` dans l’URL par votre [clé API Firecrawl](https://www.firecrawl.dev/app/api-keys).
+
+
+
+
+
+Cochez la case **"I understand and want to continue"**, puis cliquez sur **Create**.
+
+
+ ### 4. Vérifier la configuration
+
+
+Retournez à l'interface principale de ChatGPT. Vous devriez voir le **Mode développeur** affiché, ce qui indique que les connecteurs MCP sont actifs.
+
+Si vous ne voyez pas le Mode développeur, actualisez la page. S'il n'apparaît toujours pas, rouvrez les paramètres et vérifiez que le Mode développeur est bien activé dans les paramètres avancés.
+
+
+ ### 5. Accéder aux outils Firecrawl
+
+
+Pour utiliser Firecrawl dans une conversation, cliquez sur le bouton **+** dans la zone de saisie du chat, puis sélectionnez **More**, puis **Firecrawl MCP**.
+
+
+
+
+
+
+ ## Démo rapide
+
+
+Avec Firecrawl MCP sélectionné, essayez les prompts suivants :
+
+**Recherche :**
+
+```
+Search for the latest React Server Components updates
+```
+
+**Scraping :**
+
+```
+Scrape firecrawl.dev and tell me what it does
+```
+
+**Obtenir la documentation :**
+
+```
+Extrais la documentation Vercel sur les edge functions et fais-en un résumé
+```
+
+
+
+ ## Confirmation de l’outil
+
+
+Lorsque ChatGPT utilise les outils MCP de Firecrawl, une invite de confirmation s’affiche pour demander votre approbation.
+
+
+
+
+
+Vous pouvez cocher **« Se souvenir pour cette conversation »** pour éviter les confirmations répétées au cours de la même session de chat. Cette mesure de sécurité est mise en place par OpenAI pour garantir que les outils MCP n’exécutent pas d’actions non intentionnelles.
+
+Une fois la demande confirmée, ChatGPT exécutera la requête et renverra les résultats.
+
+
+
+
\ No newline at end of file
diff --git a/fr/developer-guides/mcp-setup-guides/claude-code.mdx b/fr/developer-guides/mcp-setup-guides/claude-code.mdx
index 5a496bb2..2b81f0c8 100644
--- a/fr/developer-guides/mcp-setup-guides/claude-code.mdx
+++ b/fr/developer-guides/mcp-setup-guides/claude-code.mdx
@@ -27,7 +27,6 @@ Remplacez `your-api-key` par votre clé d’API Firecrawl.
C’est tout ! Vous pouvez maintenant effectuer des recherches et extraire des données du web depuis Claude Code.
-
## Démo rapide
diff --git a/fr/developer-guides/mcp-setup-guides/cursor.mdx b/fr/developer-guides/mcp-setup-guides/cursor.mdx
index d7bc7919..4fb920f7 100644
--- a/fr/developer-guides/mcp-setup-guides/cursor.mdx
+++ b/fr/developer-guides/mcp-setup-guides/cursor.mdx
@@ -37,7 +37,6 @@ Ouvrez les préférences (`Cmd+,`), recherchez « MCP », puis ajoutez :
Remplacez `your_api_key_here` par votre clé API Firecrawl.
-
### 3. Redémarrer Cursor
diff --git a/fr/developer-guides/mcp-setup-guides/factory-ai.mdx b/fr/developer-guides/mcp-setup-guides/factory-ai.mdx
index 0acda92f..53292432 100644
--- a/fr/developer-guides/mcp-setup-guides/factory-ai.mdx
+++ b/fr/developer-guides/mcp-setup-guides/factory-ai.mdx
@@ -33,7 +33,6 @@ curl -fsSL https://app.factory.ai/cli | sh
iwr https://app.factory.ai/cli/install.ps1 -useb | iex
```
-
### 3. Ajouter le serveur MCP Firecrawl
@@ -46,7 +45,6 @@ Dans l’interface en ligne de commande (CLI) de Factory Droid, ajoutez Firecraw
Remplacez `your-api-key-here` par votre clé API Firecrawl.
-
### 4. C’est fait !
diff --git a/fr/developer-guides/mcp-setup-guides/windsurf.mdx b/fr/developer-guides/mcp-setup-guides/windsurf.mdx
index d4db83f0..dbf4366b 100644
--- a/fr/developer-guides/mcp-setup-guides/windsurf.mdx
+++ b/fr/developer-guides/mcp-setup-guides/windsurf.mdx
@@ -37,7 +37,6 @@ Ajoutez ceci à votre `./codeium/windsurf/model_config.json` :
Remplacez `YOUR_API_KEY` par votre clé API Firecrawl.
-
### 3. Redémarrez Windsurf
diff --git a/fr/features/alpha/llmstxt-npx.mdx b/fr/features/alpha/llmstxt-npx.mdx
index 79bf74b7..81bf08db 100644
--- a/fr/features/alpha/llmstxt-npx.mdx
+++ b/fr/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Vous pouvez exécuter ce package avec npx sans l’installer. Il existe deux man
npx generate-llmstxt --api-key VOTRE_CLÉ_API_FIRECRAWL
```
-
### 2. Utilisation des variables d’environnement
@@ -47,7 +46,6 @@ Ensuite, exécutez la commande sans l’option --api-key :
npx generate-llmstxt
```
-
### Options
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## Prérequis
diff --git a/fr/features/change-tracking.mdx b/fr/features/change-tracking.mdx
index 9c3ab185..90ab13e8 100644
--- a/fr/features/change-tracking.mdx
+++ b/fr/features/change-tracking.mdx
@@ -82,7 +82,6 @@ Exemple de réponse :
}
```
-
### Options avancées
@@ -170,7 +169,6 @@ if 'json' in result.change_tracking:
...
```
-
### Exemple de résultats de comparaison JSON :
@@ -184,7 +182,6 @@ if 'json' in result.change_tracking:
}
```
-
### Modèles de données
@@ -278,7 +275,6 @@ La représentation JSON structurée du diff comprend :
* `chunks` : sections de modifications à l’intérieur d’un fichier
* `changes` : modifications de lignes individuelles avec type (add, delete, normal)
-
### Mode JSON
@@ -302,7 +298,6 @@ Exemple de sortie :
Pour utiliser le mode JSON, vous devez fournir un schéma qui définit les champs à extraire et à comparer.
-
## Faits importants
@@ -353,7 +348,6 @@ Voici quelques points essentiels à connaître lors de l’utilisation de la fon
}
```
-
### Exemple d'exploration
```json
@@ -366,7 +360,6 @@ Voici quelques points essentiels à connaître lors de l’utilisation de la fon
}
```
-
### Suivi des variations de prix des produits
diff --git a/fr/features/extract.mdx b/fr/features/extract.mdx
index a33f8fc4..7e6e30b6 100644
--- a/fr/features/extract.mdx
+++ b/fr/features/extract.mdx
@@ -32,7 +32,6 @@ Le point de terminaison `/extract` simplifie la collecte de données structurée
Nous avons simplifié la facturation afin qu’Extract utilise désormais des crédits, comme tous les autres points de terminaison. Chaque crédit équivaut à 15 tokens.
-
diff --git a/fr/features/search-v0.mdx b/fr/features/search-v0.mdx
index ffbcad3e..ff896e25 100644
--- a/fr/features/search-v0.mdx
+++ b/fr/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Avec le SDK Python
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### Rechercher une requête
@@ -94,7 +92,6 @@ result = app.search(query="Qu’est-ce que Firecrawl ?")
La réponse sera similaire à celle affichée dans la commande curl ci-dessus.
-
### Avec le SDK JavaScript
@@ -107,7 +104,6 @@ La réponse sera similaire à celle affichée dans la commande curl ci-dessus.
npm install @mendable/firecrawl-js
```
-
#### Rechercher une requête
@@ -124,7 +120,6 @@ const result = await app.search('Qu’est-ce que Firecrawl ?');
La réponse sera similaire à celle de la commande curl ci-dessus.
-
### Avec le SDK Go
@@ -137,7 +132,6 @@ La réponse sera similaire à celle de la commande curl ci-dessus.
go get github.com/mendableai/firecrawl-go
```
-
#### Rechercher une requête
@@ -165,7 +159,6 @@ func main() {
}
```
-
### Avec le SDK Rust
@@ -188,7 +181,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### Rechercher une requête
diff --git a/fr/integrations/camelai.mdx b/fr/integrations/camelai.mdx
index eca76ee3..e9cdd7d2 100644
--- a/fr/integrations/camelai.mdx
+++ b/fr/integrations/camelai.mdx
@@ -14,7 +14,6 @@ pip install camel-ai
```
-
## Utilisation
@@ -36,7 +35,6 @@ mock_app.crawl_url.return_value = respons
result = firecrawl.markdown_crawl(url)
```
-
### Utiliser Firecrawl pour récupérer une page unique
diff --git a/fr/integrations/crewai.mdx b/fr/integrations/crewai.mdx
index d9709cc2..beb6c0eb 100644
--- a/fr/integrations/crewai.mdx
+++ b/fr/integrations/crewai.mdx
@@ -22,7 +22,6 @@ Firecrawl est intégré à [CrewAI, le framework d’orchestration d’agents IA
pip install firecrawl-py 'crewai[tools]'
```
-
## Outils
@@ -43,7 +42,6 @@ from crewai_tools import FirecrawlCrawlWebsiteTool
tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```
-
#### Arguments
@@ -79,7 +77,6 @@ from crewai_tools import FirecrawlScrapeWebsiteTool
tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```
-
#### Arguments
@@ -111,7 +108,6 @@ from crewai_tools import FirecrawlSearchTool
tool = FirecrawlSearchTool(query='Qu’est-ce que Firecrawl ?')
```
-
#### Arguments
diff --git a/fr/mcp-server.mdx b/fr/mcp-server.mdx
index d24dbf24..9abdf854 100644
--- a/fr/mcp-server.mdx
+++ b/fr/mcp-server.mdx
@@ -32,7 +32,6 @@ Vous pouvez utiliser notre URL hébergée ou exécuter le serveur en local. Réc
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
```
-
### Exécuter avec npx
@@ -41,14 +40,12 @@ https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
env FIRECRAWL_API_KEY=fc-VOTRE_CLÉ_API npx -y firecrawl-mcp
```
-
### Installation manuelle
```bash
npm install -g firecrawl-mcp
```
-
### Exécution dans Cursor
@@ -126,7 +123,6 @@ Ajoutez ceci à votre `./codeium/windsurf/model_config.json` :
}
```
-
### Exécution en mode HTTP diffusé
@@ -139,7 +135,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-VOTRE_CLE_API npx -y firecr
Utilisez l’URL : http://localhost:3000/v2/mcp ou https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
-
### Installation via Smithery (ancien)
@@ -150,7 +145,6 @@ Pour installer automatiquement Firecrawl pour Claude Desktop via [Smithery](http
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
```
-
### Exécution dans VS Code
@@ -217,7 +211,6 @@ Voir référence : [directus/directus#25906 (commentaire)](https://github.com/di
Le serveur MCP fonctionne toujours correctement lorsqu’il est appelé via d’autres extensions, mais le problème survient spécifiquement lors de son enregistrement direct dans la liste des serveurs MCP. Nous publierons des consignes dès que VS Code aura mis à jour sa validation de schéma.
-
### Exécution sur Claude Desktop
@@ -237,7 +230,6 @@ Ajoutez ceci au fichier de configuration de Claude :
}
```
-
### Exécution avec Claude Code
@@ -248,7 +240,6 @@ Ajoutez le serveur MCP de Firecrawl à l’aide de la CLI de Claude Code :
claude mcp add firecrawl -e FIRECRAWL_API_KEY=your-api-key -- npx -y firecrawl-mcp
```
-
### Exécution sur n8n
@@ -280,7 +271,6 @@ env HTTP_STREAMABLE_SERVER=true \
Cela démarrera le serveur sur `http://localhost:3000/v2/mcp`, que vous pourrez utiliser comme point de terminaison dans votre workflow n8n. La variable d’environnement `HTTP_STREAMABLE_SERVER=true` est nécessaire, car n8n requiert le transport HTTP.
-
## Configuration
@@ -355,7 +345,6 @@ export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Démarrer avec des tentatives plus rapides
```
-
### Configuration personnalisée avec Claude Desktop
@@ -384,7 +373,6 @@ Ajoutez ceci à votre fichier `claude_desktop_config.json` :
}
```
-
### Configuration du système
@@ -425,7 +413,6 @@ Ces paramètres contrôlent :
* Avertissement à 1 000 crédits restants
* Alerte critique à 100 crédits restants
-
### Limitation de débit et traitement par lots
@@ -464,7 +451,6 @@ Extraire le contenu d’une URL unique avec des options avancées.
}
```
-
### 2. Outil d’extraction par lots (`firecrawl_batch_scrape`)
@@ -498,7 +484,6 @@ La réponse inclut l’ID d’opération pour vérifier l’état :
}
```
-
### 3. Vérifier l’état du lot (`firecrawl_check_batch_status`)
@@ -514,7 +499,6 @@ Vérifiez l’état d’une opération par lots.
}
```
-
### 4. Outil de cartographie (`firecrawl_map`)
@@ -535,7 +519,6 @@ Cartographiez un site web pour découvrir toutes les URL indexées du site.
}
```
-
#### Options de l’outil Map :
@@ -572,7 +555,6 @@ Effectuez une recherche sur le web et, si besoin, extrayez le contenu des résul
}
```
-
### 6. Outil d’exploration (`firecrawl_crawl`)
@@ -592,7 +574,6 @@ Lancez une exploration asynchrone avec des options avancées.
}
```
-
### 7. Vérifier l’état du crawl (`firecrawl_check_crawl_status`)
@@ -610,7 +591,6 @@ Vérifiez l’état d’un job de crawl.
**Renvoie :** État et avancement de la tâche de crawl, y compris les résultats s’ils sont disponibles.
-
@@ -658,7 +638,6 @@ Exemple de réponse :
}
```
-
@@ -695,7 +674,6 @@ Exemples de messages de journal :
[ERROR] Limite de débit dépassée, nouvelle tentative dans 2 s…
```
-
## Gestion des erreurs
@@ -722,7 +700,6 @@ Exemple de réponse d’erreur :
}
```
-
## Développement
@@ -738,7 +715,6 @@ npm run build
npm test
```
-
### Contribuer
diff --git a/fr/v0/advanced-scraping-guide.mdx b/fr/v0/advanced-scraping-guide.mdx
index 9c4265d4..0dbe03d1 100644
--- a/fr/v0/advanced-scraping-guide.mdx
+++ b/fr/v0/advanced-scraping-guide.mdx
@@ -169,7 +169,6 @@ Dans cet exemple, le scraper va :
Voici la référence API correspondante : [Documentation du point de terminaison /scrape](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -260,7 +259,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}
```
-
## Ajuster le délai d’attente
@@ -282,7 +280,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}'
```
-
## Explorer plusieurs pages
@@ -304,7 +301,6 @@ Renvoie un jobId
{ "jobId": "1234-5678-9101" }
```
-
### Vérifier une tâche de crawl
@@ -317,7 +313,6 @@ curl -X GET https://api.firecrawl.dev/v0/crawl/status/1234-5678-9101 \
-H 'Authorization: Bearer VOTRE_CLÉ_API'
```
-
### Options du crawler
@@ -401,7 +396,6 @@ Dans cet exemple, le crawler va :
* Utiliser le mode d’exploration rapide.
* Parcourir au maximum 1000 pages.
-
## Options de page + Options du crawler
@@ -442,7 +436,6 @@ Dans cet exemple, le crawler va :
* Explorer jusqu’à une profondeur maximale de 2.
* Utiliser le mode d’exploration rapide.
-
diff --git a/fr/v0/api-reference/endpoint/crawl-cancel.mdx b/fr/v0/api-reference/endpoint/crawl-cancel.mdx
index 98adbc76..22a97d6d 100644
--- a/fr/v0/api-reference/endpoint/crawl-cancel.mdx
+++ b/fr/v0/api-reference/endpoint/crawl-cancel.mdx
@@ -1,4 +1,4 @@
---
title: "Annuler un job de crawl"
-openapi: 'v0-openapi DELETE /crawl/cancel/{jobId}'
+openapi: '/fr/api-reference/v1-openapi.json V0-OPENAPI DELETE /crawl/cancel/{jobId}'
---
\ No newline at end of file
diff --git a/fr/v0/api-reference/endpoint/crawl.mdx b/fr/v0/api-reference/endpoint/crawl.mdx
index ab862f9b..ab5a4102 100644
--- a/fr/v0/api-reference/endpoint/crawl.mdx
+++ b/fr/v0/api-reference/endpoint/crawl.mdx
@@ -1,4 +1,4 @@
---
title: "Exploration"
-openapi: 'v0-openapi POST /crawl'
+openapi: '/fr/api-reference/v1-openapi.json V0-OPENAPI POST /crawl'
---
\ No newline at end of file
diff --git a/fr/v0/api-reference/endpoint/scrape.mdx b/fr/v0/api-reference/endpoint/scrape.mdx
index 617f7ca0..ec1c2986 100644
--- a/fr/v0/api-reference/endpoint/scrape.mdx
+++ b/fr/v0/api-reference/endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: "Scrape"
-openapi: 'v0-openapi POST /scrape'
+openapi: '/fr/api-reference/v1-openapi.json V0-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/fr/v0/api-reference/endpoint/search.mdx b/fr/v0/api-reference/endpoint/search.mdx
index b4a5d69b..ef89f08c 100644
--- a/fr/v0/api-reference/endpoint/search.mdx
+++ b/fr/v0/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Search (Bêta)"
-openapi: 'v0-openapi POST /search'
+openapi: '/fr/api-reference/v1-openapi.json V0-OPENAPI POST /search'
---
Le point de terminaison /search combine une API de recherche avec la puissance de Firecrawl pour offrir une expérience de recherche performante pour toute requête.
diff --git a/fr/v0/api-reference/endpoint/status.mdx b/fr/v0/api-reference/endpoint/status.mdx
index 56485f5e..87a8085c 100644
--- a/fr/v0/api-reference/endpoint/status.mdx
+++ b/fr/v0/api-reference/endpoint/status.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l’état d’un crawl"
-openapi: 'v0-openapi GET /crawl/status/{jobId}'
+openapi: '/fr/api-reference/v1-openapi.json V0-OPENAPI GET /crawl/status/{jobId}'
---
Ce point de terminaison renvoie l’état d’un job de crawl. Si le job n’est pas terminé, la réponse inclut du contenu dans `partial_data`. Une fois le job terminé, le contenu est disponible dans `data`.
diff --git a/fr/v0/api-reference/introduction.mdx b/fr/v0/api-reference/introduction.mdx
index 9d9d946a..840a1c7f 100644
--- a/fr/v0/api-reference/introduction.mdx
+++ b/fr/v0/api-reference/introduction.mdx
@@ -13,7 +13,6 @@ Toutes les requêtes contiennent l’URL de base suivante :
https://api.firecrawl.dev
```
-
## Authentification
@@ -26,7 +25,6 @@ Authorization: Bearer fc_123456789
-
## Codes de réponse
diff --git a/fr/v0/api-reference/v0-openapi.json b/fr/v0/api-reference/v0-openapi.json
new file mode 100644
index 00000000..d551ba99
--- /dev/null
+++ b/fr/v0/api-reference/v0-openapi.json
@@ -0,0 +1,947 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v0",
+ "description": "API pour interagir avec les services Firecrawl et effectuer des tâches de web scraping et de crawling.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v0"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Scraper une seule URL et, en option, en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à analyser"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à inclure dans la requête. Peuvent être utilisés pour envoyer des cookies, un user-agent, etc."
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Inclure la version HTML du contenu de la page. La réponse contiendra une clé html.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclure le contenu HTML brut de la page. Retourne une clé rawHtml dans la réponse.",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "N’incluez dans le résultat final que les balises, classes et ID présents sur la page. Utilisez des valeurs séparées par des virgules. Exemple : 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Renvoyez uniquement le contenu principal de la page, en excluant les en-têtes, barres de navigation, pieds de page, etc.",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises, classes et ID à supprimer de la page. Utilisez des valeurs séparées par des virgules. Exemple : « script, .ad, #footer »"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "Remplacez tous les chemins relatifs par des chemins absolus pour les images et les liens",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "Incluez une capture d’écran de la partie supérieure de la page que vous scrapez.",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "Incluez une capture d’écran de la page entière que vous scrapez.",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Attendre x millisecondes que la page se charge avant de récupérer le contenu",
+ "default": 0
+ }
+ }
+ },
+ "extractorOptions": {
+ "type": "object",
+ "description": "Options d’extraction d’informations structurées à partir du contenu de la page. Remarque : l’extraction basée sur un LLM n’est pas effectuée par défaut et n’est lancée que lorsqu’elle est explicitement configurée. Le mode « markdown » renvoie simplement le markdown récupéré et constitue le mode de scraping par défaut.",
+ "default": {},
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "llm-extraction",
+ "llm-extraction-from-raw-html",
+ "llm-extraction-from-markdown"
+ ],
+ "description": "Le mode d’extraction à utiliser. 'markdown' : renvoie le contenu Markdown extrait, sans effectuer d’extraction via LLM. 'llm-extraction' : extrait des informations à partir du contenu nettoyé et analysé à l’aide d’un LLM. 'llm-extraction-from-raw-html' : extrait des informations directement à partir du HTML brut à l’aide d’un LLM. 'llm-extraction-from-markdown' : extrait des informations à partir du contenu Markdown à l’aide d’un LLM."
+ },
+ "extractionPrompt": {
+ "type": "string",
+ "description": "Un prompt décrivant les informations à extraire de la page, applicable aux modes d’extraction LLM."
+ },
+ "extractionSchema": {
+ "type": "object",
+ "additionalProperties": true,
+ "description": "Schéma des données à extraire, nécessaire uniquement pour les modes d’extraction LLM.",
+ "required": [
+ "company_mission",
+ "supports_sso",
+ "is_open_source"
+ ]
+ }
+ }
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’attente de la requête, en millisecondes",
+ "default": 30000
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Explorer plusieurs URL selon les options",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle lancer le crawl"
+ },
+ "crawlerOptions": {
+ "type": "object",
+ "properties": {
+ "includes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Modèles d’URL à inclure"
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Modèles d’URL à exclure"
+ },
+ "generateImgAltText": {
+ "type": "boolean",
+ "description": "Générer du texte alternatif pour les images à l’aide de modèles de langage (LLM) (nécessite un abonnement payant)",
+ "default": false
+ },
+ "returnOnlyUrls": {
+ "type": "boolean",
+ "description": "Si la valeur est true, renvoie uniquement les URL sous forme de liste dans le statut de crawl. Attention : la réponse renvoyée sera une liste d’URL dans le champ data, et non une liste de documents.",
+ "default": false
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale d’exploration par rapport à l’URL fournie. Une valeur maxDepth de 0 n’extrait que l’URL fournie. Une valeur maxDepth de 1 extrait l’URL fournie et toutes les pages à un niveau de profondeur. Une valeur maxDepth de 2 extrait l’URL fournie et toutes les pages jusqu’à deux niveaux de profondeur. Les valeurs plus élevées suivent le même principe."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "default",
+ "fast"
+ ],
+ "description": "Le mode d’exploration à utiliser. Le mode rapide explore les sites web sans sitemap jusqu’à 4 fois plus vite, mais peut être moins précis et ne doit pas être utilisé sur des sites fortement dépendants du rendu JavaScript.",
+ "default": "default"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorer le sitemap du site lors du crawl",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer",
+ "default": 10000
+ },
+ "allowBackwardCrawling": {
+ "type": "boolean",
+ "description": "Permet au crawler de remonter d’une URL spécifique vers des pages précédemment liées. Par exemple, de « example.com/product/123 » à « example.com/product »",
+ "default": false
+ },
+ "allowExternalContentLinks": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens pointant vers des sites web externes.",
+ "default": false
+ }
+ }
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à inclure dans la requête. Ils peuvent être utilisés pour envoyer des cookies, un user-agent, etc."
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Inclut la version HTML du contenu de la page. La réponse contiendra une clé html.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclut le contenu HTML brut de la page. Produit une clé rawHtml dans la réponse.",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "N’incluez dans le résultat final que les balises, classes et IDs présents sur la page. Utilisez des valeurs séparées par des virgules. Exemple : 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Renvoyer uniquement le contenu principal de la page, en excluant les en-têtes, éléments de navigation, pieds de page, etc.",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises, classes et ID à supprimer de la page. Utilisez des valeurs séparées par des virgules. Exemple : 'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "Remplacez tous les chemins relatifs des images et des liens par des chemins absolus",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "Incluez une capture d’écran de la partie supérieure de la page que vous scrapez.",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "Incluez une capture d’écran de la page entière que vous scrapez.",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Attendre x millisecondes pour laisser la page se charger avant de récupérer le contenu",
+ "default": 0
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Recherche un mot-clé sur Google et renvoie les principaux résultats, avec pour chacun le contenu de la page au format Markdown",
+ "operationId": "searchGoogle",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "format": "uri",
+ "description": "La requête à rechercher"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Ne renvoyez que le contenu principal de la page, sans les en-têtes, éléments de navigation, pieds de page, etc.",
+ "default": false
+ },
+ "fetchPageContent": {
+ "type": "boolean",
+ "description": "Récupère le contenu de chaque page. S’il est à false, une API SERP simple et rapide est utilisée par défaut.",
+ "default": true
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Inclure la version HTML du contenu de la page. Une clé html sera présente dans la réponse.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclut le contenu HTML brut de la page. Produit une clé rawHtml dans la réponse.",
+ "default": false
+ }
+ }
+ },
+ "searchOptions": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de résultats. Limite fixée à 20 pendant la bêta."
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/status/{jobId}": {
+ "get": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "Obtenir l’état d’une tâche de crawl",
+ "operationId": "getCrawlStatus",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "Identifiant de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Statut du job (terminé, en cours, échoué, en pause)"
+ },
+ "current": {
+ "type": "integer",
+ "description": "Numéro de la page actuelle"
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "Données renvoyées par la tâche (null lorsqu’elle est en cours)"
+ },
+ "partial_data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "Documents partiels renvoyés au fur et à mesure du crawl (streaming). **Cette fonctionnalité est actuellement en alpha – attendez-vous à des changements majeurs**. Lorsqu’une page est prête, elle est ajoutée au tableau `partial_data`, il n’est donc pas nécessaire d’attendre que l’ensemble du site ait été exploré. Quand le crawl est terminé, `partial_data` est vidé et le résultat est disponible dans `data`. Il y a un maximum de 50 éléments dans le tableau de réponse. L’élément le plus ancien (en haut du tableau) est supprimé lorsqu’un nouvel élément est ajouté au tableau."
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/cancel/{jobId}": {
+ "delete": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "Annuler une tâche de crawl",
+ "operationId": "cancelCrawlJob",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Retours annulés."
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` a la valeur `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "Le code de statut HTTP de la page"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Affiché lors de l’utilisation de l’extraction LLM. Données extraites de la page conformément au schéma défini.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Peut s’afficher lors de l’utilisation de l’extraction LLM. Un message d’avertissement vous indiquera tout problème rencontré lors de l’extraction."
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut `true`"
+ },
+ "index": {
+ "type": "integer",
+ "description": "Le numéro de la page explorée. Utile avec `partial_data` pour savoir de quelle page proviennent les données."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "Le code d’état HTTP de la page"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d'erreur de la page"
+ }
+ }
+ }
+ }
+ },
+ "SearchResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/fr/v0/features/crawl.mdx b/fr/v0/features/crawl.mdx
index 5ffe9ed9..6af496da 100644
--- a/fr/v0/features/crawl.mdx
+++ b/fr/v0/features/crawl.mdx
@@ -173,7 +173,6 @@ Avec cURL, /crawl renverra toujours un jobId que vous pourrez utiliser pour vér
{ "jobId": "1234-5678-9101" }
```
-
### Vérifier un job de crawl
diff --git a/fr/v0/features/extract.mdx b/fr/v0/features/extract.mdx
index 52e7b7c1..8b551fdb 100644
--- a/fr/v0/features/extract.mdx
+++ b/fr/v0/features/extract.mdx
@@ -98,7 +98,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
```
-
### Utilisation du SDK Python
@@ -130,7 +129,6 @@ data = app.scrape_url('https://news.ycombinator.com', {
print(data["llm_extraction"])
```
-
### Avec le SDK JavaScript
@@ -166,7 +164,6 @@ const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", {
console.log(scrapeResult.data["llm_extraction"]);
```
-
### Avec le SDK Go
@@ -222,7 +219,6 @@ func main() {
}
```
-
### Avec le SDK Rust
diff --git a/fr/v1/advanced-scraping-guide.mdx b/fr/v1/advanced-scraping-guide.mdx
index 38136a62..e2caba39 100644
--- a/fr/v1/advanced-scraping-guide.mdx
+++ b/fr/v1/advanced-scraping-guide.mdx
@@ -193,7 +193,6 @@ Dans cet exemple, le scraper va :
Voici la documentation de l’API correspondante : [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -294,7 +293,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
}
```
-
## Actions
@@ -487,7 +485,6 @@ Renvoie un ID
{ "id": "1234-5678-9101" }
```
-
### Vérifier une tâche de crawl
@@ -500,7 +497,6 @@ curl -X GET https://api.firecrawl.dev/v1/crawl/1234-5678-9101 \
-H 'Authorization: Bearer VOTRE_CLÉ_API'
```
-
@@ -620,7 +616,6 @@ Dans cet exemple, le crawler va :
* Explorer jusqu’à une profondeur maximale de 2.
* Explorer au maximum 1000 pages.
-
## Cartographier les liens d’un site avec `/map`
@@ -644,7 +639,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
Cela renverra un objet JSON contenant des liens contextuellement liés à l’URL.
-
### Exemple de réponse
@@ -666,7 +660,6 @@ Cela renverra un objet JSON contenant des liens contextuellement liés à l’UR
}
```
-
### Options de mappage
diff --git a/fr/v1/api-reference/endpoint/batch-scrape-delete.mdx b/fr/v1/api-reference/endpoint/batch-scrape-delete.mdx
index b1a8d1d6..f2577707 100644
--- a/fr/v1/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/fr/v1/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler un scraping en lot"
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-delete) est disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/batch-scrape-get-errors.mdx b/fr/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
index ae023af4..fc56ad6e 100644
--- a/fr/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/fr/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir les erreurs de scraping en lot"
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> Remarque : Une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-get-errors) est désormais disponible, avec un meilleur rapport d’erreurs et des capacités de débogage améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/batch-scrape-get.mdx b/fr/v1/api-reference/endpoint/batch-scrape-get.mdx
index 0eb29f6c..d7d2694d 100644
--- a/fr/v1/api-reference/endpoint/batch-scrape-get.mdx
+++ b/fr/v1/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l'état d'un lot de scraping"
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> Remarque : Une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape-get) est désormais disponible, avec un meilleur suivi de l'état et des capacités de supervision.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/batch-scrape.mdx b/fr/v1/api-reference/endpoint/batch-scrape.mdx
index ddaf5501..909e7927 100644
--- a/fr/v1/api-reference/endpoint/batch-scrape.mdx
+++ b/fr/v1/api-reference/endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: "Collecte en lot"
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/batch-scrape) est désormais disponible, avec de meilleures performances et une fiabilité accrue pour le traitement en lot.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/crawl-active.mdx b/fr/v1/api-reference/endpoint/crawl-active.mdx
index 25240e93..e59f8745 100644
--- a/fr/v1/api-reference/endpoint/crawl-active.mdx
+++ b/fr/v1/api-reference/endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: "Crawls actifs"
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-active) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/crawl-delete.mdx b/fr/v1/api-reference/endpoint/crawl-delete.mdx
index bbd90b66..a52f50a9 100644
--- a/fr/v1/api-reference/endpoint/crawl-delete.mdx
+++ b/fr/v1/api-reference/endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler le crawl"
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/crawl-delete) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/crawl-get-errors.mdx b/fr/v1/api-reference/endpoint/crawl-get-errors.mdx
index f348ff4d..d3d1b1fb 100644
--- a/fr/v1/api-reference/endpoint/crawl-get-errors.mdx
+++ b/fr/v1/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Afficher les erreurs de crawl'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-get-errors) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/crawl-get.mdx b/fr/v1/api-reference/endpoint/crawl-get.mdx
index e4b50189..06ab728c 100644
--- a/fr/v1/api-reference/endpoint/crawl-get.mdx
+++ b/fr/v1/api-reference/endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l’état d’un crawl"
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/crawl-get) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/crawl-post.mdx b/fr/v1/api-reference/endpoint/crawl-post.mdx
index 6e015db3..2d729c6f 100644
--- a/fr/v1/api-reference/endpoint/crawl-post.mdx
+++ b/fr/v1/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/crawl-post) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/credit-usage-historical.mdx b/fr/v1/api-reference/endpoint/credit-usage-historical.mdx
index fd471f2b..56ff66d8 100644
--- a/fr/v1/api-reference/endpoint/credit-usage-historical.mdx
+++ b/fr/v1/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "Historique d’utilisation des crédits"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
Renvoie l’historique d’utilisation des crédits, mois par mois. Le point de terminaison peut également ventiler l’utilisation par clé d’API, de manière optionnelle.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/credit-usage.mdx b/fr/v1/api-reference/endpoint/credit-usage.mdx
index d7ba1064..05b035a2 100644
--- a/fr/v1/api-reference/endpoint/credit-usage.mdx
+++ b/fr/v1/api-reference/endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Utilisation des crédits'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> Remarque : une [nouvelle version v2 de cette API](/fr/api-reference/endpoint/credit-usage) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/deep-research-get.mdx b/fr/v1/api-reference/endpoint/deep-research-get.mdx
index e2ebcf61..0e8a3569 100644
--- a/fr/v1/api-reference/endpoint/deep-research-get.mdx
+++ b/fr/v1/api-reference/endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "Recherche approfondie"
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/deep-research.mdx b/fr/v1/api-reference/endpoint/deep-research.mdx
index 234661d3..19929a55 100644
--- a/fr/v1/api-reference/endpoint/deep-research.mdx
+++ b/fr/v1/api-reference/endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: "Deep Research"
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Le point de terminaison Deep Research permet d’effectuer des recherches et analyses approfondies, propulsées par l’IA, sur n’importe quel sujet. Il vous suffit de fournir une requête, et Firecrawl explorera le web de manière autonome, rassemblera les informations pertinentes et synthétisera les résultats en analyses complètes.
diff --git a/fr/v1/api-reference/endpoint/extract-get.mdx b/fr/v1/api-reference/endpoint/extract-get.mdx
index 5e346727..57ca6608 100644
--- a/fr/v1/api-reference/endpoint/extract-get.mdx
+++ b/fr/v1/api-reference/endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l’état de l’extraction"
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/extract-get) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/extract.mdx b/fr/v1/api-reference/endpoint/extract.mdx
index b0d2a396..5348971f 100644
--- a/fr/v1/api-reference/endpoint/extract.mdx
+++ b/fr/v1/api-reference/endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: "Extract"
-openapi: "v1-openapi POST /extract"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /extract"
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/extract) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/llmstxt-get.mdx b/fr/v1/api-reference/endpoint/llmstxt-get.mdx
index 4935078e..555f2883 100644
--- a/fr/v1/api-reference/endpoint/llmstxt-get.mdx
+++ b/fr/v1/api-reference/endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "Statut de LLMs.txt"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
Obtenez le statut et les résultats d’une génération de LLMs.txt. Ce point de terminaison vous permet de vérifier si la génération est terminée et de récupérer le contenu produit.
@@ -69,7 +69,6 @@ Si la tâche de génération échoue ou est introuvable, vous recevrez une répo
}
```
-
### Recommandations pour le polling
diff --git a/fr/v1/api-reference/endpoint/llmstxt.mdx b/fr/v1/api-reference/endpoint/llmstxt.mdx
index 68eb5068..7106fa71 100644
--- a/fr/v1/api-reference/endpoint/llmstxt.mdx
+++ b/fr/v1/api-reference/endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "Générer LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
Le point de terminaison de génération de LLMs.txt crée les fichiers LLMs.txt et LLMs-full.txt pour n’importe quel site web. Ces fichiers offrent un format structuré et compatible avec les LLM pour le contenu du site, afin de faciliter la compréhension et le traitement de l’information par les modèles de langage.
diff --git a/fr/v1/api-reference/endpoint/map.mdx b/fr/v1/api-reference/endpoint/map.mdx
index 94b0ff5e..0621d008 100644
--- a/fr/v1/api-reference/endpoint/map.mdx
+++ b/fr/v1/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map"
-openapi: "v1-openapi POST /map"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /map"
---
> Remarque : Une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/map) est désormais disponible, avec des fonctionnalités enrichies et de meilleures performances.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/scrape.mdx b/fr/v1/api-reference/endpoint/scrape.mdx
index 1ed6d4d4..0956d8d3 100644
--- a/fr/v1/api-reference/endpoint/scrape.mdx
+++ b/fr/v1/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> Remarque : Une [nouvelle version v2 de cette API](/fr/api-reference/endpoint/scrape) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/search.mdx b/fr/v1/api-reference/endpoint/search.mdx
index e8311765..2f12093a 100644
--- a/fr/v1/api-reference/endpoint/search.mdx
+++ b/fr/v1/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Search"
-openapi: "v1-openapi POST /search"
+openapi: "/fr/api-reference/v1-openapi.json V1-OPENAPI POST /search"
---
> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/search) est disponible, avec des fonctionnalités et des performances améliorées.
diff --git a/fr/v1/api-reference/endpoint/token-usage-historical.mdx b/fr/v1/api-reference/endpoint/token-usage-historical.mdx
index 15265e4f..01aebdfa 100644
--- a/fr/v1/api-reference/endpoint/token-usage-historical.mdx
+++ b/fr/v1/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "Historique d’utilisation des tokens"
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
Renvoie l’historique de l’utilisation des tokens, mois par mois. Le point de terminaison peut aussi ventiler l’utilisation par clé d’API, de façon optionnelle.
\ No newline at end of file
diff --git a/fr/v1/api-reference/endpoint/token-usage.mdx b/fr/v1/api-reference/endpoint/token-usage.mdx
index 8c5f4561..047c960f 100644
--- a/fr/v1/api-reference/endpoint/token-usage.mdx
+++ b/fr/v1/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Utilisation des jetons"
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> Remarque : une [version v2 de cette API](/fr/api-reference/endpoint/token-usage) est désormais disponible, avec des fonctionnalités et des performances améliorées.
\ No newline at end of file
diff --git a/fr/v1/api-reference/v1-openapi.json b/fr/v1/api-reference/v1-openapi.json
new file mode 100644
index 00000000..278148c4
--- /dev/null
+++ b/fr/v1/api-reference/v1-openapi.json
@@ -0,0 +1,3387 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "API pour interagir avec les services Firecrawl afin d’effectuer des tâches de web scraping et de crawling de sites web.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Scraper une seule URL et éventuellement en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à explorer"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée pour cette opération de scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Scraper plusieurs URL et, éventuellement, en extraire des informations à l'aide d'un LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à scraper"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Celui-ci sera déclenché au démarrage d’un batch scrape (batch_scrape.started), pour chaque page traitée (batch_scrape.page) et lorsque le batch scrape est terminé (batch_scrape.completed ou batch_scrape.failed). La réponse sera la même que celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans toutes les requêtes webhook de ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal de scrapes simultanés. Ce paramètre vous permet de définir une limite de parallélisme pour ce scraping par lot. S’il n’est pas défini, le scraping par lot respecte la limite de parallélisme de votre équipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si des URL non valides sont spécifiées dans le tableau urls, elles seront ignorées. Plutôt que de faire échouer l’ensemble de la requête, une opération de scraping par lots sera effectuée avec les URL valides restantes, et les URL non valides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée pour ce lot de scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping par lot",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer le statut d’un job de scraping par lots",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler une tâche de scraping par lots",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation effectuée",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de scraping par lots introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping par lots",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir les erreurs d'une tâche de scraping par lot",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Identifiant de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer l'état d'une tâche de crawl",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler un job de crawl",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation effectuée",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de crawl introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer les erreurs d’un job de crawl",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Explorer plusieurs URL selon les options spécifiées",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle lancer l’exploration"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Expressions régulières de chemins d’URL qui permettent d’exclure du crawl les URL correspondantes. Par exemple, si vous définissez \"excludePaths\": [\"blog/.*\"] pour l’URL de base firecrawl.dev, tous les résultats correspondant à ce motif seront exclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’expressions régulières appliqués aux chemins d’URL qui définissent les URL à inclure dans le crawl. Seuls les chemins correspondant aux motifs indiqués seront inclus dans la réponse. Par exemple, si vous définissez \"includePaths\": [\"blog/.*\"] pour l’URL de base firecrawl.dev, seuls les résultats correspondant à ce motif seront inclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profondeur absolue maximale à explorer à partir de l’URL de base fournie. Concrètement, cela correspond au nombre maximal de « / » que le chemin (pathname) d’une URL collectée peut contenir.",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale de crawl basée sur l’ordre de découverte. Le site racine et les pages du sitemap ont une profondeur de découverte de 0. Par exemple, si vous la définissez sur 1 et que vous activez ignoreSitemap, vous ne parcourrez que l’URL saisie et toutes les URL qui sont liées depuis cette page."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorer le sitemap du site lors de l’exploration",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne relancez pas le scraping du même chemin avec des paramètres de requête différents (ou sans paramètre de requête)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer. La limite par défaut est de 10 000.",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ OBSOLÈTE : utilisez plutôt « crawlEntireDomain ». Permet au crawler de suivre les liens internes vers des URL au même niveau ou parentes, et pas seulement vers des URL enfants.",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens internes vers des URL parentes ou de même niveau, pas seulement vers les chemins enfants.\n\nfalse : N’explore que les URL plus profondes (enfants).\n→ ex. /features/feature-1 → /features/feature-1/tips ✅\n→ Ne suivra pas /pricing ou / ❌\n\ntrue : Explore tous les liens internes, y compris ceux de même niveau et les parents.\n→ ex. /features/feature-1 → /pricing, /, etc. ✅\n\nUtilisez la valeur true pour une couverture interne plus large, au-delà des chemins imbriqués.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens vers des sites web externes.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens vers les sous-domaines du domaine principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Délai en secondes entre deux opérations de scraping. Ce paramètre aide à respecter les limites de fréquence imposées par les sites web."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal de scrapes simultanés. Ce paramètre vous permet de définir la limite de concurrence pour ce crawl. S’il n’est pas renseigné, le crawl utilise la limite de concurrence de votre équipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Celui-ci sera déclenché au lancement du crawl (crawl.started), pour chaque page explorée (crawl.page) et lorsque le crawl est terminé (crawl.completed ou crawl.failed). La réponse sera identique à celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans toutes les données de webhook pour ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée lors de ce crawl. Pour activer cette option, veuillez contacter help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapper plusieurs URL selon les options",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base pour démarrer le crawl"
+ },
+ "search": {
+ "type": "string",
+ "description": "Requête de recherche à utiliser pour la cartographie. Pendant la phase Alpha, la composante « intelligente » de la recherche est limitée à 500 résultats. En revanche, si la cartographie renvoie davantage de résultats, aucune limite n’est appliquée."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorer le sitemap du site lors de l’exploration.",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "Ne renvoyer que les liens présents dans le sitemap du site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Inclure les sous-domaines du site",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de liens à renvoyer",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration en millisecondes. Aucun délai d’expiration n’est défini par défaut."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraire des données structurées depuis des pages à l’aide de modèles de langage (LLM)",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "Les URL dont extraire les données. Les URL doivent être au format glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt permettant de guider le processus d'extraction"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma définissant la structure des données extraites. Doit être conforme au standard [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Si la valeur est true, l’extraction utilisera la recherche sur le web pour trouver des données supplémentaires",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Lorsque la valeur est true, les fichiers sitemap.xml seront ignorés lors de l’analyse du site web",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Lorsque ce paramètre est à true, les sous-domaines des URL fournies seront également explorés",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Lorsque cette option vaut true, les sources utilisées pour extraire les données seront incluses dans la réponse sous la clé `sources`",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si des URL non valides sont spécifiées dans le tableau urls, elles seront ignorées. Au lieu de faire échouer l’ensemble de la requête, une extraction sera effectuée en utilisant uniquement les URL valides restantes, et les URL non valides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extraction réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Requête invalide",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID du job d’extraction",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer l’état d’une tâche d’extraction",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Obtenir tous les crawls actifs de l’équipe authentifiée",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "L’identifiant unique de l’exploration"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "L’ID de l’équipe à laquelle appartient le crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de départ du crawl"
+ },
+ "options": {
+ "type": "object",
+ "description": "Options du crawler utilisées pour cette exploration",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "Lancer une recherche approfondie sur une requête",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "La requête à étudier"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "Profondeur maximale des itérations de recherche"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "Limite de temps (en secondes)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "Nombre maximal d’URL à analyser"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour l’analyse finale. Utile pour mettre en forme le markdown de l’analyse finale selon un format spécifique."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "L’invite système à utiliser pour l’agent de recherche. Permet d’orienter l’agent de recherche dans une direction précise."
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Options de sortie au format JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "Le schéma à utiliser pour la sortie au format JSON. Doit être conforme à la [spécification JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "L’invite système à utiliser pour la sortie JSON"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour la sortie au format JSON"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Tâche de recherche lancée avec succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID de la tâche de recherche"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Paramètres de requête non valides",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche de recherche",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérez l’état et les résultats d’une opération de recherche approfondie",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "Affiché lorsque le format JSON est utilisé",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de recherche introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Récupérer le solde de crédits de l’équipe authentifiée",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "Nombre de crédits restants pour l'équipe",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "Nombre de crédits inclus dans l’offre. Cela n’inclut pas les crédits issus de coupons, les packs de crédits ni les crédits provenant des recharges automatiques.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le forfait gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez le forfait gratuit",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informations relatives à l'utilisation des crédits introuvables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des crédits de l’équipe authentifiée",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des crédits par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé API utilisée pendant la période de facturation. null si byApiKey vaut false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Nombre total de crédits utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Récupérer le nombre de jetons restants pour l’équipe authentifiée (extraction uniquement)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "Nombre de jetons restants pour l’équipe",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "Nombre de jetons inclus dans l’offre. Les jetons issus de coupons ne sont pas comptabilisés.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Impossible de trouver les informations sur l’utilisation des jetons",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des tokens de l’équipe authentifiée (extraction uniquement)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obtenir l’historique d’utilisation des jetons par clé d’API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé API utilisée pour la période de facturation. null si byApiKey vaut false (par défaut)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Nombre total de tokens utilisés au cours de la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Rechercher et, éventuellement, extraire les résultats de recherche",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "La requête de recherche"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de résultats à retourner",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge des intervalles prédéfinis (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) et des plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation pour les résultats de recherche"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’attente en millisecondes",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclut des résultats de la recherche les URL qui ne sont pas valides pour d’autres endpoints Firecrawl. Cela permet de réduire les erreurs si vous réutilisez les données issues de la recherche dans d’autres endpoints de l’API Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "Options pour le scraping des résultats de recherche",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de la recherche"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description du résultat de la recherche"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de recherche"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu en Markdown si le scraping a été demandé"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si demandé parmi les formats"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut si demandé parmi les formats"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens trouvés, si demandés, dans les formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de la capture d’écran si elle est demandée parmi les formats"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Message d'avertissement en cas de problèmes"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Délai d’attente dépassé",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "Générer un fichier LLMs.txt pour un site Web",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL utilisée pour générer LLMs.txt"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "Nombre maximal d’URL à analyser",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "Inclure l’intégralité du texte dans la réponse",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "La tâche de génération du fichier LLMs.txt a été lancée avec succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID de la tâche de génération de LLMs.txt"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Paramètres de requête invalides",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de génération du fichier LLMs.txt",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir l’état et les résultats d’une tâche de génération de LLMs.txt",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "Le contenu généré du fichier LLMs.txt"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "Le contenu textuel complet lorsque showFullText vaut true"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date d’expiration du contenu généré"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de génération de LLMs.txt introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Ne renvoyer que le contenu principal de la page, en excluant les en-têtes, éléments de navigation, pieds de page, etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à inclure dans le résultat."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à exclure du résultat."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retourne une version mise en cache de la page si elle est plus récente que cet âge, en millisecondes. Si une version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau explorée. Si vous n’avez pas besoin de données extrêmement fraîches, activer cette option peut accélérer vos opérations de scraping jusqu’à 500 %. La valeur par défaut est 0, ce qui désactive la mise en cache.",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes HTTP à envoyer avec la requête. Ils peuvent servir à transmettre des cookies, un user-agent, etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Indiquez un délai en millisecondes avant de récupérer le contenu, pour laisser à la page le temps de se charger.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Mettez cette option à true si vous souhaitez émuler le scraping depuis un appareil mobile. Utile pour tester des pages responsives et prendre des captures d’écran sur mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorer la vérification du certificat TLS lors des requêtes",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration de la requête (en millisecondes)",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "Contrôle la façon dont les fichiers PDF sont traités lors du scraping. Lorsque true, le contenu du PDF est extrait et converti au format Markdown, avec une facturation basée sur le nombre de pages (1 crédit par page). Lorsque false, le fichier PDF est renvoyé encodé en base64 avec un tarif forfaitaire de 1 crédit au total.",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "objet d’options au format JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "Le schéma à utiliser pour l’extraction (optionnel). Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Le prompt système à utiliser pour l’extraction (facultatif)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour l’extraction sans schéma (optionnel)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions à effectuer sur la page avant d’extraire le contenu",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Attendre un nombre spécifié de millisecondes"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Délai d’attente en millisecondes"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur permettant de trouver l’élément par",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Prenez une capture d’écran. Les liens figureront dans le tableau `actions.screenshots` de la réponse."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut effectuer une capture d’écran de la page entière ou se limiter à la zone d’affichage actuelle.",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "La qualité de la capture d’écran, de 1 à 100. 100 indique la qualité maximale."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Cliquez sur un élément"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur de requête pour rechercher l’élément par",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clique sur tous les éléments correspondant au sélecteur, et pas seulement sur le premier. Ne génère pas d’erreur si aucun élément ne correspond.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Saisir du texte dans un champ de saisie, une zone de texte ou un élément « contenteditable ». Remarque : vous devez d’abord donner le focus à l’élément à l’aide d’une action de type « click » avant d’écrire. Le texte sera saisi caractère par caractère pour simuler une saisie au clavier."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texte à saisir",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Appuyez sur une touche du clavier. Voir https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html pour la liste des codes de touches.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Appuyez sur une touche de cette page"
+ },
+ "key": {
+ "type": "string",
+ "description": "Touche à presser",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Faites défiler la page ou un élément spécifique"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sens de défilement",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur CSS pour l’élément à faire défiler",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrait le contenu de la page en cours et renvoie l’URL et le HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Exécuter du code JavaScript sur la page"
+ },
+ "script": {
+ "type": "string",
+ "description": "Code JavaScript à exécuter",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Générer un PDF de la page actuelle. Le PDF sera renvoyé dans le tableau `actions.pdfs` de la réponse."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "Le format de page du PDF obtenu",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Indique si le PDF doit être généré en mode paysage",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Le facteur d’échelle du PDF généré",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètres de localisation de la requête. Lorsqu’ils sont spécifiés, un proxy approprié sera utilisé si disponible et les paramètres de langue et de fuseau horaire correspondants seront reproduits. Si rien n’est précisé, la valeur par défaut est « US ».",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (par ex. « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés de la requête, par ordre de priorité. Par défaut, utilise la langue du lieu spécifié. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Supprime toutes les images en base64 de la sortie, car elles peuvent être extrêmement volumineuses. Le texte alternatif de l’image est conservé dans la sortie, mais l’URL est remplacée par un placeholder.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Active le blocage des publicités et des pop-ups de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Spécifie le type de proxy à utiliser.\n\n - **basic** : Proxies pour le scraping de sites sans ou avec des solutions anti-bot basiques. Rapides et fonctionnent généralement bien.\n - **stealth** : Proxies furtifs pour le scraping de sites avec des solutions anti-bot avancées. Plus lents, mais plus fiables sur certains sites. Coût pouvant aller jusqu’à 5 crédits par requête.\n - **auto** : Firecrawl réessaiera automatiquement le scraping avec des proxies furtifs si le proxy basic échoue. Si la nouvelle tentative avec stealth réussit, 5 crédits seront facturés pour le scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.\n\nSi vous ne spécifiez pas de proxy, Firecrawl utilisera basic par défaut."
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Si la valeur est true, la page sera stockée dans l’index et le cache Firecrawl. Définir ce paramètre sur false est utile si votre activité de scraping peut soulever des préoccupations en matière de protection des données. L’utilisation de certains paramètres associés à un scraping sensible (actions, headers) imposera la valeur false à ce paramètre.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "Formats à inclure dans la sortie.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "Options de suivi des modifications (bêta). Applicable uniquement lorsque 'changeTracking' est inclus dans les formats. Le format 'markdown' doit également être spécifié lors de l’utilisation du suivi des modifications.",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "Le mode à utiliser pour le suivi des modifications. « git-diff » fournit un diff détaillé et « json » compare les données JSON extraites."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma d’extraction JSON utilisé en mode « json ». Définit la structure des données à extraire et à comparer. Doit respecter la spécification [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Invite (prompt) à utiliser pour le suivi des modifications en mode « json ». S’il n’est pas fourni, l’invite par défaut sera utilisée."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag à utiliser pour le suivi des modifications. Les tags peuvent séparer l’historique de suivi des modifications en « branches » distinctes : le suivi associé à un tag donné ne sera comparé qu’aux opérations de scraping effectuées avec ce même tag. Si aucun tag n’est fourni, le tag par défaut (null) sera utilisé."
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `html` figure dans `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `rawHtml` figure dans `formats`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `screenshot` est inclus dans `formats`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `links` figure dans `formats`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats des actions spécifiées dans le paramètre `actions`. Uniquement présent si le paramètre `actions` a été fourni dans la requête.",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs de captures d’écran, dans le même ordre que les actions de capture d’écran fournies.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraire le contenu dans le même ordre que les actions de scrape indiquées.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Les valeurs de retour JavaScript, dans le même ordre que les actions executeJavascript fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDF générés, dans le même ordre que les actions PDF fournies.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d'état de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d'erreur de la page"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Affiché lors de l’utilisation de l’extraction LLM. Données extraites de la page selon le schéma défini.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Peut être affiché lors de l’utilisation de LLM Extraction. Un message d’avertissement vous signalera tout problème lié à l’extraction."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informations de suivi des modifications si `changeTracking` figure dans `formats`. Présentes uniquement lorsque le format `changeTracking` est demandé.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "Horodatage du précédent scraping auquel la page actuelle est comparée. Null s’il n’existe aucun scraping précédent."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "Le résultat de la comparaison entre les deux versions de la page. « new » signifie que cette page n’existait pas auparavant, « same » signifie que le contenu n’a pas changé, « changed » signifie que le contenu a changé et « removed » signifie que la page a été supprimée."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "La visibilité de la page ou de l’URL en cours. « visible » signifie que l’URL a été découverte de manière organique (via des liens ou un sitemap), « hidden » signifie que l’URL a été découverte via la mémoire de crawls précédents."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff de type Git des modifications lors de l’utilisation du mode « git-diff ». Uniquement présent lorsque le mode est défini sur « git-diff »."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats de comparaison JSON lors de l’utilisation du mode `json`. Uniquement disponible lorsque le mode est défini sur `json`. Retourne une liste de toutes les clés et de leurs valeurs issues des extractions `previous` et `current`, en fonction du type défini dans le `schema`. Exemple [ici](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Statut actuel du crawl. Peut être `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages pour lesquelles un crawl a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages explorées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Nombre de crédits consommés par le crawl."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du crawl."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo suivants de données. Fournie si le crawl n’est pas terminé ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données du crawl.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` est défini sur `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut `true`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens de la page si `includeLinks` vaut `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` est défini sur `true`"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code de statut de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Jobs de scraping en échec et détails des erreurs",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Horodatage ISO de l’échec"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL collectée"
+ },
+ "error": {
+ "type": "string",
+ "description": "Message d’erreur"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Liste des URL dont le scraping a été tenté mais bloqué par robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "État actuel du scraping par lot. Peut être `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages pour lesquelles un scraping a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages extraites avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits consommés pour le scraping par lots."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du lot de scraping."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo suivants de données. Renvoyée si le scraping par lots n’est pas terminé ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données de l'extraction par lot.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` est à `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` vaut true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens de la page si `includeLinks` vaut `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d'état de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs est à true, il s’agit d’un tableau contenant les URL invalides spécifiées dans la requête. S’il n’y a aucune URL invalide, ce sera un tableau vide. Si ignoreInvalidURLs est à false, ce champ sera undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs vaut true, il s’agit d’un tableau contenant les URL invalides qui ont été spécifiées dans la requête. S’il n’y a aucune URL invalide, ce sera un tableau vide. Si ignoreInvalidURLs vaut false, ce champ sera undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "Le statut actuel de la tâche d’extraction"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/fr/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx b/fr/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
index 7de58aa6..d10dcbed 100644
--- a/fr/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
+++ b/fr/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler un scraping par lot"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
diff --git a/fr/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx b/fr/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
index 6a6bef19..84e21312 100644
--- a/fr/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
+++ b/fr/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: "Récupérer les erreurs d'extraction par lot"
-openapi: "v2-openapi GET /batch/scrape/{id}/errors"
+openapi: "/fr/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors"
---
diff --git a/fr/v1/api-reference/v2-endpoint/batch-scrape-get.mdx b/fr/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
index 4d6b4bd9..1609246f 100644
--- a/fr/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
+++ b/fr/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obtenir l’état d’une extraction par lot'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
diff --git a/fr/v1/api-reference/v2-endpoint/batch-scrape.mdx b/fr/v1/api-reference/v2-endpoint/batch-scrape.mdx
index 0b2764c3..36532479 100644
--- a/fr/v1/api-reference/v2-endpoint/batch-scrape.mdx
+++ b/fr/v1/api-reference/v2-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: "Extraction par lots"
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
diff --git a/fr/v1/api-reference/v2-endpoint/crawl-active.mdx b/fr/v1/api-reference/v2-endpoint/crawl-active.mdx
index 6b812276..e81f0c5f 100644
--- a/fr/v1/api-reference/v2-endpoint/crawl-active.mdx
+++ b/fr/v1/api-reference/v2-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: "Récupérer les crawls actifs"
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
diff --git a/fr/v1/api-reference/v2-endpoint/crawl-delete.mdx b/fr/v1/api-reference/v2-endpoint/crawl-delete.mdx
index aab63b94..2ff82532 100644
--- a/fr/v1/api-reference/v2-endpoint/crawl-delete.mdx
+++ b/fr/v1/api-reference/v2-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Annuler un crawl"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
diff --git a/fr/v1/api-reference/v2-endpoint/crawl-get-errors.mdx b/fr/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
index d3d09787..22cefac5 100644
--- a/fr/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
+++ b/fr/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Récupérer les erreurs de crawl'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
diff --git a/fr/v1/api-reference/v2-endpoint/crawl-get.mdx b/fr/v1/api-reference/v2-endpoint/crawl-get.mdx
index a4a9549b..6b41bfc9 100644
--- a/fr/v1/api-reference/v2-endpoint/crawl-get.mdx
+++ b/fr/v1/api-reference/v2-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l’état du crawl"
-openapi: "v2-openapi GET /crawl/{id}"
+openapi: "/fr/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}"
---
diff --git a/fr/v1/api-reference/v2-endpoint/crawl-post.mdx b/fr/v1/api-reference/v2-endpoint/crawl-post.mdx
index 738c6cf6..48673992 100644
--- a/fr/v1/api-reference/v2-endpoint/crawl-post.mdx
+++ b/fr/v1/api-reference/v2-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl"
-openapi: 'v2-openapi POST /crawl'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -20,7 +20,6 @@ Décrivez en anglais simple ce qu’il doit explorer :
}
```
-
### Meilleur contrôle du sitemap
diff --git a/fr/v1/api-reference/v2-endpoint/credit-usage-historical.mdx b/fr/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
index 1ae27ae0..935ddd90 100644
--- a/fr/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
+++ b/fr/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "Historique d’utilisation des crédits"
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
Renvoie l’historique d’utilisation des crédits, mois par mois. Le point de terminaison peut aussi, en option, ventiler l’utilisation par clé d’API.
\ No newline at end of file
diff --git a/fr/v1/api-reference/v2-endpoint/credit-usage.mdx b/fr/v1/api-reference/v2-endpoint/credit-usage.mdx
index b38c670c..631154e8 100644
--- a/fr/v1/api-reference/v2-endpoint/credit-usage.mdx
+++ b/fr/v1/api-reference/v2-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Consommation de crédits"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
diff --git a/fr/v1/api-reference/v2-endpoint/extract-get.mdx b/fr/v1/api-reference/v2-endpoint/extract-get.mdx
index 000e7eef..7e74d8ce 100644
--- a/fr/v1/api-reference/v2-endpoint/extract-get.mdx
+++ b/fr/v1/api-reference/v2-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: "Obtenir l'état de l'extraction"
-openapi: "v2-openapi GET /extract/{id}"
+openapi: "/fr/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}"
---
diff --git a/fr/v1/api-reference/v2-endpoint/extract.mdx b/fr/v1/api-reference/v2-endpoint/extract.mdx
index 639460f7..26d6698b 100644
--- a/fr/v1/api-reference/v2-endpoint/extract.mdx
+++ b/fr/v1/api-reference/v2-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: "Extract"
-openapi: 'v2-openapi POST /extract'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
diff --git a/fr/v1/api-reference/v2-endpoint/map.mdx b/fr/v1/api-reference/v2-endpoint/map.mdx
index e3f1cfcf..ac12b8ba 100644
--- a/fr/v1/api-reference/v2-endpoint/map.mdx
+++ b/fr/v1/api-reference/v2-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map"
-openapi: 'v2-openapi POST /map'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /map'
---
@@ -24,7 +24,6 @@ Trois façons de gérer les sitemaps :
}
```
-
### Découverte d’URL plus intelligente
diff --git a/fr/v1/api-reference/v2-endpoint/scrape.mdx b/fr/v1/api-reference/v2-endpoint/scrape.mdx
index a3de3c37..e1a091cc 100644
--- a/fr/v1/api-reference/v2-endpoint/scrape.mdx
+++ b/fr/v1/api-reference/v2-endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: "Scrape"
-openapi: 'v2-openapi POST /scrape'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/fr/v1/api-reference/v2-endpoint/search.mdx b/fr/v1/api-reference/v2-endpoint/search.mdx
index 56d0d998..38718bac 100644
--- a/fr/v1/api-reference/v2-endpoint/search.mdx
+++ b/fr/v1/api-reference/v2-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Recherche'
-openapi: 'v2-openapi POST /search'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -24,7 +24,6 @@ Recherchez simultanément le web, les images et l’actualité :
}
```
-
### Format de réponse modifié
@@ -42,7 +41,6 @@ v1 : liste à plat des résultats. v2 : organisé par type de source :
}
```
-
### Nouvelles fonctionnalités
diff --git a/fr/v1/api-reference/v2-endpoint/token-usage-historical.mdx b/fr/v1/api-reference/v2-endpoint/token-usage-historical.mdx
index 552b3007..ed4ddd5d 100644
--- a/fr/v1/api-reference/v2-endpoint/token-usage-historical.mdx
+++ b/fr/v1/api-reference/v2-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "Historique d’utilisation des jetons"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
Renvoie l’historique d’utilisation des jetons mois par mois. Le point de terminaison peut également ventiler l’utilisation par clé d’API.
\ No newline at end of file
diff --git a/fr/v1/api-reference/v2-endpoint/token-usage.mdx b/fr/v1/api-reference/v2-endpoint/token-usage.mdx
index a3444342..fd26949d 100644
--- a/fr/v1/api-reference/v2-endpoint/token-usage.mdx
+++ b/fr/v1/api-reference/v2-endpoint/token-usage.mdx
@@ -1,4 +1,4 @@
---
title: "Utilisation des tokens"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/fr/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
\ No newline at end of file
diff --git a/fr/v1/api-reference/v2-openapi.json b/fr/v1/api-reference/v2-openapi.json
new file mode 100644
index 00000000..16c3b395
--- /dev/null
+++ b/fr/v1/api-reference/v2-openapi.json
@@ -0,0 +1,3261 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "API pour interagir avec les services Firecrawl afin d’effectuer des tâches de scraping et de crawling web.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Scraper une seule URL et éventuellement en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à analyser"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si ce paramètre est défini sur true, cela désactivera toute conservation des données pour ce scraping. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Effectuer un scraping de plusieurs URL et, en option, en extraire des informations à l’aide d’un LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL à scraper"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet représentant une spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Ce dernier sera déclenché au démarrage du scraping par lot (batch_scrape.started), pour chaque page scrappée (batch_scrape.page) et lorsque le scraping par lot est terminé (batch_scrape.completed) ou échoue (batch_scrape.failed). La réponse sera identique à celle renvoyée par l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans tous les payloads de webhook de ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook (par défaut : tous).",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal de scrapes simultanés. Ce paramètre vous permet de définir une limite de parallélisme pour ce batch de scraping. S’il n’est pas spécifié, le batch de scraping respecte la limite de parallélisme définie pour votre équipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Si des URL non valides sont spécifiées dans le tableau urls, elles seront ignorées. Plutôt que de faire échouer l’ensemble de la requête, un scraping par lot sera lancé avec les URL valides restantes, et les URL non valides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si cette valeur est définie sur true, aucune donnée ne sera conservée pour ce scraping par lot. Pour activer cette option, veuillez contacter help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping en lot",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer le statut d’un job de scraping par lots",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler un job de scraping par lot",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de scraping par lots introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de scraping par lots",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer les erreurs d'une tâche de scraping par lots",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’identifiant de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenir le statut d'une tâche de crawl",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Annuler un job de crawl",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Annulation réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tâche de crawl introuvable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "L’ID de la tâche de crawl",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Récupérer les erreurs d’une tâche de crawl",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Explorer plusieurs URL selon les options",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle démarrer l’exploration"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Invite à utiliser pour générer les options du crawler (tous les paramètres ci-dessous) à partir d’une description en langage naturel. Les paramètres définis explicitement auront priorité sur les équivalents générés."
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Des expressions régulières de chemin d’URL qui excluent de l’exploration les URL correspondantes. Par exemple, si vous définissez `\"excludePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, tous les résultats correspondant à ce modèle seront exclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Motifs d’expressions régulières (regex) pour les chemins d’URL qui indiquent quelles URL inclure dans le crawl. Seuls les chemins correspondant aux motifs spécifiés seront inclus dans la réponse. Par exemple, si vous définissez `\"includePaths\": [\"blog/.*\"]` pour l’URL de base firecrawl.dev, seuls les résultats correspondant à ce motif seront inclus, comme https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profondeur maximale d’exploration en fonction de l’ordre de découverte. Le site racine et les pages provenant du sitemap ont une profondeur de découverte de 0. Par exemple, si vous définissez ce paramètre sur 1 et que vous activez ignoreSitemap, vous n’explorerez que l’URL saisie et toutes les URL liées depuis cette page."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Mode sitemap pour l’exploration. Si vous le définissez sur « skip », le crawler ignorera le sitemap du site web et n’explorera que l’URL fournie, puis découvrira les pages à partir de là.",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne relancez pas le scraping du même chemin avec des paramètres de requête différents (ou sans paramètres)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de pages à explorer. La limite par défaut est de 10 000.",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Autorise le crawler à suivre les liens internes vers des URL de même niveau ou parentes, et pas seulement vers les chemins enfants.\n\nfalse : N'explore que les URL plus profondes (enfants).\n→ ex. /features/feature-1 → /features/feature-1/tips ✅\n→ Ne suivra pas /pricing ou / ❌\n\ntrue : Explore tous les liens internes, y compris ceux de même niveau et les parents.\n→ ex. /features/feature-1 → /pricing, /, etc. ✅\n\nUtilisez true pour une couverture interne plus large, au-delà des chemins imbriqués.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permet au crawler de suivre les liens vers des sites web externes.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Autorise le crawler à suivre les liens pointant vers les sous-domaines du domaine principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Délai en secondes entre chaque opération de scraping. Cela permet de respecter les limites de fréquence des sites web."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Nombre maximal d’opérations de scraping simultanées. Ce paramètre vous permet de définir une limite de parallélisme pour ce crawl. S’il n’est pas renseigné, le crawl respecte la limite de parallélisme définie pour votre équipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Un objet de spécification de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "L’URL à laquelle envoyer le webhook. Celui-ci sera déclenché au démarrage du crawl (crawl.started), pour chaque page explorée (crawl.page) et lorsque le crawl est terminé (crawl.completed ou crawl.failed). La réponse sera identique à celle de l’endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer à l’URL du webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Métadonnées personnalisées qui seront incluses dans tous les payloads de webhook de ce crawl",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Type d’événements à envoyer à l’URL du webhook. (par défaut : tous)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Si la valeur est true, cela activera l’absence totale de conservation des données pour ce crawl. Pour activer cette fonctionnalité, veuillez contacter help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapper plusieurs URL selon les options",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de base à partir de laquelle lancer le crawl"
+ },
+ "search": {
+ "type": "string",
+ "description": "Requête de recherche à utiliser pour la cartographie. Pendant la phase Alpha, la composante « intelligente » de la fonctionnalité de recherche est limitée à 500 résultats de recherche. En revanche, si map trouve davantage de résultats, aucune limite n’est appliquée."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "Mode sitemap lors du mappage. Si vous le réglez sur `skip`, le sitemap ne sera pas utilisé pour trouver des URL. Si vous le réglez sur `only`, seules les URL présentes dans le sitemap seront renvoyées. Par défaut (`include`), le sitemap est utilisé conjointement avec les autres méthodes pour trouver des URL.",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Inclure les sous-domaines du site",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Ne retournez pas d’URL comportant des paramètres de requête",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de liens à retourner",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration en millisecondes. Aucun délai d’expiration n’est défini par défaut."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraire des données structurées à partir de pages à l’aide de modèles de langage (LLM)",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "Les URL à partir desquelles les données seront extraites. Les URL doivent être au format glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt pour guider le processus d’extraction"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma définissant la structure des données extraites. Doit être conforme à la [spécification JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Lorsque cette option est activée, l’extraction utilisera la recherche web pour trouver des données supplémentaires",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Si cette option est définie sur true, les fichiers sitemap.xml sont ignorés pendant l’analyse du site web",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Si la valeur est définie sur true, les sous-domaines des URL fournies seront également explorés",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Si la valeur est `true`, les sources utilisées pour extraire les données seront incluses dans la réponse sous la clé `sources`.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Si des URL non valides sont spécifiées dans le tableau urls, elles seront ignorées. Plutôt que de provoquer l’échec de l’ensemble de la requête, une extraction sera effectuée en utilisant uniquement les URL valides restantes, et les URL non valides seront renvoyées dans le champ invalidURLs de la réponse."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extraction réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Requête invalide",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID de la tâche d’extraction",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Consulter le statut d’une tâche d’extraction",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Récupérer tous les crawls actifs de l’équipe authentifiée",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "L’identifiant unique de l’exploration"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "ID de l’équipe propriétaire du crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "L’URL de départ du crawl"
+ },
+ "options": {
+ "type": "object",
+ "description": "Options du crawler utilisées pour ce crawl",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Paiement requis",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Trop de requêtes",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obtenir le nombre de crédits restants de l'équipe authentifiée",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "Nombre de crédits restants pour l'équipe",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "Nombre de crédits inclus dans le forfait. Cela n’inclut pas les crédits de coupons, les packs de crédits ni les recharges automatiques.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. Null si vous utilisez l’offre gratuite",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Impossible de trouver les informations sur l’utilisation des crédits",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des crédits pour l’équipe authentifiée",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des crédits par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé d’API utilisée pour la période de facturation. null si byApiKey est false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Nombre total de crédits utilisés sur la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Obtenir le nombre de jetons restants de l’équipe authentifiée (uniquement pour Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "Nombre de jetons restants pour l’équipe",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "Nombre de jetons inclus dans l’offre. N’inclut pas les jetons issus de coupons.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation. null si vous utilisez le plan gratuit",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation. null si le plan gratuit est utilisé",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informations sur l’utilisation des jetons introuvables",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obtenir l’historique d’utilisation des jetons pour l’équipe authentifiée (Extract uniquement)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Récupérer l’historique d’utilisation des jetons par clé API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Réponse en cas de succès",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de début de la période de facturation",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date de fin de la période de facturation",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nom de la clé d’API utilisée pour la période de facturation. null si byApiKey est false (valeur par défaut)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Nombre total de jetons utilisés pendant la période de facturation",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Rechercher et éventuellement scraper les résultats de recherche",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Requête de recherche"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Nombre maximal de résultats à retourner",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge les plages temporelles prédéfinies (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) ainsi que les plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation pour les résultats de recherche"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Sources à utiliser pour la recherche. Détermine les tableaux disponibles dans la réponse.",
+ "default": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Paramètre de recherche temporel. Prend en charge des intervalles de temps prédéfinis (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) et des plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Paramètre de localisation pour les résultats de recherche"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d’expiration (en millisecondes)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclut des résultats de recherche les URL invalides pour d’autres endpoints Firecrawl. Cela permet de réduire les erreurs si vous envoyez les données issues de la recherche vers d’autres endpoints de l’API Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "Options d’extraction des résultats de recherche",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Réponse réussie",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de recherche"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description du résultat de recherche"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de la recherche"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu Markdown lorsque le scraping a été demandé"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si ce format est demandé"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut si ce format est demandé"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens renvoyés si demandés dans les formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de la capture d’écran si ce format est demandé dans formats"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre du résultat de la recherche"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL de l’image"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "Largeur de l’image"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "Hauteur de l’image"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL du résultat de la recherche"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Position du résultat de recherche"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Titre de l’article"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "Extrait de l’article"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL de l’article"
+ },
+ "date": {
+ "type": "string",
+ "description": "Date de l’article"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL de l'image de l'article"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Position de l’article"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu Markdown si le scraping a été demandé"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML si demandé dans les formats de sortie"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut lorsqu’il est demandé dans les formats"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liens trouvés si demandés via formats"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL de la capture d’écran si ce format est demandé"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "Les résultats de la recherche. Les tableaux disponibles dépendront des sources que vous avez spécifiées dans la requête. Par défaut, le tableau `web` sera retourné."
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Message d'avertissement en cas de problème"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Délai d’attente dépassé",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erreur du serveur",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut réaliser une capture d’écran de la page entière ou la limiter à la zone actuellement visible (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "La qualité de la capture d’écran, sur une échelle de 1 à 100. 100 correspond à la qualité maximale."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "Largeur du viewport en pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "Hauteur du viewport en pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "Le schéma à utiliser pour la sortie au format JSON. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Le prompt à utiliser pour la sortie JSON"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "Le mode de suivi des modifications à utiliser. « git-diff » fournit un diff détaillé, et « json » compare les données JSON extraites."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Schéma d’extraction JSON pour le mode « json ». Définit la structure des données à extraire et à comparer. Doit être conforme à [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt à utiliser pour le suivi des modifications en mode « json ». S’il n’est pas renseigné, le prompt par défaut sera utilisé."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag à utiliser pour le suivi des modifications. Les tags permettent de répartir l’historique du suivi des modifications en « branches » distinctes : le suivi associé à un tag donné ne se comparera qu’aux extractions effectuées avec ce même tag. S’il n’est pas renseigné, le tag par défaut (null) sera utilisé."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Formats de sortie à inclure dans la réponse. Vous pouvez spécifier un ou plusieurs formats, soit sous forme de chaînes de caractères (par exemple, `'markdown'`), soit sous forme d’objets avec des options supplémentaires (par exemple, `{ type: 'json', schema: {...} }`). Certains formats nécessitent la définition d’options spécifiques. Exemple : `['markdown', { type: 'json', schema: {...} }]`.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retourner uniquement le contenu principal de la page, en excluant les en-têtes, barres de navigation, pieds de page, etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à inclure dans le résultat."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Balises à exclure du résultat."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Renvoie une version mise en cache de la page si elle a été mise en cache il y a moins de cette durée (en millisecondes). Si la version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau scrapée. Si vous n’avez pas besoin de données extrêmement récentes, activer cette option peut accélérer vos scrapes jusqu’à 500 %. La valeur par défaut est de 2 jours.",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "En-têtes à envoyer avec la requête. Ils peuvent être utilisés pour envoyer des cookies, un user-agent, etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Spécifiez un délai en millisecondes avant de récupérer le contenu, afin de laisser à la page suffisamment de temps pour se charger.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Définissez cette valeur sur true si vous souhaitez simuler le scraping depuis un appareil mobile. Utile pour tester des pages responsives et prendre des captures d’écran sur mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorer la vérification du certificat TLS pour les requêtes",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Délai d'expiration de la requête, en millisecondes."
+ },
+ "parsers": {
+ "type": "array",
+ "description": "Contrôle la façon dont les fichiers sont traités lors du scraping. Lorsque « pdf » est inclus (par défaut), le contenu du PDF est extrait et converti au format Markdown, avec une facturation basée sur le nombre de pages (1 crédit par page). Lorsqu’un tableau vide est transmis, le fichier PDF est renvoyé en encodage base64 avec un tarif fixe de 1 crédit au total.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions à effectuer sur la page avant de récupérer le contenu",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Attendre pendant un nombre spécifié de millisecondes"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Durée d’attente en millisecondes"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur pour trouver l’élément par",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Prenez une capture d’écran. Les liens seront disponibles dans le tableau `actions.screenshots` de la réponse."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indique s’il faut effectuer une capture d’écran de la page entière ou la limiter à la zone de visualisation actuelle (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "La qualité de la capture d’écran, entre 1 et 100, 100 correspondant à la meilleure qualité."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "Largeur du viewport en pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "La hauteur du viewport en pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Cliquez sur un élément"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur de requête permettant de trouver l’élément",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clique sur tous les éléments qui correspondent au sélecteur, et pas seulement sur le premier. Ne lève pas d’erreur si aucun élément ne correspond au sélecteur.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Saisissez du texte dans un champ de saisie, une zone de texte ou un élément contenteditable. Remarque : vous devez d’abord donner le focus à l’élément à l’aide d’une action `click` avant d’écrire. Le texte sera saisi caractère par caractère pour simuler une saisie au clavier."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texte à saisir",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Appuyez sur une touche du clavier. Consultez https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html pour la liste des codes de touches.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Appuyez sur une touche"
+ },
+ "key": {
+ "type": "string",
+ "description": "Touche à presser",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Faire défiler la page ou un élément spécifique"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sens de défilement",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Sélecteur CSS de l’élément à faire défiler",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrait le contenu de la page en cours et renvoie l’URL ainsi que le HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Exécuter le code JavaScript sur la page"
+ },
+ "script": {
+ "type": "string",
+ "description": "Code JavaScript à exécuter",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Générer un PDF de la page actuelle. Le PDF sera renvoyé dans le tableau `actions.pdfs` de la réponse."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "La taille de la page du PDF généré",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Indique s’il faut générer le PDF au format paysage",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Le multiplicateur d’échelle du PDF généré",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Paramètres de localisation pour la requête. Lorsqu’ils sont définis, un proxy approprié est utilisé, si disponible, et la langue ainsi que le fuseau horaire correspondants sont émulés. La valeur par défaut est « US » si non spécifié.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Code de pays ISO 3166-1 alpha-2 (p. ex. « US », « AU », « DE », « JP »)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Par défaut, la langue du lieu spécifié est utilisée. Voir https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Supprime toutes les images encodées en base64 de la sortie, qui peuvent être excessivement longues. Le texte alternatif de l’image est conservé, mais l’URL est remplacée par un espace réservé.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Active le blocage des publicités et des fenêtres contextuelles de consentement aux cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Spécifie le type de proxy à utiliser.\n\n - **basic** : Proxies pour le scraping de sites avec peu ou pas de solutions antibot. Rapides et généralement efficaces.\n - **stealth** : Proxies furtifs pour le scraping de sites avec des solutions antibot avancées. Plus lents, mais plus fiables sur certains sites. Coût pouvant aller jusqu’à 5 crédits par requête.\n - **auto** : Firecrawl retentera automatiquement le scraping avec des proxies furtifs si le proxy basic échoue. Si la nouvelle tentative avec stealth réussit, 5 crédits seront facturés pour le scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.\n\nSi vous ne spécifiez pas de proxy, Firecrawl utilisera auto par défaut.",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Si ce paramètre est défini sur true, la page sera stockée dans l’index et le cache de Firecrawl. Le définir sur false est utile si votre activité de scraping peut soulever des problèmes de protection des données. L’utilisation de certains paramètres associés à un scraping sensible (actions, en-têtes) fera automatiquement passer ce paramètre à false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "Résumé de la page si `summary` est inclus dans `formats`"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `html` fait partie de `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `rawHtml` figure dans `formats`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d'écran de la page si `screenshot` fait partie des `formats`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `links` fait partie de `formats`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats des actions spécifiées dans le paramètre `actions`. Uniquement présent si le paramètre `actions` a été fourni dans la requête.",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "Les URL de captures d'écran, dans le même ordre que les actions screenshot fournies.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraire le contenu dans le même ordre que les actions d'extraction fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valeurs renvoyées par JavaScript, dans le même ordre que les actions executeJavascript fournies.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDF générés dans le même ordre que les actions PDF fournies.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d’état HTTP de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Peut être affiché lors de l’utilisation de l’extraction LLM. Un message d’avertissement vous indiquera tout problème d’extraction."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informations de suivi des modifications si `changeTracking` figure dans `formats`. Uniquement présent lorsque le format `changeTracking` est demandé.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "Horodatage du précédent scraping auquel la page actuelle est comparée. Null s’il n’existe aucun précédent scraping."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "Le résultat de la comparaison entre les deux versions de la page. « new » indique que cette page n’existait pas auparavant, « same » indique que le contenu n’a pas changé, « changed » indique que le contenu a changé, « removed » indique que la page a été supprimée."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "La visibilité de la page/URL actuelle. « visible » signifie que l’URL a été découverte de manière organique (liens ou sitemap), « hidden » signifie que l’URL a été découverte à partir de la mémoire de crawls précédents."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff de style Git des modifications lors de l’utilisation du mode « git-diff ». Présent uniquement lorsque le mode est défini sur « git-diff »."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Résultats de comparaison au format JSON lors de l'utilisation du mode `json`. Uniquement présents lorsque le mode est défini sur `json`. Contient la liste de toutes les clés et de leurs valeurs issues des extractions `previous` et `current`, en fonction du type défini dans le `schema`. Exemple [ici](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Le statut actuel du crawl. Peut prendre les valeurs `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages ayant fait l'objet d'une tentative de crawl."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Nombre de pages explorées avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits consommés par le crawl."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date et heure d’expiration du crawl."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL permettant de récupérer les 10 Mo de données suivants. Renvoyée si le crawl n’est pas terminé ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données issues du crawl.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` vaut true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` est défini sur true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens présents sur la page si `includeLinks` est à `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code de statut HTTP de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Tâches de scraping en échec et détails des erreurs",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Horodatage ISO de l'échec"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL explorée"
+ },
+ "error": {
+ "type": "string",
+ "description": "Message d’erreur"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Liste des URL dont le scraping a été tenté mais qui ont été bloquées par le fichier robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "L’état actuel du scraping par lot. Les valeurs possibles sont `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "Nombre total de pages pour lesquelles un scraping a été tenté."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Le nombre de pages extraites avec succès."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Le nombre de crédits utilisés pour le scraping par lots."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "La date et l’heure d’expiration du lot de scraping."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "L’URL permettant de récupérer les 10 Mo de données suivants. Renvoyée si le scraping par lots n’est pas terminé ou si la réponse dépasse 10 Mo."
+ },
+ "data": {
+ "type": "array",
+ "description": "Les données du lot de scraping.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Version HTML du contenu de la page si `includeHtml` est défini sur `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Contenu HTML brut de la page si `includeRawHtml` est défini sur true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Liste des liens sur la page si `includeLinks` vaut `true`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Capture d’écran de la page si `includeScreenshot` vaut true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Le code d'état de la page"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Le message d’erreur de la page"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs vaut true, ce champ est un tableau contenant les URL invalides indiquées dans la requête. S’il n’y a aucune URL invalide, ce tableau est vide. Si ignoreInvalidURLs vaut false, ce champ est non défini (undefined)."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Si ignoreInvalidURLs est true, il s’agit d’un tableau contenant les URL invalides spécifiées dans la requête. S’il n’y a aucune URL invalide, ce sera un tableau vide. Si ignoreInvalidURLs est false, ce champ sera undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "L’état actuel de la tâche d’extraction"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "Nombre de jetons utilisés par le job d’extraction. Disponible uniquement une fois le job terminé."
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/fr/v1/features/alpha/llmstxt-npx.mdx b/fr/v1/features/alpha/llmstxt-npx.mdx
index 19557660..12e46d6c 100644
--- a/fr/v1/features/alpha/llmstxt-npx.mdx
+++ b/fr/v1/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Vous pouvez exécuter ce package avec NPX sans l’installer. Il existe deux man
npx generate-llmstxt --api-key VOTRE_CLEF_API_FIRECRAWL
```
-
### 2. Utiliser des variables d’environnement
@@ -47,7 +46,6 @@ Puis exécutez la commande sans l’option --api-key :
npx generate-llmstxt
```
-
### Options
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## Prérequis
diff --git a/fr/v1/features/change-tracking.mdx b/fr/v1/features/change-tracking.mdx
index 4d83ab63..b0dc74f8 100644
--- a/fr/v1/features/change-tracking.mdx
+++ b/fr/v1/features/change-tracking.mdx
@@ -69,7 +69,6 @@ Exemple de réponse :
}
```
-
### Options avancées
@@ -106,7 +105,6 @@ if (result.changeTracking.json) {
}
```
-
### Exemple de résultats de Git-Diff :
@@ -120,7 +118,6 @@ if (result.changeTracking.json) {
...
```
-
### Exemple de résultats de comparaison JSON :
@@ -134,7 +131,6 @@ if (result.changeTracking.json) {
}
```
-
### Interface TypeScript
@@ -183,7 +179,6 @@ interface ScrapeParams {
}
```
-
## SDK Python
@@ -208,7 +203,6 @@ print("Visibilité :", result.changeTracking.visibility) # « visible » ou «
print("Date de l’extraction précédente :", result.changeTracking.previousScrapeAt) # Horodatage ISO de l’extraction précédente
```
-
### Options avancées
@@ -243,7 +237,6 @@ if 'json' in result.changeTracking:
print(result.changeTracking.json.title.current) # Titre actuel
```
-
### Modèle de données Python
@@ -262,7 +255,6 @@ class ChangeTrackingData(pydantic.BaseModel):
json: Optional[Any] = None
```
-
## Modes de suivi des modifications
@@ -289,7 +281,6 @@ La représentation JSON structurée du diff comprend :
* `chunks` : sections de modifications dans un fichier
* `changes` : modifications de lignes individuelles avec un type (add, delete, normal)
-
### Mode JSON
@@ -313,7 +304,6 @@ Exemple de sortie :
Pour utiliser le mode JSON, vous devez fournir un schéma qui définit les champs à extraire et à comparer.
-
## Faits importants
@@ -364,7 +354,6 @@ Voici quelques points clés à connaître lors de l’utilisation de la fonction
}
```
-
### Exemple d’exploration
@@ -379,7 +368,6 @@ Voici quelques points clés à connaître lors de l’utilisation de la fonction
}
```
-
### Suivi des variations de prix des produits
@@ -425,7 +413,6 @@ if result.changeTracking.changeStatus == 'changed':
print(f"Le prix est passé de {result.changeTracking.json.price.previous} à {result.changeTracking.json.price.current}")
```
-
### Suivi des modifications de contenu avec git-diff
@@ -459,7 +446,6 @@ if result.changeTracking.changeStatus == 'changed':
print(result.changeTracking.diff.text)
```
-
## Facturation
diff --git a/fr/v1/features/extract.mdx b/fr/v1/features/extract.mdx
index c7785e1a..b69352f2 100644
--- a/fr/v1/features/extract.mdx
+++ b/fr/v1/features/extract.mdx
@@ -33,7 +33,6 @@ Le point de terminaison `/extract` simplifie la collecte de données structurée
Nous avons simplifié la facturation afin que Extract utilise désormais des crédits, comme tous les autres points de terminaison. Chaque crédit équivaut à 15 tokens.
-
diff --git a/fr/v1/features/search-v0.mdx b/fr/v1/features/search-v0.mdx
index 86fb1372..a61f5f07 100644
--- a/fr/v1/features/search-v0.mdx
+++ b/fr/v1/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Avec le SDK Python
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### Rechercher une requête
@@ -94,7 +92,6 @@ result = app.search(query="Qu’est-ce que Firecrawl ?")
La réponse sera similaire à celle illustrée par la commande curl ci-dessus.
-
### Avec le SDK JavaScript
@@ -107,7 +104,6 @@ La réponse sera similaire à celle illustrée par la commande curl ci-dessus.
npm install @mendable/firecrawl-js
```
-
#### Rechercher une requête
@@ -124,7 +120,6 @@ const result = await app.search('Qu’est-ce que Firecrawl ?');
La réponse sera similaire à celle affichée dans la commande curl ci-dessus.
-
### Avec le SDK Go
@@ -137,7 +132,6 @@ La réponse sera similaire à celle affichée dans la commande curl ci-dessus.
go get github.com/mendableai/firecrawl-go
```
-
#### Rechercher une requête
@@ -165,7 +159,6 @@ func main() {
}
```
-
### Avec le SDK Rust
@@ -188,7 +181,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### Rechercher une requête
diff --git a/fr/webhooks/events.mdx b/fr/webhooks/events.mdx
index 9cbe2298..cb265e0e 100644
--- a/fr/webhooks/events.mdx
+++ b/fr/webhooks/events.mdx
@@ -24,7 +24,6 @@ Tous les événements webhook suivent cette structure de base :
}
```
-
### Champs communs
@@ -60,7 +59,6 @@ Envoyé au début d’une opération de crawl.
}
```
-
### `crawl.page`
@@ -99,7 +97,6 @@ Envoyé pour chaque page individuelle extraite pendant un crawl.
pour chaque page correctement extraite.
-
### `crawl.completed`
@@ -116,7 +113,6 @@ Envoyé lorsque l’opération de crawl complète s’achève avec succès.
}
```
-
## Événements de scraping par lot
@@ -139,7 +135,6 @@ Envoyé lorsqu’une opération d’extraction par lots commence.
}
```
-
### `batch_scrape.page`
@@ -178,7 +173,6 @@ Envoyé pour chaque URL individuelle extraite dans le lot.
événement `batch_scrape.page` pour chaque URL extraite avec succès.
-
### `batch_scrape.completed`
@@ -195,7 +189,6 @@ Envoyé lorsque l’opération de scraping par lot est entièrement terminée.
}
```
-
@@ -218,7 +211,6 @@ Envoyé lorsqu’une opération d’extraction démarre.
}
```
-
@@ -247,7 +239,6 @@ Envoyé lorsqu’une opération d’extraction s’achève avec succès.
}
```
-
@@ -265,7 +256,6 @@ Envoyé lorsqu’une opération d’extraction échoue.
}
```
-
## Filtrage des événements
diff --git a/fr/webhooks/testing.mdx b/fr/webhooks/testing.mdx
index cc7d6ac9..9db73382 100644
--- a/fr/webhooks/testing.mdx
+++ b/fr/webhooks/testing.mdx
@@ -43,7 +43,6 @@ Utilisez l’URL fournie dans la configuration de votre webhook :
}
```
-
## Débogage des problèmes courants
diff --git a/fr/x402/search.mdx b/fr/x402/search.mdx
index 8a7df98c..56e45931 100644
--- a/fr/x402/search.mdx
+++ b/fr/x402/search.mdx
@@ -1,6 +1,6 @@
---
title: "Recherche à la demande"
-openapi: 'v1-openapi POST /x402/search'
+openapi: '/fr/api-reference/v1-openapi.json V1-OPENAPI POST /x402/search'
---
diff --git a/gt-lock.json b/gt-lock.json
index 924eaaee..06ccd02e 100644
--- a/gt-lock.json
+++ b/gt-lock.json
@@ -17135,114 +17135,144 @@
"3a66180082da1487450288f7fc0623bd2eda2a9d200f0498591097cb55a78045": {
"c38e67be1484dae8fc3042e3269657f643258b82fbbc05edbf7a20580d63c644": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.538Z"
+ "updatedAt": "2025-12-10T11:52:23.988Z",
+ "postProcessHash": "7e0c43c3a18efd508bd796c1193b80c2935e6083a003a59dc13926f5dca6632a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.556Z"
+ "updatedAt": "2025-12-10T11:52:24.032Z",
+ "postProcessHash": "7618413beb82e093dc9ce1dd4d70d32df04650cc5b5363ef966e5c5b5851b882"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.557Z"
+ "updatedAt": "2025-12-10T11:52:24.033Z",
+ "postProcessHash": "e879a94de0ea556658b4170d8e542284546ec8544edb368e278159529a67046f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.557Z"
+ "updatedAt": "2025-12-10T11:52:24.042Z",
+ "postProcessHash": "ce71f17db8e2612dcc5eb38dda2924e59063b2009c7b9a2459f1367166f6d369"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.558Z"
+ "updatedAt": "2025-12-10T11:52:24.044Z",
+ "postProcessHash": "77088829b0b1d4117ae7a6226c0baca4bb8a63a936ecec45484a0ed1a787d828"
}
}
},
"c82e5f7ad76e1f86115c538fc654cec710687f0d1a69fa64c1383d71029c038b": {
"6625066a71166a859103c6fb4252241c5e4a23381ac4ea2be8ed5945de8b0e99": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.520Z"
+ "updatedAt": "2025-12-10T11:52:23.989Z",
+ "postProcessHash": "6fa80d61370043da85fedf8d84f51af84d5711313563dd5101433acaf374d6c1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.521Z"
+ "updatedAt": "2025-12-10T11:52:23.990Z",
+ "postProcessHash": "2c3fe4da23b3042249a060d89f0a81971a8f2979c970e4a4ed9c49b34631eab1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.521Z"
+ "updatedAt": "2025-12-10T11:52:23.920Z",
+ "postProcessHash": "1d40f3c6aaadfbfb96ac32e2265bf5081980af68037c29998b39202bb07dd7f5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.522Z"
+ "updatedAt": "2025-12-10T11:52:23.870Z",
+ "postProcessHash": "b28a108535e8cb5ea7c75d302d216001faf0eea8298414d974381fb0560cff3e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.524Z"
+ "updatedAt": "2025-12-10T11:52:23.949Z",
+ "postProcessHash": "c970de1ac7f01e0e49d83b6e37126f84527a82cead79f931376ddce05675d3ef"
}
}
},
"8e24abf2f15a0f3d7215c91dd89d1d4ad90ab988d82a40be4496ab50fe314cd2": {
"5859f673a78ba95d010f17093cd96bc5c8f340622455dcafda943427310f04d3": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.521Z"
+ "updatedAt": "2025-12-10T11:52:23.990Z",
+ "postProcessHash": "06a43ce745d65f3f9c7c18d17d9f7cfae3cf1c9590495a21ba8d0c746cf12f23"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.522Z"
+ "updatedAt": "2025-12-10T11:52:23.990Z",
+ "postProcessHash": "92d42c142c777f14d88b18aa4815347424fb80084fe6c7f7ddc91a0809ea0562"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.523Z"
+ "updatedAt": "2025-12-10T11:52:23.991Z",
+ "postProcessHash": "2e5d0761c130643bd898f7572dd6009d315d8c86de448c4a6e2f9ea2fd6993c9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.535Z"
+ "updatedAt": "2025-12-10T11:52:24.006Z",
+ "postProcessHash": "41f17767ca3121e09622e9fd2b0bf62d7efd91bb055a42cd8b079a3073daabcd"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.537Z"
+ "updatedAt": "2025-12-10T11:52:24.007Z",
+ "postProcessHash": "000d290839e81d663bc4c7b8748f044a5398c2df3528accfff35b0db9ba183ef"
}
}
},
"4ab5d2ad88f95b3869594747afa572fdbde80f7d7c914955b775526c28ef5f83": {
"12b565b5d95836f1a235c2110fb3920828747276d8b8ffa63521dc95affcbeb8": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.522Z"
+ "updatedAt": "2025-12-10T11:52:23.991Z",
+ "postProcessHash": "4de05b6ed9883881e6d4b061d6def2f7ca07087cf5c620d373a682a8d34d301f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.524Z"
+ "updatedAt": "2025-12-10T11:52:23.977Z",
+ "postProcessHash": "e05ec475705809b79be8f3dc71d44b674dc3d9e97cdc0e9fb8e7d1afb03f8b92"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.526Z"
+ "updatedAt": "2025-12-10T11:52:23.976Z",
+ "postProcessHash": "f2557b2f7a9529bec125cf9ed23c2433d710b134d85c15d931c43cf588c6d26c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.538Z"
+ "updatedAt": "2025-12-10T11:52:23.994Z",
+ "postProcessHash": "69cf69986f8358d4bbf7532b923d2994d8ce7a6b93fa36eeeffda96fcd3ef412"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.527Z"
+ "updatedAt": "2025-12-10T11:52:23.998Z",
+ "postProcessHash": "b09875472e312f0e1514326c0838917e5283a4d6534c8cbfff76e62d84c6b82b"
}
}
},
"215971909d51c53e3d01e7aa9e8f7ca9a6b515db7742f2295f75f454257ad6c8": {
"f516f86916e96e1b78d6c677cd1013acbbbc5cb1abf8cae66425489897043fc6": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.523Z"
+ "updatedAt": "2025-12-10T11:52:23.991Z",
+ "postProcessHash": "e1ba92e9f1dd6f390e4356fb9f9ebe339b4d8b93e04d9c72eb604a786af801e6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.523Z"
+ "updatedAt": "2025-12-10T11:52:23.992Z",
+ "postProcessHash": "140d24e7399529c9271c7d784df168341587b6ab3abf245e9e45f94c9949c65a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.528Z"
+ "updatedAt": "2025-12-10T11:52:24.000Z",
+ "postProcessHash": "b18d623a7bd82e4cb5a37ab337a6e0c21d6bba2abf875dff394c333dafb80155"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.536Z"
+ "updatedAt": "2025-12-10T11:52:24.006Z",
+ "postProcessHash": "e51b07c7c3159cab86031e6f57c3f83339e02b4031f77a161db5b4355ff33ee6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.537Z"
+ "updatedAt": "2025-12-10T11:52:24.007Z",
+ "postProcessHash": "4e61a660c1c2cdc6b857b4e263efd84d745086824023ee1c8742c0c0e1ea7305"
}
}
},
"20569f63663914a0dbf7bdc92ac23af09e5c0b43c36c4e047eec6584e49ca571": {
"52e0dfb9cb84dc5fe59d560c40723fc41de4bbafeb0364388fdcd26bdfa3f907": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.523Z"
+ "updatedAt": "2025-12-10T11:52:23.992Z",
+ "postProcessHash": "b3f85f3fc95d6c8cf8a6b5d388e39979ddf4f74fb4d8f1ed93a14c996f8348be"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.524Z"
+ "updatedAt": "2025-12-10T11:52:23.992Z",
+ "postProcessHash": "573ff815b5eb1570df73b6e1d3a9a7fc56283bfe3acc4982f18c9299a8d401c2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.525Z"
+ "updatedAt": "2025-12-10T11:52:23.993Z",
+ "postProcessHash": "e2034163da12c9e5f0afc07aa576ac252a930f02c8dc580c6aa58992816d58ae"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.528Z"
+ "updatedAt": "2025-12-10T11:52:24.016Z",
+ "postProcessHash": "45560ba4e2c8e75e7403527988c2bafd776ddd3bcf6a14a6d0f4ad0503b3b915"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.529Z"
+ "updatedAt": "2025-12-10T11:52:24.025Z",
+ "postProcessHash": "90101166f0bc721e0a381acd809bf144d1c54748cb4b8e20bd86056b730f5a26"
}
}
},
@@ -17266,95 +17296,120 @@
},
"0660586f770f000f6e4fa938ebf7901d7489c8ea0260a753bd37e7aea2cbadd4": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.506Z"
+ "updatedAt": "2025-12-10T11:52:23.856Z",
+ "postProcessHash": "31743457609ab66835e10a1ad413f03a83eea108c70a24feb758f3a081cfa86b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.507Z"
+ "updatedAt": "2025-12-10T11:52:23.893Z",
+ "postProcessHash": "25fbea8819ddd96e2f1ddecee99e1e27670377e8466c286792704581da8bdd1e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.508Z"
+ "updatedAt": "2025-12-10T11:52:23.950Z",
+ "postProcessHash": "6d85eec6b1fcc69b2d42c2fd1183f7ffa58b962b60e4d4cb4a08e73b456d6fd4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.509Z"
+ "updatedAt": "2025-12-10T11:52:23.948Z",
+ "postProcessHash": "a07c97f63b20770cdd43f237148651ea03417b451c43c44250b446c342169cbb"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.509Z"
+ "updatedAt": "2025-12-10T11:52:23.964Z",
+ "postProcessHash": "ed995b110a405bc8e2710f2bb5a0daf96fac9fb402531aad4bd17de3e30c2b5d"
}
}
},
"3c10419c1599dbac4204b3ed274e3d2e9d25d6dffa3b3720fba7abcc52a6a66f": {
"0557668c55c37cb9b1434cbcfa1c817a2b6b18556a4c63d7a0b2debe4d344d0f": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.525Z"
+ "updatedAt": "2025-12-10T11:52:23.993Z",
+ "postProcessHash": "32d592bb5080d86e1668889ba33f3193d71a8b048bd981bb500586d7f63aecbb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.526Z"
+ "updatedAt": "2025-12-10T11:52:23.994Z",
+ "postProcessHash": "e491ca2ce863501ec62fbf0ec78fd2a564ee1e21d9db8a839389cb87770450f7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.526Z"
+ "updatedAt": "2025-12-10T11:52:23.994Z",
+ "postProcessHash": "7f56c8081fe1587ccc2917e89d0e167d9a8a36ca80f5aa4494317e2dfef981f1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.527Z"
+ "updatedAt": "2025-12-10T11:52:23.997Z",
+ "postProcessHash": "25e11e4289c2ac400b6a7da2853220aace4c577a77410d4da4275568bd9b5afc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.538Z"
+ "updatedAt": "2025-12-10T11:52:24.046Z",
+ "postProcessHash": "a7c988340dfd1949ad9b724b17e5893db98d951a4fa9b61548dc0bf65ade1ce7"
}
}
},
"8cb0114c2d9c9d4a4c2158987c617e309be9dc80442442a825d520fbcc79ef9b": {
"15a2fcdd296ae1022e2a8022986854404cb36941f2bfc917dba2e5a145d98b19": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.539Z"
+ "updatedAt": "2025-12-10T11:52:23.880Z",
+ "postProcessHash": "10ef0382a9fd680ba31eeeb31887cb8d6244b5a2f35c80f7395be0ab78fca3d7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.539Z"
+ "updatedAt": "2025-12-10T11:52:23.995Z",
+ "postProcessHash": "0b4cb9ed7efe3e2ba7f6321c66f100ff34dffaf5e46ea52a6ad5705d35e4967c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.540Z"
+ "updatedAt": "2025-12-10T11:52:23.987Z",
+ "postProcessHash": "e853be329b87f7229dd4ab4f00abd2b1afdef8a4624cdbb0fadda08a98b357a1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.542Z"
+ "updatedAt": "2025-12-10T11:52:23.988Z",
+ "postProcessHash": "3d746405595960e25bb2bd67ce8ab1fb2eacbf06059b3c379958325075930b04"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.543Z"
+ "updatedAt": "2025-12-10T11:52:23.893Z",
+ "postProcessHash": "53dea0c5217bd48868f6cb832140ffa2b795cc5d6f2539695d90ff4e2a6bc22d"
}
}
},
"9a6238e8523691188be985449b47c1dc046b5f08bc7bc1b0bd6e50399259daaa": {
"8fda259d7fbaf1bbdbf55e0bd004d10aae0c8e6b50ed63c995a269aa6990ac59": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.539Z"
+ "updatedAt": "2025-12-10T11:52:23.995Z",
+ "postProcessHash": "9c51ac1f86f065f72e7887e5f58bdb2ff590c15babc6eaa467b5b50c429776e9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.545Z"
+ "updatedAt": "2025-12-10T11:52:23.948Z",
+ "postProcessHash": "f2fdfd8a44141229d0c4562bc8260b42ae86f0b870989fe716e2f4fc21944ca5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.546Z"
+ "updatedAt": "2025-12-10T11:52:23.881Z",
+ "postProcessHash": "b6d39e499a080d321f563acaf5e1e271dd482614e87802fa5379bc619fc149b8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.548Z"
+ "updatedAt": "2025-12-10T11:52:24.020Z",
+ "postProcessHash": "7adf4635ff0060bc064cfc48c57aa2effa38a4cd73a2a7fa61c9e5f18d9e70e3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.549Z"
+ "updatedAt": "2025-12-10T11:52:23.963Z",
+ "postProcessHash": "c64d5f35b1ab65ef1ead99253f53becaebba69ea645e18bb2a1b88b14b7d2ada"
}
}
},
"35937f92a3c360f26ff9c9bf448eb325efb9994c18a26e2179501804e202aa9c": {
"4b7a0434dd4fb48782d0b651fdb571b5238e1b5276f25d04111e909a17661827": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.526Z"
+ "updatedAt": "2025-12-10T11:52:23.996Z",
+ "postProcessHash": "b12c13fffd513ff5c00e60f32abef9802114902e5281198764a4d0bc8e1c391c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.528Z"
+ "updatedAt": "2025-12-10T11:52:24.015Z",
+ "postProcessHash": "dcfeb0ffe3d3ee123373f5f70fc0b4b877549356176fe28cc67bbfda3c9e0a73"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.528Z"
+ "updatedAt": "2025-12-10T11:52:24.018Z",
+ "postProcessHash": "9d5ab952e5df21f5b782a7a482238adc414cbcbc82f6464b6495c781c61edfa3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.529Z"
+ "updatedAt": "2025-12-10T11:52:24.019Z",
+ "postProcessHash": "8b0339d89c9b7d47723846d513e92c8088973b66bbedc26835bb9b4d962774fc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.529Z"
+ "updatedAt": "2025-12-10T11:52:24.022Z",
+ "postProcessHash": "12c9881404daf6a383c0a4ad1c0a92441fef25f4db61dce72574cd9328e1d083"
}
}
},
@@ -17378,418 +17433,528 @@
},
"13cb8eeb1305fcafd4e7b368c27b95dfaa0e3de49a8b6752623a8471a25b8fa0": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.510Z"
+ "updatedAt": "2025-12-10T11:52:23.858Z",
+ "postProcessHash": "f3c8e9f779cfb31839de24ded2bd7acb1de2cf787edc44fe904687efe3846c71"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.518Z"
+ "updatedAt": "2025-12-10T11:52:23.858Z",
+ "postProcessHash": "71d2101c4f4281b33b18a0b6f4dc74fd2b51f529f312a211685331438fd683ed"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.518Z"
+ "updatedAt": "2025-12-10T11:52:23.859Z",
+ "postProcessHash": "bd7e10842bc6739ef740c086e7c36b79660c2fc6850fc5cc8391d8aaee7ac148"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.519Z"
+ "updatedAt": "2025-12-10T11:52:23.860Z",
+ "postProcessHash": "7bc7fe91f46a35f308d56d913e6c4f08576e7a13542fc2dfbe8e85ac684ab012"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.519Z"
+ "updatedAt": "2025-12-10T11:52:23.860Z",
+ "postProcessHash": "e8ac08ae27b7593139144f7624cc9128a71772a1528aad5bf28f3fb94cf5c36e"
}
}
},
"d4d02feb18c59697791274f6e30786c457860cc98c9222f8b807186abab52f7b": {
"cac95031daf98dd701c31d470ddf75b255bed5a8bd261adb1a0bfbd804b06a30": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.530Z"
+ "updatedAt": "2025-12-10T11:52:24.001Z",
+ "postProcessHash": "bf60a977e624271ea57f2be5fb44f77fedffa01d6135d87631f744ff12508768"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.530Z"
+ "updatedAt": "2025-12-10T11:52:23.977Z",
+ "postProcessHash": "741f4f0996063cbefe06ad480a3fdeb3a6b6af89c519fb6f21d5a76cdbc77e71"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.531Z"
+ "updatedAt": "2025-12-10T11:52:23.968Z",
+ "postProcessHash": "f5a4702149bdb75b2a6b90848eefa60654a51bc2d05889a148caedb617678bcf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.531Z"
+ "updatedAt": "2025-12-10T11:52:24.002Z",
+ "postProcessHash": "d1edb4d7f6108713f06c6d31e4eb7eb353fd1acf2847455056ab2ff750dd3a85"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.533Z"
+ "updatedAt": "2025-12-10T11:52:24.003Z",
+ "postProcessHash": "cd6a42052c49ef2d0be07d523f05e34981478ed73c5f2ff8132c5cb7968af621"
}
}
},
"44764bb0f47adf52c86f6e300940469f9d1e69258f6d6b5f53c9b402a7cc0647": {
"a14301d3416675604d24b6a91eb06982059e3f67874cf939a1ae7608cb84394b": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.530Z"
+ "updatedAt": "2025-12-10T11:52:23.870Z",
+ "postProcessHash": "525f2b85ce401ef1ade2200c69bb23768101aac4ffca86a549ed71ac991b6730"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.530Z"
+ "updatedAt": "2025-12-10T11:52:24.037Z",
+ "postProcessHash": "abfcd22e129bb518631c8a664a95fca82ede5b958ee97ea710369acc6701d1e5"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.531Z"
+ "updatedAt": "2025-12-10T11:52:23.951Z",
+ "postProcessHash": "c890925da7d307e68e401216291759b9328523a1d9da6532d34d74ef62726064"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.532Z"
+ "updatedAt": "2025-12-10T11:52:24.002Z",
+ "postProcessHash": "e97dc7545e559421fb33877c6169b3bb46d5da91660b2051f01b81f70f1212cf"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.532Z"
+ "updatedAt": "2025-12-10T11:52:24.003Z",
+ "postProcessHash": "bf11c57d1d18f191064d8542244270d73d1ef16cdc9dbe9c44861e7c1bb036fa"
}
}
},
"bbc61eb9c499aa3bbb48a08a27c0daf9e7f9c80a032b3de565ceaaba12eea558": {
"9c1d88cec96b1086b2a439845f48c3b5129ab6c693719bd00b97e8d3921d96fd": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.533Z"
+ "updatedAt": "2025-12-10T11:52:24.004Z",
+ "postProcessHash": "9a528f1ee5c2736a52c8fc8a00f4770268e46f42d16b55ef3d97da5e383f8971"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.534Z"
+ "updatedAt": "2025-12-10T11:52:24.004Z",
+ "postProcessHash": "6b975306c4b8e54e0474245f03b6a9677ebda11e48c330513969822022679b42"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.534Z"
+ "updatedAt": "2025-12-10T11:52:24.005Z",
+ "postProcessHash": "17775c12f716ba6a815fa0d92a73b844e4402d3d85226881b4bf25d5b485ceba"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.535Z"
+ "updatedAt": "2025-12-10T11:52:24.005Z",
+ "postProcessHash": "ca5cbaae49c48ccc5518dd59bae370f870c018a6084485f5d28a2d3350bc3b57"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.536Z"
+ "updatedAt": "2025-12-10T11:52:24.006Z",
+ "postProcessHash": "189f6757b5edfdbbf5a8400fa80bbce51580147bf32668050d214a4004135dd1"
}
}
},
"39ff7ed320633a83d1ee309782412c2a39894d5b67c842627cf84d8bff2a3464": {
"df59ba6a086515a93472d54c0c1312900f9b5b6f1d9c42335dfe822c8aec9f14": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.539Z"
+ "updatedAt": "2025-12-10T11:52:23.996Z",
+ "postProcessHash": "6604181b0c0af4f24aca92c61719f818421b394438a3ec511c5a766c8d04ac6b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.547Z"
+ "updatedAt": "2025-12-10T11:52:24.017Z",
+ "postProcessHash": "a5816cc2590867ae5591ba8a14b08edd820e1db2f00cf17defdde70884bfb38b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.547Z"
+ "updatedAt": "2025-12-10T11:52:24.018Z",
+ "postProcessHash": "d90410b907b5ef8e3983690e75d37a9fb864c2eed46e8fe55d8ad2e63bfd2b4c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.547Z"
+ "updatedAt": "2025-12-10T11:52:24.018Z",
+ "postProcessHash": "283da02dda1abdbb0a93ce0b54912f88dc5af4d70e4d16549a5801ebe4291537"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.547Z"
+ "updatedAt": "2025-12-10T11:52:24.019Z",
+ "postProcessHash": "3fcf239fa6ad29a977bb4da0b91271c7f5e58b5ff9857dd9132dfe38f886ca66"
}
}
},
"64dff4466616a81f47d3f914253ba172d15425638e13dad1aab85c07c0e37f66": {
"fe5bd5ecc972d70f8450cfc141bac5f553468b35b09c7ea59d1fe0319d04d3af": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.540Z"
+ "updatedAt": "2025-12-10T11:52:23.997Z",
+ "postProcessHash": "33c03a0596c5f8b715009fb80fd3da6f368dc7f0ce744283be2e0ff8f31092c7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.550Z"
+ "updatedAt": "2025-12-10T11:52:24.023Z",
+ "postProcessHash": "d495f3ae42a3d07c1654f36e62267ef960615d88c8b61f6a5e8d4070b73ce9e5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.552Z"
+ "updatedAt": "2025-12-10T11:52:24.026Z",
+ "postProcessHash": "850e760884c30713c2a216566357097d398252323a4ddcf478b2cc276f88b1a5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.554Z"
+ "updatedAt": "2025-12-10T11:52:24.030Z",
+ "postProcessHash": "e30e2983ceecffdbbc49a8c18eb2f2021a74898d0f613988b961fda33595267a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.555Z"
+ "updatedAt": "2025-12-10T11:52:24.030Z",
+ "postProcessHash": "c1acc57febcdb9ae12ac06a745ea1e315a2a11f3c840d0fadc31be16d7da4e9a"
}
}
},
"67fb87dba37067715ce4dca829d396a8a73849f07a1cc006a4ba1fbeb0e91d87": {
"bb5ba83a2a1cb2076fd62f9259a376111eb4656576a56abfdc54bd7a0da31ee0": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.540Z"
+ "updatedAt": "2025-12-10T11:52:23.997Z",
+ "postProcessHash": "37025ac5b3018326715793fd66f6a2e4cca7bc884580e7a714a71f157dd0ec20"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.541Z"
+ "updatedAt": "2025-12-10T11:52:23.998Z",
+ "postProcessHash": "a693e3546916bbdb885af0690a934109266f7f44949152ec2fd88fea70b440e1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.541Z"
+ "updatedAt": "2025-12-10T11:52:23.998Z",
+ "postProcessHash": "e6d7c9cb992fbdca30d731d525ac0b9c3842eb3ccdba0c6eab225367d35b365f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.542Z"
+ "updatedAt": "2025-12-10T11:52:24.016Z",
+ "postProcessHash": "5806dcad91050041d254c23afdd7d8afc4ef108cacaf30dfb4f8ff802eecd0db"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.557Z"
+ "updatedAt": "2025-12-10T11:52:24.043Z",
+ "postProcessHash": "62bd4c84a9757974036348f5373acfeebd9d4cafed4c250ff93ee7481d198b46"
}
}
},
"8979a149e634e36003bf0326c021e780e95c0cb682f5118f4d5d7d312d338d46": {
"ded302e6cf7caeaef571fe2e7de08f774a8b5fb2c8bc3a3841ec5dc8a9244cd7": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.566Z"
+ "updatedAt": "2025-12-10T11:52:23.878Z",
+ "postProcessHash": "a1c4f22e0dd0c627e156bdda4462345c5b0a23f1c60e70987fdc0fbb6d0bf939"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.567Z"
+ "updatedAt": "2025-12-10T11:52:23.879Z",
+ "postProcessHash": "49a6d65da6513ef30e41d34a8019e8ee154eb041560c83fe9f54f57761ea88cf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.569Z"
+ "updatedAt": "2025-12-10T11:52:24.014Z",
+ "postProcessHash": "f40bb82783f3a7716f37b6ca88e3a4215c88f32c92f0e7ff7c321a6c864c895c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.570Z"
+ "updatedAt": "2025-12-10T11:52:23.861Z",
+ "postProcessHash": "316e7fea1765ae76b9592a7dda83a116166883eecefdc4425d4c924251dfb7dd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.573Z"
+ "updatedAt": "2025-12-10T11:52:23.877Z",
+ "postProcessHash": "d4f52b69dd84408aa11396fd1da6f7e11e22fa0ba480713694029f03335e131b"
}
}
},
"16d5fcbe57a38dfffb6ff960385feb102e6e2c519363d28dc433a54b6b976d37": {
"9cc858745c97c91e2af58ea48dc961904c70799dacff507159f8b252b1f7fb97": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.567Z"
+ "updatedAt": "2025-12-10T11:52:24.015Z",
+ "postProcessHash": "7079f8dc0645ce07959e26912634216f26d8fc097ba038b8cf78b35f24051dbd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.573Z"
+ "updatedAt": "2025-12-10T11:52:24.031Z",
+ "postProcessHash": "bfe8c0764d427540963d7162e23c0e418a10935e0d5442dba63bf1fe2ce67ce8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.573Z"
+ "updatedAt": "2025-12-10T11:52:24.032Z",
+ "postProcessHash": "3f27a4ccd26eb8c26db3f2e53b285126a6c0442b06927f72e5091045ea0980f6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.575Z"
+ "updatedAt": "2025-12-10T11:52:24.033Z",
+ "postProcessHash": "ed779fd13ffb190b6619f0af33ba4ef76c1dcf516c3c61663b6c1154302de18b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.575Z"
+ "updatedAt": "2025-12-10T11:52:24.034Z",
+ "postProcessHash": "adc78d659ac1715867515360e38c7150fb5874ba23216b94ae1713c0bfbb7328"
}
}
},
"0d536a6ebd8a8c05fbdb402ea74defe73e8aed56328603ab4b268912b6a52b04": {
"5accedfc33911a3d6ecc54415c04b22e4519c0319e934d8264e58962d509787d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.567Z"
+ "updatedAt": "2025-12-10T11:52:24.062Z",
+ "postProcessHash": "608cbbcde9b0158f675920b35f6c18b46e685cac998f2c4724b7a9845728b1ed"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.572Z"
+ "updatedAt": "2025-12-10T11:52:24.063Z",
+ "postProcessHash": "5667038896204b4ef6aa19f27d8a5a99131cffda8060fc7758289e4b44913763"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.574Z"
+ "updatedAt": "2025-12-10T11:52:24.063Z",
+ "postProcessHash": "aa03bafe4c8ea9ceea5ff3daaf94061dd465eae78468773583aa466faf4b74dd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.574Z"
+ "updatedAt": "2025-12-10T11:52:24.064Z",
+ "postProcessHash": "eea1525834604b865e12557cad0e3820672b59eb4606f0528857df650c921220"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.584Z"
+ "updatedAt": "2025-12-10T11:52:24.085Z",
+ "postProcessHash": "f3c86095d59fb7a4451d853833f6c4fda35d78fb4d0ab70601d869385084c9d9"
}
}
},
"8f7632dcdb16fb24c76d1e36ea98bc0bb92e2fc03ef0969238f10241cf1f53dd": {
"62c9b538dad163ca45d4d1c6ce48a6f9ed33bdac7a6938b92e12d4e878fa0c67": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.543Z"
+ "updatedAt": "2025-12-10T11:52:24.016Z",
+ "postProcessHash": "3cde8e9fc507b0e77470e0989b7d98e1f00734b43af8106b3ba490df4afdec38"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.544Z"
+ "updatedAt": "2025-12-10T11:52:24.016Z",
+ "postProcessHash": "9df3ebaa348c91a30ecf5afd06441ea804271a8bef9b3c958319ef27dd3540c1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.544Z"
+ "updatedAt": "2025-12-10T11:52:24.017Z",
+ "postProcessHash": "6ed5d7033d1b5b194ed392d51f2850da832e95f24e05669aa2b3fc8760807878"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.545Z"
+ "updatedAt": "2025-12-10T11:52:24.017Z",
+ "postProcessHash": "92e86efb3b01c8553819bb44219a56c496030c6ab2f4a2b2a49003edcefae0a8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.546Z"
+ "updatedAt": "2025-12-10T11:52:23.949Z",
+ "postProcessHash": "fb3562223d28c5d62c64e5b3033c433c971b616769576cf6980a7ab33aa57f9b"
}
}
},
"1c4b6c36f2c5c08f9786e6b47cb417c08896f4388577235a1a4eb3447e00547e": {
"80004cf226ca34db6aa0e861416d9ea12e274167353b773d17d0b0f9d323002c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.549Z"
+ "updatedAt": "2025-12-10T11:52:24.021Z",
+ "postProcessHash": "a43bfccbd870822b9af21d44d4e4bc98304c36a759c23bb850f71c8f506e6784"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.551Z"
+ "updatedAt": "2025-12-10T11:52:24.024Z",
+ "postProcessHash": "a3d89925b8f9be69b041dced1bb0f9fa43eb31f35e8d17d57f5d0ac2940eb199"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.551Z"
+ "updatedAt": "2025-12-10T11:52:24.024Z",
+ "postProcessHash": "3dc079cdce3166ac90042c56029789db0608727660974951bef13ef2a7fe398b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.551Z"
+ "updatedAt": "2025-12-10T11:52:24.025Z",
+ "postProcessHash": "15e5dafe69b8a72060ed9578d57d0571d8bb8476323277c61e85dfa429b798d4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.554Z"
+ "updatedAt": "2025-12-10T11:52:24.029Z",
+ "postProcessHash": "28837f1919f3621d96b90e7344e9248c193021e0af17f9a985cfafce47ff1fd4"
}
}
},
"3668137cefe79876b2b67bad177147722d3fe5e41fd0ee2d33f3b2155d231d8e": {
"fb71a22a1501b14e24f54ab2bec8ba8b5e4c7c1dbf69e325cfe68e743f1c5089": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.549Z"
+ "updatedAt": "2025-12-10T11:52:24.013Z",
+ "postProcessHash": "3fcbebe7b2f47a312885122babf4f86e711d44c224693f35d44bc03f31558dd1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.550Z"
+ "updatedAt": "2025-12-10T11:52:24.021Z",
+ "postProcessHash": "d3bfa72db73a088daab43eaef3b7693198f918400659a5baa7055acd25ccb9f6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.553Z"
+ "updatedAt": "2025-12-10T11:52:24.029Z",
+ "postProcessHash": "21622417689f08e9048b2141ac52443b1479c2cee52000631b800a37335162c0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.554Z"
+ "updatedAt": "2025-12-10T11:52:24.013Z",
+ "postProcessHash": "f42a4a17c52827215ec23f4045245fc5f3aaf57a479b3317f038ecaa87abdd1c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.556Z"
+ "updatedAt": "2025-12-10T11:52:24.014Z",
+ "postProcessHash": "63b0d0d26018b592416158d5abad3a566d21a8ac4cc3391a6c8b98b41b83e43c"
}
}
},
"e80fab9839b1abba124fc18845668d0b60d60a1e51207298e91b78f5e7df0ab1": {
"ccfa5d646fde57b9ff6be1c5670cc867d400900832ceb8ec8290036907eca9c5": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.568Z"
+ "updatedAt": "2025-12-10T11:52:24.022Z",
+ "postProcessHash": "58aead309c791c13da5572f45db1c85e09444d2175b3c17dccb1044277992776"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.568Z"
+ "updatedAt": "2025-12-10T11:52:24.022Z",
+ "postProcessHash": "5fedfe83bdd44781bb907d2cf203b6b7610da539e7786b839016cdb7af98dfae"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.568Z"
+ "updatedAt": "2025-12-10T11:52:24.023Z",
+ "postProcessHash": "36d4f730ed611fddbfacf9f0392f275fc9db722608d3da83d85fe0fa8528fa55"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.570Z"
+ "updatedAt": "2025-12-10T11:52:24.026Z",
+ "postProcessHash": "bcfea5416cc467fb4d85be69819b346eea3052c9be88676dc80f76c70d7af280"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.571Z"
+ "updatedAt": "2025-12-10T11:52:24.028Z",
+ "postProcessHash": "7c234ccb1bcb9d9252d1615441ecf4c7ad5442dd3166be9702199419b2d98297"
}
}
},
"a514a9d886363174db31b68fdaf92724222813d11c225da86058a4fa96bd68e4": {
"06523c190fd57a3511208a1eccf5629e50f06bf896f877d2e423d441404b2c0c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.552Z"
+ "updatedAt": "2025-12-10T11:52:24.025Z",
+ "postProcessHash": "8e8aa1bba2582e132cd3d22a7ad0b3562e3ec81a56d5be022db6307471a95eb7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.552Z"
+ "updatedAt": "2025-12-10T11:52:24.028Z",
+ "postProcessHash": "9e22c39e7cd3f7d8860a614738557cca43a9732ccc914f4e700deadc2dcd4c67"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.553Z"
+ "updatedAt": "2025-12-10T11:52:24.028Z",
+ "postProcessHash": "7fcd521fa66d17babd617f591c882687af0dd3b5bca7da94023c07595b44558c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.556Z"
+ "updatedAt": "2025-12-10T11:52:24.031Z",
+ "postProcessHash": "1a1bbf42df97f9b93651e0d3f567d70f2846c9a9611f8128acc2619bc1cea59e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.557Z"
+ "updatedAt": "2025-12-10T11:52:24.042Z",
+ "postProcessHash": "a5b2ac61dec341d4c2aa6c7993b780c898532616033ce38d8a31e717d7bdf5fd"
}
}
},
"219528ce36087d373df3f612211f8dea1d103601dbcf8e81e98442fda1dcce89": {
"a703c1b9dfcd4247a57751cf216eddbc638542dbb714b90dce603716ddf89007": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.559Z"
+ "updatedAt": "2025-12-10T11:52:24.046Z",
+ "postProcessHash": "76b2b7a3505e3becdc043ab52f43d4a4aec21629fbaf7a5c325d00e6933a675c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.559Z"
+ "updatedAt": "2025-12-10T11:52:24.047Z",
+ "postProcessHash": "8706a1edf4e6bef3f4cad4796e14ea399dff5ae29d4043f85c45aa2d822c111e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.561Z"
+ "updatedAt": "2025-12-10T11:52:24.049Z",
+ "postProcessHash": "18c47ab461ec7f40253fb71e29d212bea32bab381851928763c45837edb3bbf8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.585Z"
+ "updatedAt": "2025-12-10T11:52:24.049Z",
+ "postProcessHash": "f36030da7ea5c3bcd6834d96b0aa9b6f55dbd7e5d9101098cba767f20a263418"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.586Z"
+ "updatedAt": "2025-12-10T11:52:24.049Z",
+ "postProcessHash": "56146f9da195dd57e1d3956beb9f0f410b22ed19d3940f4cd3adef8ab344e850"
}
}
},
"922c0111f5f902d3a6da2b7360a8a30025005a55135b8957b87261fd37440b07": {
"57f80c3b026ef2f77addd56bc6a3ce5f046fad1680c198965e361adf0ca1fe0d": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.559Z"
+ "updatedAt": "2025-12-10T11:52:24.014Z",
+ "postProcessHash": "3f0af1d7664501a37a1bed0c893273fab5553434a78ab573640e870fed603562"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.560Z"
+ "updatedAt": "2025-12-10T11:52:24.047Z",
+ "postProcessHash": "a3cfff0a375a7224d8f98b6b5dcdf1df40903b8079605efe0d6e00ab5d278d4e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.560Z"
+ "updatedAt": "2025-12-10T11:52:24.048Z",
+ "postProcessHash": "cd9f863db7e8ba44bc95d10da46837cbcb29d0f0afdc3ad155d19d403c87c4cf"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.560Z"
+ "updatedAt": "2025-12-10T11:52:24.048Z",
+ "postProcessHash": "6fc13d8d48f65b679bc0df9ade08a67f7cdc4b926f5f7533abaf349c518c1be6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.561Z"
+ "updatedAt": "2025-12-10T11:52:23.879Z",
+ "postProcessHash": "176438abe136266f237be736ed67d4ed78db61c75a4ee896810234d5073ed59d"
}
}
},
"5081b843b6feea397b253414a925783ce16d2781aec2a2a7851c0842df2ed4e2": {
"66c0c42a62f1cc7d39733b3896f127c0f598c14c1c9ef37cc65838fcf9fa0ed6": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.562Z"
+ "updatedAt": "2025-12-10T11:52:24.050Z",
+ "postProcessHash": "c7a1549535b064ac1154f0dd97b5364c27606ca84d869f5de1550e7567122aa7"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.562Z"
+ "updatedAt": "2025-12-10T11:52:23.921Z",
+ "postProcessHash": "18d4e1b2fd2b714bd0288e2fac8762926b33ef8f6d5bf19b42db60a1b4263501"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.562Z"
+ "updatedAt": "2025-12-10T11:52:23.987Z",
+ "postProcessHash": "79545b114c76881a706ed32900a2b6242db3735fd93d76a061b5f4b74bd2e2aa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.562Z"
+ "updatedAt": "2025-12-10T11:52:24.051Z",
+ "postProcessHash": "5d736a356deb0a80a58e8b35fd1f7d462cbbe06d328656f09f226604f1dacaaa"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.563Z"
+ "updatedAt": "2025-12-10T11:52:24.051Z",
+ "postProcessHash": "edf7a3e6b0288644ddf2fb912e9de0d4bb911322adf74ba62ef98aa203c8f1dc"
}
}
},
"59ac65a8aed153a73f4ca0d93821fd6aba1b2b505354ce3be66905839307fba5": {
"70df5d5a926e05033457e3d827b53ed3980834764bc255dd9824e4b179cdb976": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.592Z"
+ "updatedAt": "2025-12-10T11:52:24.012Z",
+ "postProcessHash": "86ca35e50cfde1367da7e8733ad24225cf02314690e9af05b7d7655a2f08b21b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.595Z"
+ "updatedAt": "2025-12-10T11:52:24.059Z",
+ "postProcessHash": "be0cef23e539d69090e9f228a6b92f8550464795eb821a44f35bb7b06a1405dd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.596Z"
+ "updatedAt": "2025-12-10T11:52:24.056Z",
+ "postProcessHash": "da828d5b93b6f0466808e9a7638af18030ebf61069f15819c0bdc97f4d5a3324"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.601Z"
+ "updatedAt": "2025-12-10T11:52:24.054Z",
+ "postProcessHash": "1cd0e9d891554f9cb1599639cfa8a45492bb46c98a5af385d2cea6797fb63ff1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.604Z"
+ "updatedAt": "2025-12-10T11:52:24.072Z",
+ "postProcessHash": "12b4737befe14718dab0828b62cbcadb5e6bc4b664cc16cdbfab0156a9516900"
}
}
},
"5b4063066f697c392b8165fd66551160e811642dfe83046ec972be7d8be36abe": {
"3d38d671f420676214d0efc9ffc2e0999b8c56ab8724ade16652c1ddd74e4632": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.592Z"
+ "updatedAt": "2025-12-10T11:52:24.062Z",
+ "postProcessHash": "95a19d97924949a8ddad4a4e8e5f08ed920c71675a3a9efb0613dac786e51c9e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.594Z"
+ "updatedAt": "2025-12-10T11:52:24.056Z",
+ "postProcessHash": "94f184a6188928e4089c062031984614e18c46ee66655a63e69dd148b27785e4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.597Z"
+ "updatedAt": "2025-12-10T11:52:24.065Z",
+ "postProcessHash": "4d210c258b66c3ade1d18f635c82b8e0f163ba8c83fa868b3d92d56acba8cd8b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.599Z"
+ "updatedAt": "2025-12-10T11:52:24.061Z",
+ "postProcessHash": "e4aa7e403d4263e911e09c8be94c926e74d2b8542d63b77d6e8f3d4d7ad8d545"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.601Z"
+ "updatedAt": "2025-12-10T11:52:24.058Z",
+ "postProcessHash": "25497d9a7cbe31f65a2211ea82f33f334a323529e79a1ad4d4e19d259ec5c963"
}
}
},
"1381077efd503fdb9f45e95f463f62cb11ee8f95ee46752c36147db738446944": {
"208d2a65d5a6ffdd114abb270ecaa82d49cd9d316494ad58c745abc9ac69d0f3": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.571Z"
+ "updatedAt": "2025-12-10T11:52:24.063Z",
+ "postProcessHash": "b920e4071c661af46a59a018cbb93aa990adc764ba08f521062c63005365c27d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.572Z"
+ "updatedAt": "2025-12-10T11:52:24.060Z",
+ "postProcessHash": "825d418268a9851d96604fb0e58a3b61a5a0540b02852caf6dbda4c54c546702"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.576Z"
+ "updatedAt": "2025-12-10T11:52:24.065Z",
+ "postProcessHash": "e48187bb7f2091e5157ed8a32d82a70f39b1925ca206efd9d220835f83775cc1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.576Z"
+ "updatedAt": "2025-12-10T11:52:24.061Z",
+ "postProcessHash": "3696b6bbcc4ceba2e444859049511863b7cfbb1dea4e8e04a562207e3270180d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.576Z"
+ "updatedAt": "2025-12-10T11:52:24.065Z",
+ "postProcessHash": "7c4abe58974ea13aff2792d060876f257457bb25a5bfd153d81cc1596fb5a96c"
}
}
},
"7d9c9e40eadc75e00ae6c334baa31320c93e55516f01370c2198afacf8777167": {
"acd87823db7fdfa54499c15eba103d0299ba8d2257450d9ebc5a2b51e9760820": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.593Z"
+ "updatedAt": "2025-12-10T11:52:24.063Z",
+ "postProcessHash": "b1c86e96c2e81837bd0e77a4ee6207539b42c815a02f6faa352166473afa4807"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.596Z"
+ "updatedAt": "2025-12-10T11:52:24.065Z",
+ "postProcessHash": "632df2ffd9425617848815163041a2bfcaae1f6bae11c2d46e275bb7cc72dfa2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.597Z"
+ "updatedAt": "2025-12-10T11:52:24.066Z",
+ "postProcessHash": "24d7d95611867e182a9806a68be74a96f2be1a6ede981697792bedff87fb6332"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.597Z"
+ "updatedAt": "2025-12-10T11:52:24.066Z",
+ "postProcessHash": "4df77fde73c98c6deb5e0e8472e405660b572cf6dca13a79dbc6d8149a04e088"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.601Z"
+ "updatedAt": "2025-12-10T11:52:24.068Z",
+ "postProcessHash": "ec998354c2995d469cb88aee2a481593f620939d986726ee1194ac7d0913cf0b"
}
}
},
@@ -17813,95 +17978,120 @@
},
"6730914ccb90be680e9ecb1200a7dc1e009244362540aace930d27b1fe6e2365": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.563Z"
+ "updatedAt": "2025-12-10T11:52:24.007Z",
+ "postProcessHash": "1dce3eed3dee431078d3da6224e63dd1c725cc5aca26f2c3e6bb4ac6ff250935"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.564Z"
+ "updatedAt": "2025-12-10T11:52:24.008Z",
+ "postProcessHash": "c2909145f0a9a2f4a6acb86a7db883d7ccdc5f956f6fb7ca6ed268aefa9e06d3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.564Z"
+ "updatedAt": "2025-12-10T11:52:24.008Z",
+ "postProcessHash": "ea812f3db4ab3e6528bb7363a39871a1622d7adc8e8fb9acd8b40ed09955ab8c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.565Z"
+ "updatedAt": "2025-12-10T11:52:24.008Z",
+ "postProcessHash": "e0c44410dc710e37ba0ffb2b99cf218ce70a6f08f3109716b7f704140fcfcc58"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.565Z"
+ "updatedAt": "2025-12-10T11:52:24.009Z",
+ "postProcessHash": "552654af12db0668b54fa776aced24ac5283a9448e7b7875907ed62d482d9bde"
}
}
},
"40f479a0a7fd8f0ca63373ec9554fbb1cb7bace17eca14bfdf9a98d92e4c89d2": {
"79cbc2223c1433028017c946b1c2cc324dbf97f8c91f8605b1426b2b1f9b1315": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.593Z"
+ "updatedAt": "2025-12-10T11:52:24.064Z",
+ "postProcessHash": "a427e34631a6cfe5b44274a01a2643b9826f8c9ca99cae1819af3f257a0525f9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.593Z"
+ "updatedAt": "2025-12-10T11:52:24.064Z",
+ "postProcessHash": "36432c1c8cb2da18bdb3960f58f06a920816d8637f8680a42a2972573e083d3e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.594Z"
+ "updatedAt": "2025-12-10T11:52:24.057Z",
+ "postProcessHash": "fca18e753fdc99651db220ac3ab87f5880170187c454d3f253bea317bde9b8a1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.598Z"
+ "updatedAt": "2025-12-10T11:52:24.066Z",
+ "postProcessHash": "c83b0a482b59d0d3b445f738d2692839cd6546820bb69f389cb474e9dd65a43c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.607Z"
+ "updatedAt": "2025-12-10T11:52:24.011Z",
+ "postProcessHash": "3c01a18af95581b135c6e9924eeb3254ad3b8434f4c6a39b7e2501279d5f79e1"
}
}
},
"1023df753732f509ff13e0a1690c09823f23fa113f4eab51cabb0aed48cce5a4": {
"141aaf8ada09e7eff2d13fd6210548c8d1f868279e33574f1ccd229fd38aaa39": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.577Z"
+ "updatedAt": "2025-12-10T11:52:24.034Z",
+ "postProcessHash": "8c9568f03571a62f2003ea0f8d558eeeea6aa212c30555048b82ec616de4ace9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.577Z"
+ "updatedAt": "2025-12-10T11:52:24.034Z",
+ "postProcessHash": "2df89631003d0fe3cdcb2f885660fc77400b919e4994961326acd9ab5da09d9e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.577Z"
+ "updatedAt": "2025-12-10T11:52:24.035Z",
+ "postProcessHash": "55dd2041bbdeaef2497f65a0e52773e935da10151c4225faa234729b9075ca7a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.583Z"
+ "updatedAt": "2025-12-10T11:52:24.044Z",
+ "postProcessHash": "a7cedb86267326c173fb5f3211112716b637a61220e583090e62d2c3d297a511"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.584Z"
+ "updatedAt": "2025-12-10T11:52:24.045Z",
+ "postProcessHash": "661b1b783bcdb04540c9df8d3d685de640a5faff4e93965af65373265eb794c2"
}
}
},
"0138a38c91e983d7e974831a48dae24dafbd54e3440a6c156482a82854c10521": {
"c3674b169ec4fd67eed4db12a6babb8965d86b1a7dc2a350844243d878bd3546": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.578Z"
+ "updatedAt": "2025-12-10T11:52:24.035Z",
+ "postProcessHash": "d83a53ccda4360a4c3ff2f3cd15c5aa2b79cc7f8c25dad3730763170259feb36"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.578Z"
+ "updatedAt": "2025-12-10T11:52:24.036Z",
+ "postProcessHash": "931f0b4eb259beb487f578ec4ed76ce0807099ebd3be90db86d6e4a8e50fbf9b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.579Z"
+ "updatedAt": "2025-12-10T11:52:24.036Z",
+ "postProcessHash": "5d21ecec6dc183288c55a1187cb68baf7aadd77ce930cf9b1fc90c795be819f6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.579Z"
+ "updatedAt": "2025-12-10T11:52:24.036Z",
+ "postProcessHash": "6fdd2e800bb745cb85c499e425649dbb5cd4dc32a21c1f95a9fdc02ef58dd16f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.582Z"
+ "updatedAt": "2025-12-10T11:52:24.043Z",
+ "postProcessHash": "d332a6c3b6c9b4e4a604636c12285ec3e28b6f26a0d809b280e47ce7b55045d9"
}
}
},
"acf8cc5f6aee9bdff6a0154f18acefd494708d2545da3cadd6d5f6b5508baa36": {
"1e53b9f2ffdb01442e10e7675a214d877257c723ba97210e4e02816e365915f7": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.579Z"
+ "updatedAt": "2025-12-10T11:52:24.037Z",
+ "postProcessHash": "65ad6722c016f49f2f1c8b333b3f5587b1b574e6f226d8c1cfddc0ed10e1169f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.580Z"
+ "updatedAt": "2025-12-10T11:52:24.038Z",
+ "postProcessHash": "baaa39f7b702ac200ed80a5210c0da880cae6ebd8e85e3422dd91683e92bc231"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.580Z"
+ "updatedAt": "2025-12-10T11:52:24.038Z",
+ "postProcessHash": "9699011111feb88bb609601b767c52560c2b968cd582785d281ad95da96636f4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.580Z"
+ "updatedAt": "2025-12-10T11:52:24.038Z",
+ "postProcessHash": "cd9b89da613f0d0e11c98955264cd1ea3bfb2af7c99b2de2af32129f228fbe34"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.581Z"
+ "updatedAt": "2025-12-10T11:52:24.039Z",
+ "postProcessHash": "e77268010bf21cc505f11c5507966d5239254e7f06d5502a2542c860be668e43"
}
}
},
@@ -17925,1311 +18115,1656 @@
},
"c9f2c86acea4f2ff5842635a685237953041b0a1fe933caeca6f15924eee8936": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.566Z"
+ "updatedAt": "2025-12-10T11:52:24.009Z",
+ "postProcessHash": "3717d3d0a3fdc73469619a87749c33a2437c9afc40b84f75ac334ab70c02289d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.590Z"
+ "updatedAt": "2025-12-10T11:52:24.010Z",
+ "postProcessHash": "058f0c7bed750dccf715194f0043dda969c5b1fce8ab4a1b8e6e1a2d531cb5ec"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.591Z"
+ "updatedAt": "2025-12-10T11:52:24.010Z",
+ "postProcessHash": "c14abb59db073cb569698b720ce78056b464add64f886effb707205166ae6634"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.591Z"
+ "updatedAt": "2025-12-10T11:52:24.011Z",
+ "postProcessHash": "f308c1fb377bf291c91fa44757dbf99f4e3144aa5e490ddbaa6f5fe68da05693"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.566Z"
+ "updatedAt": "2025-12-10T11:52:24.011Z",
+ "postProcessHash": "e4e946d2ad3257692ed94699a89baaf0ded2fafeb8dd1facb40c05f9bcdb3936"
}
}
},
"e72094b2212a6960403c3fc123e88f7da56aacc33ef76502a4ab2198b2d81a7a": {
"60bd9859576b59cd10d6405924ed14f9c4a461554f54ee90f535f40f65498b6b": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.582Z"
+ "updatedAt": "2025-12-10T11:52:24.084Z",
+ "postProcessHash": "c2652b031630aead4d41312f70bc7a5b73e213a78c9204b148927f8dc37f9fea"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.582Z"
+ "updatedAt": "2025-12-10T11:52:24.043Z",
+ "postProcessHash": "dfb79c523a0d7a29f7dc52f5fcc5f305645836d208656cf96b3108299324b576"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.583Z"
+ "updatedAt": "2025-12-10T11:52:24.085Z",
+ "postProcessHash": "94dc6949a58788965dd6d37949821b0fdc2662a425410fbcf53ff6b2255490d8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.584Z"
+ "updatedAt": "2025-12-10T11:52:24.045Z",
+ "postProcessHash": "ed1352a9ee1f8f3c7d00308b91f8f6b5bd93c427e84b499f47502e1588c2f3d3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.585Z"
+ "updatedAt": "2025-12-10T11:52:24.085Z",
+ "postProcessHash": "684053976e0ec812909418f73cfa12ca97bc26aee9db2aa0b9f1eec5b755c3d2"
}
}
},
"8237eca89a3667b62801881596de8cd97c882f43ef87fb222399e12fe109fa03": {
"2f7cd9d51f6b829ddaabf6c8c16066653fefc82e26a1af297b266b8ed12e3f20": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.586Z"
+ "updatedAt": "2025-12-10T11:52:24.086Z",
+ "postProcessHash": "62e2bb9d4d3a711d5d016234c848e7ffb24f9c7259f6dee04a5225152b1e0c32"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.587Z"
+ "updatedAt": "2025-12-10T11:52:24.086Z",
+ "postProcessHash": "7143752e1ed25b07af1dc828e5cbdda94b8745e2e0257b9f4a21285d96455d26"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.587Z"
+ "updatedAt": "2025-12-10T11:52:24.060Z",
+ "postProcessHash": "2506eb0b4478968a5c8027db2a2e05003266a07f5202c2992c9b805caa7d74f9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.588Z"
+ "updatedAt": "2025-12-10T11:52:24.087Z",
+ "postProcessHash": "f6a3c98d527c5a0abf7e68bdb26315177a660d243ebc02ede6c44c99dc7942e0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.588Z"
+ "updatedAt": "2025-12-10T11:52:24.060Z",
+ "postProcessHash": "aae307e0583c4211c483c9ef6339f5cfa83f28a024de3a351d98985a0ea43c29"
}
}
},
"a53db4177bde0e5f91d19e21414ee0bda23d763845af9e96e6a1c1d04b5309c9": {
"9621411a1cea36c592cd7752040a2eb596fd95fc7cfe993e527ec3afe7e9c5ab": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.588Z"
+ "updatedAt": "2025-12-10T11:52:24.050Z",
+ "postProcessHash": "7507e49746e1468370751235b75e3628cb3ce86f323c9cebfa687fca568ad582"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.589Z"
+ "updatedAt": "2025-12-10T11:52:24.050Z",
+ "postProcessHash": "168c7de141fe44c542f426982af2546ae5466891100964f99fe6757502303f35"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.589Z"
+ "updatedAt": "2025-12-10T11:52:24.051Z",
+ "postProcessHash": "982c36ba49f09fb6a69bc5bb8f70157bc976c026930bab4c51da3a2c0697e7ac"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.590Z"
+ "updatedAt": "2025-12-10T11:52:24.015Z",
+ "postProcessHash": "09841612caab5611685af8ce081fad7bc1dafb3397f200ecb351b856805ff435"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.590Z"
+ "updatedAt": "2025-12-10T11:52:24.051Z",
+ "postProcessHash": "ddee55b5abd611fa7977b7a1f4a7af8d534517b808e354155f3cc8f56971afdc"
}
}
},
"44a5095d281e079c0ff3511835e2b9b099cc914a4dff5dd22f34b9d7f569984f": {
"022d006894e93dd891ecc6a9be49672e095d79790373c7404ec05f73bf8fbdfa": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.613Z"
+ "updatedAt": "2025-12-10T11:52:24.062Z",
+ "postProcessHash": "0bf1cb7005bcf4b14435786524618b3d0d97205638d16f17c5b5a70546d29d44"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.618Z"
+ "updatedAt": "2025-12-10T11:52:24.078Z",
+ "postProcessHash": "f35fd36db5fe7899df26a1e9690386566d329341ab5e11eb410a55fadebe037a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.618Z"
+ "updatedAt": "2025-12-10T11:52:24.079Z",
+ "postProcessHash": "1e5b9ab6fcd228fddfab013f80ba5d97034bd1474dc66ff877bbc31b5b009382"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.632Z"
+ "updatedAt": "2025-12-10T11:52:24.116Z",
+ "postProcessHash": "5b4ee29b09592abe70b0c40c18089b85f9bbfeb82bd61e37921e326192a9e8f5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.634Z"
+ "updatedAt": "2025-12-10T11:52:24.119Z",
+ "postProcessHash": "22736e68d08ec5759ddf929ab51afc62813b0fd5690e2458a29ac913a57084f1"
}
}
},
"707152e1b14447b0dfc3bfa89fefc734ec338164a0c647d9295bd2f2494b40dd": {
"249d7e391b086c1aabd551ee11d1b43627a135a928fb5fb32121fa5e1ac89aca": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.613Z"
+ "updatedAt": "2025-12-10T11:52:24.096Z",
+ "postProcessHash": "3d7fd74c798b872b0f84e68e1a3d8563a8ddeb1856ec932e6de876c8c7df08e1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.621Z"
+ "updatedAt": "2025-12-10T11:52:24.099Z",
+ "postProcessHash": "f13932f9bc3417abc86b558735200ddca95cc7e4c19ee28d9f87c79fc6307051"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.626Z"
+ "updatedAt": "2025-12-10T11:52:24.103Z",
+ "postProcessHash": "4d01291ee77940e3244b3148178cbdfe551bab9817839db4e14109d51fbc82f3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.627Z"
+ "updatedAt": "2025-12-10T11:52:24.103Z",
+ "postProcessHash": "10824b9d297ca457f30db11553811fce002958e9389d39acbff84b210624de57"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.634Z"
+ "updatedAt": "2025-12-10T11:52:24.119Z",
+ "postProcessHash": "d5926a5e8f77793e521b51cbbd89dfb70bf61b5e23377f7fe59ece3f4931d191"
}
}
},
"5fd98bd11a476eab9009db4d38c61e7cbc646d79725e0bf5cad6a7495ea389b2": {
"9919332fa79fe8693cab53800139253db12966fc9cd71cd8c77cd8dffc149ef6": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.595Z"
+ "updatedAt": "2025-12-10T11:52:24.059Z",
+ "postProcessHash": "cf4ad4b1a247673f1177a906412f620bfeae5041e649a3ba75713aa31be6a54a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.596Z"
+ "updatedAt": "2025-12-10T11:52:24.059Z",
+ "postProcessHash": "e5dea7b9c171c71b52b4ece16e10df7f8a1e5ff76d22c6d669301d0aa2310d6a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.596Z"
+ "updatedAt": "2025-12-10T11:52:24.055Z",
+ "postProcessHash": "e4ec735f29890c0eb040f12b213338771796a55410a56c318e9ca628ea40b4db"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.602Z"
+ "updatedAt": "2025-12-10T11:52:24.057Z",
+ "postProcessHash": "9adfac90284b9cd28bb023eb192b9fa44498b2cbf0a1f850800f4c94beff7389"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.604Z"
+ "updatedAt": "2025-12-10T11:52:24.072Z",
+ "postProcessHash": "86d06f30c954aa661826544d1296ab9a2d0e242498a6706342e298de95418a70"
}
}
},
"e7ff5c5b302138e4dfa77d363e22b08bfed434904a9672786a76c74e430face5": {
"cc648b15ae8db18b7be26577ec401775a207bc1aa075f18b438c6dc3781a18ac": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.597Z"
+ "updatedAt": "2025-12-10T11:52:24.056Z",
+ "postProcessHash": "7c344013196ef9da464a382243cb4a0401e03319a041a365f50fa7ec3fc36717"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.598Z"
+ "updatedAt": "2025-12-10T11:52:24.058Z",
+ "postProcessHash": "7e1565d32d90fe64ca16f05043aa3197d753097e45a1ecea7d89947ff7e6f3ee"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.598Z"
+ "updatedAt": "2025-12-10T11:52:24.066Z",
+ "postProcessHash": "3a4918d04354df980b72e3da71d0d745198e592c6a925b9718cbc8128d14f82a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.598Z"
+ "updatedAt": "2025-12-10T11:52:24.056Z",
+ "postProcessHash": "58231cf0ad305ca8737c56a0c57afe30e4a80c71a8a61cacfbcd9789bceeef4a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.599Z"
+ "updatedAt": "2025-12-10T11:52:24.067Z",
+ "postProcessHash": "118cd4cdfbc90fa35c1f11faeb0b103f23a16a19e57877aa96c3881d977d01b9"
}
}
},
"77c3dad182131fdcd58b9516cb02111c68c07d10d8de008c00fb650d69039792": {
"effaa4a8130ce10a846b71edd69f9ce5ff2493f2d597dd9e498ee84444f53757": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.600Z"
+ "updatedAt": "2025-12-10T11:52:24.067Z",
+ "postProcessHash": "22cad3f3f9b68dab87831ffeab6967e2ccbf33cf9b19590afef33ecc86d275d1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.606Z"
+ "updatedAt": "2025-12-10T11:52:24.076Z",
+ "postProcessHash": "10afe44950e69d6fca9583e76aba3aa0d4e190c26e85226f503d3e71b5210514"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.607Z"
+ "updatedAt": "2025-12-10T11:52:24.076Z",
+ "postProcessHash": "15c5dcf774acf97d6bd2d1b08f09bc44bb821cbe6cc7a8d07e61b81c4d18ab2f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.608Z"
+ "updatedAt": "2025-12-10T11:52:24.080Z",
+ "postProcessHash": "07ddb33c499e7c7ccb07e65511c1560e336ec284519ba16ff627c20e444e12b4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.612Z"
+ "updatedAt": "2025-12-10T11:52:24.086Z",
+ "postProcessHash": "96fc4c9ccadd00f4a2ded368cdb06b3dd16e1cb37f410ed6099b8e55d8e68c66"
}
}
},
"23029af301508636d8229fbff9109f712eefd90b0cd78002ab432819632c5a08": {
"c60e87665a84d0a3c8dd459fdd5c2adf38b553bec8f3d7f57ee3028f4eb08378": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.600Z"
+ "updatedAt": "2025-12-10T11:52:24.067Z",
+ "postProcessHash": "0c3c325666eddec38d3905b368a625d06d9a983636c297ebaee8253249e0d22b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.601Z"
+ "updatedAt": "2025-12-10T11:52:24.068Z",
+ "postProcessHash": "ca11ff85e51b71e03cbe8cb0d4dde1787a452f5d114a67567ca096ebde2010bf"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.605Z"
+ "updatedAt": "2025-12-10T11:52:24.073Z",
+ "postProcessHash": "6855ec369b4315a43636508f2a89d306cafbeb96a54bb085abd665a7ed0b9c8c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.606Z"
+ "updatedAt": "2025-12-10T11:52:24.075Z",
+ "postProcessHash": "6e0f0e619b6cb9cf5e11871e0d5b32dbbb93cec636d9e8deff7627fdc41e86f1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.611Z"
+ "updatedAt": "2025-12-10T11:52:24.084Z",
+ "postProcessHash": "c6adca3d974c34a54120eec19decde9918430b095e223353bd1b46a46fa2431b"
}
}
},
"ce6b03eab27c8ff9e6069b365bacea4ad7464d93b9e3484e67a60e61e407456e": {
"b5f3b1fe7784edf1f04b9f9a7368438d45955c90f1cb164864596024089e2f61": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.600Z"
+ "updatedAt": "2025-12-10T11:52:24.068Z",
+ "postProcessHash": "b442e0dd1cbbd4f006e359199690e03f37d4e9298136df2fa289e0d468ee47c6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.608Z"
+ "updatedAt": "2025-12-10T11:52:24.079Z",
+ "postProcessHash": "c251bf7c8b6a9e8305f36cf5edd7b7bc39b384b9b5fee130dc46db517a1d9ffe"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.608Z"
+ "updatedAt": "2025-12-10T11:52:24.080Z",
+ "postProcessHash": "54e0bb15c55498b871f709351770be76cb64dbed0f531cfe6bea4e9cd836e55b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.611Z"
+ "updatedAt": "2025-12-10T11:52:24.116Z",
+ "postProcessHash": "e8ec170b3a8e62b9a5ca252761957e478f1607d7e0e6367391c6142acb4d7468"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.612Z"
+ "updatedAt": "2025-12-10T11:52:24.117Z",
+ "postProcessHash": "4d871a149db820da0dd2ee08f56c3a50251888e9e35228ca885cfe887e98558c"
}
}
},
"f0101822175f1060122905fae616913957796e89f7b5f33e92d98e563866c3a1": {
"0a5a7267baf9ef942006f9371ec80b3392b30f3518672cf38d55e582fc463e47": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.602Z"
+ "updatedAt": "2025-12-10T11:52:24.054Z",
+ "postProcessHash": "e2c49f5bc49d50e93fb4971ccf56829d61f0ca41819b03ae4f0952c5672871b0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.602Z"
+ "updatedAt": "2025-12-10T11:52:24.068Z",
+ "postProcessHash": "fbeda0bbe39a2cdf59b438de708c280c967f4ee12d5ac9000d64c21af78c3f42"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.603Z"
+ "updatedAt": "2025-12-10T11:52:24.054Z",
+ "postProcessHash": "6e0ff19f0fc012b91106e300263e1b7a62868ccd61f45a45d39d61addc2c1e5b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.605Z"
+ "updatedAt": "2025-12-10T11:52:24.072Z",
+ "postProcessHash": "d2de17129c80b9e050f7950d5598bfbb07fda90c606c009c622073cbd9d6f16c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.607Z"
+ "updatedAt": "2025-12-10T11:52:24.059Z",
+ "postProcessHash": "e08e9d5532512bdc1d97e15a1e7ed63aac957ad147e47c8a7b9155daa97cccdc"
}
}
},
"54a0dc794cea8f4ea3f8953d00bd05f08a08d84c309deb79f3237dfd93dab15f": {
"ff3b380c91b8a7d4f6384ea37ba696f8dd4105cbb077e05b935923ae0710a5f3": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.613Z"
+ "updatedAt": "2025-12-10T11:52:24.069Z",
+ "postProcessHash": "747ecf749bb43ebbc32d417100ef89e236ae334ef1e30058a57d1e3b50822feb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.609Z"
+ "updatedAt": "2025-12-10T11:52:24.081Z",
+ "postProcessHash": "131cb6a38fdf7a57fb80f6ffe23f39d775f94c62ee73636961c0e6cdf03e4e12"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.615Z"
+ "updatedAt": "2025-12-10T11:52:24.074Z",
+ "postProcessHash": "f3010dc087fd8cf3e62acc826c13344ca88cdd4ffdaa99fd33e014e1549ef3fd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.629Z"
+ "updatedAt": "2025-12-10T11:52:24.106Z",
+ "postProcessHash": "40c82cffa14abe11da906a366f18f0ab779eaa1e1eaa75cc8ab9b3e0ae1e0c2c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.635Z"
+ "updatedAt": "2025-12-10T11:52:24.120Z",
+ "postProcessHash": "2981691521a8ab16ff7d690fb008d22d517f45489b07e04677ce4a494e7f9b21"
}
}
},
"34c5898079d39e0e13012f12b9a91b2d2d737fb5201180369d4b3f48c09ded77": {
"10a829b96a488546129cdfdc8810a3c5737a4e732c55c956c8a560b9aaca27f4": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.603Z"
+ "updatedAt": "2025-12-10T11:52:24.069Z",
+ "postProcessHash": "aa8de7f4d4d78890b2e54a004b7bdc0129474ecd8961bca2646db2a272ebe0b9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.603Z"
+ "updatedAt": "2025-12-10T11:52:24.070Z",
+ "postProcessHash": "8688c3d2ff833932f8311e01dcf04416c3349792aed306e0956dcd7e3c89c315"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.609Z"
+ "updatedAt": "2025-12-10T11:52:24.101Z",
+ "postProcessHash": "1f6eb02adcf362e837050f389ee45f756cd966bd37d27c4c3992f5d75d630deb"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.610Z"
+ "updatedAt": "2025-12-10T11:52:24.101Z",
+ "postProcessHash": "7591c510af1e22ab4f838e4b47bebcd75b524c190319050b044109f933049d21"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.610Z"
+ "updatedAt": "2025-12-10T11:52:24.102Z",
+ "postProcessHash": "3a15d44ad6b04b3de51bcc5a9d090d392eb81d0eee0592094a0b0d310fa85251"
}
}
},
"f52b1e5a63eb71df3e89c17eda94e09c67fa5a8b285815ad51d93e0dce669d44": {
"ae13b0f991fa1f25612521827c720b3988d416ba285e20ecec0ee8ac49f4bf3a": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.604Z"
+ "updatedAt": "2025-12-10T11:52:24.070Z",
+ "postProcessHash": "e3260e0237c754da30fab3f0a1fbc378d1eb387eac60785c80354e635a1ef87a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.604Z"
+ "updatedAt": "2025-12-10T11:52:24.071Z",
+ "postProcessHash": "e1d870f63b02cebfe0e9bec7533ca95d297e76d9c80da2e2539b5aae310be8c4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.605Z"
+ "updatedAt": "2025-12-10T11:52:24.073Z",
+ "postProcessHash": "9c0e562274022c8683fc397fa4bd45ffef72dd33b3e169783f3e9b8a94dc7c05"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.606Z"
+ "updatedAt": "2025-12-10T11:52:24.074Z",
+ "postProcessHash": "9936510448beffedba7f30dabd5f2e9857a2cf3d8f9347d406a717497a8a955a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.606Z"
+ "updatedAt": "2025-12-10T11:52:24.074Z",
+ "postProcessHash": "f648bd4e7b6a03060879d36c79466237957172a8bcb80fbc1edd234340f90055"
}
}
},
"a910e5cb01fab75458fec1b09154bacc4bda2f689192acfc3b724c686a2d2ccc": {
"be5e56f9d69e18ecb7f543c760c6ed69958b974b2b4c1bf8d724668d6174c152": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.614Z"
+ "updatedAt": "2025-12-10T11:52:24.071Z",
+ "postProcessHash": "432382f77a7d57740df4a0d135d0a8da34911352c6e2d26ef58bfb9ebdf456b4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.616Z"
+ "updatedAt": "2025-12-10T11:52:24.075Z",
+ "postProcessHash": "ee4b240b05f8cd5dd4a0b182b69c25785141f5bd6a4905baa7c44046663e9934"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.621Z"
+ "updatedAt": "2025-12-10T11:52:24.082Z",
+ "postProcessHash": "0009b1e5cb3c0b0781af7b067a768100efb161ad3ecc7876d172d30ce981305d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.622Z"
+ "updatedAt": "2025-12-10T11:52:24.083Z",
+ "postProcessHash": "6d71ecc66ae714be5ee6d5c1f912200e5ee5f257ccddd2d5ec57034bde09fd8b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.635Z"
+ "updatedAt": "2025-12-10T11:52:24.120Z",
+ "postProcessHash": "c66800fb7e03a1625ad1e69724490379e7cebd7203a00232ef9c1c371936f37e"
}
}
},
"11d57a46cc6c0cceeafcda0e7dc8daa0ecb389614d1bef4b2c984ca0f55b7f71": {
"ca6b2a735a42b74a1b8835fff45a1b1efd9ed5449d2d5d1cdaf8cf6bdc4ca2bd": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.614Z"
+ "updatedAt": "2025-12-10T11:52:24.073Z",
+ "postProcessHash": "1f5d3b856190e1642b4165bdff7d0614c5d9097584bf3363c23680b46fd71b65"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.615Z"
+ "updatedAt": "2025-12-10T11:52:24.074Z",
+ "postProcessHash": "44ae80a5fa6b0b59cd729c4a117985a2b681a902d9c7f6d7270cf02ee3e4c13b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.616Z"
+ "updatedAt": "2025-12-10T11:52:24.075Z",
+ "postProcessHash": "d9d9c501df36da2ef3b2388b19d674e2ae6ce3460cd1b53ee02b2b38105fea74"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.620Z"
+ "updatedAt": "2025-12-10T11:52:24.082Z",
+ "postProcessHash": "dc007d87a841528d947a435c1ea4ca9bf74d077e9b008814800f62ef59224b6e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.623Z"
+ "updatedAt": "2025-12-10T11:52:24.100Z",
+ "postProcessHash": "0fb1647090f5ff272e0b4f5f9b99131042c7bf197c70774bb98e3cafcb96ba9d"
}
}
},
"832eb41b884c30db8c1ad53e9bfc4f367f862fa727635ce6d1bb6edfd1057ac1": {
"700969ed760101fd64d10b26e3cefcaa0947cbaeb1a43d10736a5418c276744f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.635Z"
+ "updatedAt": "2025-12-10T11:52:24.094Z",
+ "postProcessHash": "b65767c138238ffb2c41ce0cc92d6ab4dada363301f4a2dec935eccab4763642"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.637Z"
+ "updatedAt": "2025-12-10T11:52:24.053Z",
+ "postProcessHash": "017578f3856033bf73936b85d024dbd20a141edabbe0aeea33123057ec145a22"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.647Z"
+ "updatedAt": "2025-12-10T11:52:24.053Z",
+ "postProcessHash": "54c33e8ae6d9a65e259c89d395eba88ca607f9cf83502649da7ae2da12a83c6f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.647Z"
+ "updatedAt": "2025-12-10T11:52:24.052Z",
+ "postProcessHash": "91c1c2d5d7f0e3a9291d20e443a8b9c8a39124f15f4fc7ad8710b2e70380570a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.648Z"
+ "updatedAt": "2025-12-10T11:52:24.092Z",
+ "postProcessHash": "cac7e45d75dcd25ffc1b4b1a010abeb6a5bf97d34ffa16b0bb2b506a10a09160"
}
}
},
"f95d216f7ca4b3d58ca4c696351851f701bedd35617d1f040758e9eab47a6643": {
"71e593465652152ff4a6e9327a868cbca2c6623e4064032b32213adfb907964f": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.635Z"
+ "updatedAt": "2025-12-10T11:52:24.096Z",
+ "postProcessHash": "eb6a81a72675325b7d27d4ec6df10a4535b76c64c887d6eea145eb9ca4675365"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.644Z"
+ "updatedAt": "2025-12-10T11:52:24.111Z",
+ "postProcessHash": "3173fe4120f99ff8d3235adb09683a8d3d532dd50f220e50906b9ba36d20745b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.645Z"
+ "updatedAt": "2025-12-10T11:52:24.112Z",
+ "postProcessHash": "958a402b5a2ecfe6a6f86060e20a7576af79eac349cf5a8ab4ca04ef240f1d16"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.649Z"
+ "updatedAt": "2025-12-10T11:52:24.115Z",
+ "postProcessHash": "03529ca88bf4e1d949aa8af9c30de4fa727f9a36d7985a7b1b4bd970acbb48b6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.650Z"
+ "updatedAt": "2025-12-10T11:52:24.116Z",
+ "postProcessHash": "60a0a52be29bd33c92ba15afb9251b7c7144f836d86d854df71c3d60b85fe55b"
}
}
},
"fab9aab6475278945bb7fab130f4038a6f7983caebb35a634f708fbb4530ac8e": {
"e44d91421930592dfc031a68fa577758e4418670b0558d65fccdb2d77e4d42bb": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.636Z"
+ "updatedAt": "2025-12-10T11:52:24.097Z",
+ "postProcessHash": "dd71710f4f4e4abbc883f199d8600884b56e725f9c9f6a0bf2c7b3fa99ab4a95"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.638Z"
+ "updatedAt": "2025-12-10T11:52:24.124Z",
+ "postProcessHash": "59779607c4dccf0cecfdc9c3ad722e63cc69d655f45977147ddf64b1987ff22c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.653Z"
+ "updatedAt": "2025-12-10T11:52:24.128Z",
+ "postProcessHash": "2577af62ddf2e27e7c6ea0079fd7feb57771bb136db6dff31dc2353e84f1f0db"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.653Z"
+ "updatedAt": "2025-12-10T11:52:24.129Z",
+ "postProcessHash": "6eb481e0c064d75fe6ac2b4bc853612a8fd6b9a27896ed02f8f9b5a0684c0821"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.664Z"
+ "updatedAt": "2025-12-10T11:52:24.132Z",
+ "postProcessHash": "04c5e8ca84a4d88be118a2c6e0df14c216078e811c165fd1e2feaa53e94a7339"
}
}
},
"9dc9a67ef2514aef41a1f26aed9efa61a081996aa027f36c3743c7c57189f87b": {
"684284124d53176a12b1bdc0a0ed0d99f4dbff2a2c730cf95be39f13139ee1d6": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.636Z"
+ "updatedAt": "2025-12-10T11:52:24.097Z",
+ "postProcessHash": "8b7f3dfe51c1e6da629229a9189670087e533a5d87c26e6a396c94a5d8c99b81"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.642Z"
+ "updatedAt": "2025-12-10T11:52:24.058Z",
+ "postProcessHash": "8fd5e3e06afbcf729249f34bb18bdb37b890b1f35b66f929c3403280f494c31a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.646Z"
+ "updatedAt": "2025-12-10T11:52:24.113Z",
+ "postProcessHash": "66ed384f93eb635856ad0369ba46aaab458bbdd8b6c06ff322f3bb9687516140"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.646Z"
+ "updatedAt": "2025-12-10T11:52:24.113Z",
+ "postProcessHash": "99205f3eb7f8118971a719a53a07055b05b77b465f74c1f953a3c775e5a12ab4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.647Z"
+ "updatedAt": "2025-12-10T11:52:24.057Z",
+ "postProcessHash": "991b3566ecc309fa52482d277012aa478187c0c6db6cb1391b812fcb9192545d"
}
}
},
"6c13291af1fcb759241f292105143a36e3bbf1ab9081ab255a8b5c4bff72fa62": {
"ae7ac6f309bb06834858f8b9a0cdf63b44e9f2a93e7ce130cef993006b09ba82": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.616Z"
+ "updatedAt": "2025-12-10T11:52:24.076Z",
+ "postProcessHash": "e792b81c09de9bd4539802b4e44d2e2986c6777367eaa413f1f0cdf17d843e34"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.624Z"
+ "updatedAt": "2025-12-10T11:52:24.055Z",
+ "postProcessHash": "4cc66cd2b2027627e8b07612b22b332cdeda719d41311a3f2158b546353af28d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.624Z"
+ "updatedAt": "2025-12-10T11:52:24.055Z",
+ "postProcessHash": "fdf629707cb6b934a2921e764bb33f5d247429343ec37c196c936e7b642c66fa"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.625Z"
+ "updatedAt": "2025-12-10T11:52:24.101Z",
+ "postProcessHash": "00b1198c1f45b984bf416f3480002c13640a8546426d9433ba0a19b5c91c266a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.625Z"
+ "updatedAt": "2025-12-10T11:52:24.012Z",
+ "postProcessHash": "ecfab177283bf38a4dfe512008326056f847e0927543219b46a651580e59ae2e"
}
}
},
"0b9159f892538239bf20c4a0102c3e910e01464c17f158febb7eb494df4c39b5": {
"9ff0c27bce29b874872c67fb11f58d6beaf6a7f6a1e267a7fbe6a8d06cce5b2a": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.617Z"
+ "updatedAt": "2025-12-10T11:52:24.077Z",
+ "postProcessHash": "c3413db5b96e2302a1a564fdb31f98a8a7d0728c373eb7522d616f44bcbd8f85"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.617Z"
+ "updatedAt": "2025-12-10T11:52:24.077Z",
+ "postProcessHash": "f1227de65d3dc6072cd593947ea6a3e8dc845682c9b0a4d9c9d5cc5f669ea522"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.620Z"
+ "updatedAt": "2025-12-10T11:52:24.081Z",
+ "postProcessHash": "68378616ef102b6189444d2c36dca7ef8fbd57c5632302f26e2d9861a26605ff"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.625Z"
+ "updatedAt": "2025-12-10T11:52:24.102Z",
+ "postProcessHash": "7e760dd85ce35840a382177abdec4449e927c57cff50b94ec97973eeb54a77e5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.626Z"
+ "updatedAt": "2025-12-10T11:52:24.102Z",
+ "postProcessHash": "bf970d66f11c8283738feb0e992333031c8a2fae84c2892bbff423ac6f32dc10"
}
}
},
"71f1a92aab95ab5f58bd35bbd84b6ffb3c7bf0e2cebebd6a356ce84e186b3560": {
"04ba52abd080e4c5337b1027d2e3430dc224c32a37d901f9302bdfbb8377d767": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.618Z"
+ "updatedAt": "2025-12-10T11:52:24.078Z",
+ "postProcessHash": "367828ce2218c37f5f3b4b3e858e4d547bdb37e7271bb50d7c473edb5d9487f4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.621Z"
+ "updatedAt": "2025-12-10T11:52:24.082Z",
+ "postProcessHash": "b05a45a2d0ebd933b486b3db98162afcf9b575bcc845dbefdddc9105afa5b70a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.622Z"
+ "updatedAt": "2025-12-10T11:52:24.083Z",
+ "postProcessHash": "de6c282ae1e8b2c1379b31cbe80d48a3df8f0a91dd6ae4bb5649e5681204e8a5"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.633Z"
+ "updatedAt": "2025-12-10T11:52:24.118Z",
+ "postProcessHash": "390aee77891f441abf807e0ae5a6767439834ebf25b61a33fe04614ffd7f38dd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.634Z"
+ "updatedAt": "2025-12-10T11:52:24.119Z",
+ "postProcessHash": "18d92767742e5343795ae213a313a96e703d8041d41ab7157164dd8ad6316935"
}
}
},
"fd00ab7e4758e60069960757191c4bce5352e1538b69413ee1b532d80bf8a7b5": {
"4fee019b28efa279400b9bff6c30280f45394366e4e35d5301825054872dac35": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.619Z"
+ "updatedAt": "2025-12-10T11:52:24.099Z",
+ "postProcessHash": "6dbd0a6fa973ab86da7d7a3f3e4ab1531976ab4839698914817e8a712526b199"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.622Z"
+ "updatedAt": "2025-12-10T11:52:24.099Z",
+ "postProcessHash": "e071dc26617f791f0ae2f1ecfc022c3b2ee7e62ecfb200f2565dfdce30418eec"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.624Z"
+ "updatedAt": "2025-12-10T11:52:24.100Z",
+ "postProcessHash": "7ded703982bffe4592e49c45c95717dfcf837d482b019d7f0ff9f132ff53ee44"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.628Z"
+ "updatedAt": "2025-12-10T11:52:24.104Z",
+ "postProcessHash": "e7bedaa16e4679aa4297a4d5edcfd06a96365d4da80722579ba0d818fde01052"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.633Z"
+ "updatedAt": "2025-12-10T11:52:24.118Z",
+ "postProcessHash": "502714c67063e12ea23165060a316f2e6f9fd18bbad5cd7cb99e2f49747720cf"
}
}
},
"e8c948a95059f85e20eaf8309e6a79c85e0d55fc152a1cdeeccf05ea7034c19f": {
"cb47bba669c9c9c6019f7ec1a909c42f9ecb617ce8b2901cd0613bed7d9db11b": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.619Z"
+ "updatedAt": "2025-12-10T11:52:24.081Z",
+ "postProcessHash": "30362202e4ae0279abe6ba13f53c13740594fcc2285c98e4ff04fe345ff4732b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.623Z"
+ "updatedAt": "2025-12-10T11:52:24.100Z",
+ "postProcessHash": "983261c3955abdd454fbf10b1453a3ed9c41968c46be5cc685de216d531429a3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.627Z"
+ "updatedAt": "2025-12-10T11:52:24.104Z",
+ "postProcessHash": "d2c861f1d876ba6a7feb174539f808f57f0dbd0c663f288dd2f9e3f53a5cb169"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.628Z"
+ "updatedAt": "2025-12-10T11:52:24.104Z",
+ "postProcessHash": "8df280df22e25c42ee4cb2182fa6907d65d2eb8ff4999eb10ccf31626530d311"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.633Z"
+ "updatedAt": "2025-12-10T11:52:24.118Z",
+ "postProcessHash": "8fe6c253ccee13837573e6afd2e16b3cb304103bfd089ac7bba662deb46259f5"
}
}
},
"855e6138d15eb0ff005194743dd02e3f8601c013f48a93f46a06c180d089d0b8": {
"bf86064742c6c1f6881a3eabbfbf6b183f98d36d0a6d644e340486c83d68e29c": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.623Z"
+ "updatedAt": "2025-12-10T11:52:24.100Z",
+ "postProcessHash": "25bf217291121ee0e45a4847b4a97431288663f4a5e09e8d3b9e6613c816977a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.626Z"
+ "updatedAt": "2025-12-10T11:52:24.103Z",
+ "postProcessHash": "40251742f1d12dad8c4dc8aa85ac7b8dc77ce31cc1963d3970141aa3deee9c6c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.627Z"
+ "updatedAt": "2025-12-10T11:52:24.104Z",
+ "postProcessHash": "d626c774f1a23cbb2142d2aa130250106c88ce3ffc5ba90eba0e909993729519"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.631Z"
+ "updatedAt": "2025-12-10T11:52:24.109Z",
+ "postProcessHash": "40ba77a168cb4807625f3bfd006d9b989dcbaafd2d18ad76e721b132594fb584"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.631Z"
+ "updatedAt": "2025-12-10T11:52:24.109Z",
+ "postProcessHash": "9e2287398ea53a721be03ddd9eaf54c431bdf54046c6c800086c0ed20b5a2b14"
}
}
},
"3f110e82c5620245e60085476c772a93c3fdcb49cca2cd18e76a4e1e1562081c": {
"9716089e0b7048abfddff7417d9838e50edabd3f0a9149cc4517d7d2c36425fb": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.628Z"
+ "updatedAt": "2025-12-10T11:52:24.105Z",
+ "postProcessHash": "fb90ecbb236f290382d2982bc4ac10bf32ec7fdd6d7b4170909b5a8e265a2b0b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.628Z"
+ "updatedAt": "2025-12-10T11:52:24.105Z",
+ "postProcessHash": "63d933f61c8c71871650e36b8e9fe135831ef02944fab41b67152199c9ad2406"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.629Z"
+ "updatedAt": "2025-12-10T11:52:24.106Z",
+ "postProcessHash": "95d42b4b667d94cb073334e2dc2853805cd965deee1a569f365ba0dcb9ce93ce"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.630Z"
+ "updatedAt": "2025-12-10T11:52:24.107Z",
+ "postProcessHash": "ae14a82f2b59e7e4ca0945249d1891634ab3e7eb2b3a827c85a621fa49d48e88"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.632Z"
+ "updatedAt": "2025-12-10T11:52:24.117Z",
+ "postProcessHash": "8db5cf7f03806f03cae1ffd61aa682b36d92561d898e2d3c5b4f6e771429e677"
}
}
},
"5c691bef50758e30064fe0a93a50f678ba52febc517d2e92244d17d0f63049f6": {
"7702dae0fed0f7d28df7c95dd919db78ee84d1fe55d5112fe38edc41007a7c22": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.629Z"
+ "updatedAt": "2025-12-10T11:52:24.106Z",
+ "postProcessHash": "835992208e341137ae422691539be7acb3f41c4a370a9161c7b773b2061e646d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.630Z"
+ "updatedAt": "2025-12-10T11:52:24.106Z",
+ "postProcessHash": "fa5d4c0483e879160b2198d2182ed94b49e80fdc20300d5cc2238007bd77f33e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.630Z"
+ "updatedAt": "2025-12-10T11:52:24.107Z",
+ "postProcessHash": "749c6a9bace672d1e8e2d3eeff3be3f1756f8b1f70a0540b910a7ab6b1125458"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.631Z"
+ "updatedAt": "2025-12-10T11:52:24.107Z",
+ "postProcessHash": "f5e889ffb2c17b8883c9dd6a2db6091eccc2ad2485244db705bd3a7afacd2555"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.632Z"
+ "updatedAt": "2025-12-10T11:52:24.110Z",
+ "postProcessHash": "3eea9600b9228e3e482b551b4701163fba7a9403de1a943a9fc3657e5349ee15"
}
}
},
"21509ea473faa433fed948f17893d4bf351155f77020fbd76564aecf43e182d2": {
"aa0e767260b7680c0b4548789e277ba78cfa3415a3b5392e2c76b8e3b1b77a39": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.637Z"
+ "updatedAt": "2025-12-10T11:52:24.093Z",
+ "postProcessHash": "125ecd0dea2a482534c0db1e1e1b1fa55c83829d6682822c7adfb1bdc462ce67"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.651Z"
+ "updatedAt": "2025-12-10T11:52:24.087Z",
+ "postProcessHash": "a21a71db1545945b566f8d37b117f2c644607b91543076c75de7a94072c5ab32"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.651Z"
+ "updatedAt": "2025-12-10T11:52:24.095Z",
+ "postProcessHash": "a702fff637a2050aaf0f492a838b28b96821d0f8fe1e238168485fe1aefef465"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.652Z"
+ "updatedAt": "2025-12-10T11:52:24.088Z",
+ "postProcessHash": "2d5cbfd9e9d12492c435f38349a424d8305f6480e14913b77c386b00ae9d5d56"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.653Z"
+ "updatedAt": "2025-12-10T11:52:24.092Z",
+ "postProcessHash": "e0ace04a0d2998e1e18674115dd9d357a9c84f56dd3301cac0a4d3cea8ba9483"
}
}
},
"41707c14265858bbfe9674cbdb0526dbcd3dd6f8000153c20f68e98cce078502": {
"22dfc576ad4ee2e99a91e5fc975126985f833aaa7114512b66ab1f97233dee9f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.659Z"
+ "updatedAt": "2025-12-10T11:52:24.097Z",
+ "postProcessHash": "081ea2b51d4c940f7cfd55f0cfe2347f7f6447d62bca468b895bb96c6266720e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.659Z"
+ "updatedAt": "2025-12-10T11:52:24.098Z",
+ "postProcessHash": "ebdc9f30e5c44054f71ec06431badac81f78a7091516f836c826f5cd0c492170"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.659Z"
+ "updatedAt": "2025-12-10T11:52:24.125Z",
+ "postProcessHash": "7016898af36b072ab4f0610521693ce468051fb865b631a82844fbee72ba5ca4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.675Z"
+ "updatedAt": "2025-12-10T11:52:24.150Z",
+ "postProcessHash": "2cacc61d7c20ed80f82a482c81b29fdba8dffd03f5dd184dbfa6a8e57f476eff"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.676Z"
+ "updatedAt": "2025-12-10T11:52:24.152Z",
+ "postProcessHash": "1a2015847660165fa8bc7a7c1f3e2f3487ffd4f3298011d4837c8a4257567840"
}
}
},
"4d0d4530af9090d81526c3e70d3100ab1424133e203cc6b5618aacaff9268968": {
"213f289de5d7fb3b58e19c17ef3ae7d3b52e1387a1500ed3c29b8f27a28c25bb": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.637Z"
+ "updatedAt": "2025-12-10T11:52:24.097Z",
+ "postProcessHash": "c03ee1d13c84119021f74c426d8c55bbdb6762361ea0ae591c0ee96fcfd4e1f6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.641Z"
+ "updatedAt": "2025-12-10T11:52:24.108Z",
+ "postProcessHash": "67c91781a9b020b12ff1fd26b9921af8178c82b82427cca904525d78120660ce"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.642Z"
+ "updatedAt": "2025-12-10T11:52:24.109Z",
+ "postProcessHash": "64cb01d28bb8391d3c96e4792cf1054f9b356e5eba2a28d7c7e15e9947411a75"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.645Z"
+ "updatedAt": "2025-12-10T11:52:24.112Z",
+ "postProcessHash": "6532ca1be9be56b423a11cab20d435472a6ddc5b393f02b83cf1143cd7eaa156"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.646Z"
+ "updatedAt": "2025-12-10T11:52:24.113Z",
+ "postProcessHash": "5589b1a322ff23b716b0bfa8fa6a27e3538e5f9540dd900361884031ab1d1347"
}
}
},
"a17dc70673238bd0590874c69eeed476086fdfb2bc9cabdb32b8e6e37feb3ee9": {
"cf3066a4f7ec5900414896ada66ee4836a8e65009b7e95874dc2221e993d37da": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.638Z"
+ "updatedAt": "2025-12-10T11:52:24.098Z",
+ "postProcessHash": "b75e3fa65a6e695d17267f83f0718cc722b4f15b84bacadd8152133cdf4a6242"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.646Z"
+ "updatedAt": "2025-12-10T11:52:24.112Z",
+ "postProcessHash": "17bc83603280ec1b1e5fd22f65d88cf1508b0912ed2daa604714de5475a08347"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.648Z"
+ "updatedAt": "2025-12-10T11:52:24.113Z",
+ "postProcessHash": "87dbe8c8c48843167401eca8180495d924c8cf3d2afe76c6b665e4e40ff894c5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.649Z"
+ "updatedAt": "2025-12-10T11:52:24.114Z",
+ "postProcessHash": "ec97156e893a641281f23225f064f84fef4d343f7c062108ee5c699dc3d3b0bf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.650Z"
+ "updatedAt": "2025-12-10T11:52:24.115Z",
+ "postProcessHash": "114dacf9c41b868744334b391205194922bff385d78e6f86dbb5762860557bfe"
}
}
},
"4e68e9491c7ab1ce6416c713b279212fef419cb5fccbb4c696874fad661fe4b0": {
"50e2544bb028f146ebc806739c57d35274405a18c0c03a8017c2bef692ec5574": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.638Z"
+ "updatedAt": "2025-12-10T11:52:24.125Z",
+ "postProcessHash": "7389945c4ce39338db53986ff31e2fc75bffa3fd9bbaf5c7fa63559434501c24"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.639Z"
+ "updatedAt": "2025-12-10T11:52:24.125Z",
+ "postProcessHash": "052ef4d98183396c85e52f500765a8d6e80f4218543ee94f8cccf713caa04aae"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.652Z"
+ "updatedAt": "2025-12-10T11:52:24.128Z",
+ "postProcessHash": "5694185e3dce9af413f60dc55c7567809ed27a99084d33120cf2e87a017587c6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.655Z"
+ "updatedAt": "2025-12-10T11:52:24.132Z",
+ "postProcessHash": "e3ed38cd0987023f836c42a963fc6430c152e6185bb2b3c570d2a404c84a93b1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.658Z"
+ "updatedAt": "2025-12-10T11:52:24.153Z",
+ "postProcessHash": "145ea21049ecc5c49df55b93681152ba7865b5c773a4a975f3ed36af872703f4"
}
}
},
"e33a3b3c1b39a819bfeaecbe2020986a794526c1835d6aaef31f25b853029c1f": {
"a248f80efddea956e32fe1baa1370962884d42b6fcf8e81a07c8a781daad3dc3": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.638Z"
+ "updatedAt": "2025-12-10T11:52:24.098Z",
+ "postProcessHash": "0ad0d93fba2b2509382bfad59a3d9778d7202869987ab0a04ea1ada65c2868c9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.644Z"
+ "updatedAt": "2025-12-10T11:52:24.111Z",
+ "postProcessHash": "d2e6bcdb606f4ee4271f4da880447b5787fbb248f4bd030a88fe53776827b710"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.648Z"
+ "updatedAt": "2025-12-10T11:52:24.114Z",
+ "postProcessHash": "3cc08f9a5587154cf19edf4d008196c9282df9d8396401e6ca7a541bbad026da"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.648Z"
+ "updatedAt": "2025-12-10T11:52:24.114Z",
+ "postProcessHash": "14a0f0e590698f44ab73235a480710014822d363e2f89fe95f74951edf4ae15c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.650Z"
+ "updatedAt": "2025-12-10T11:52:24.115Z",
+ "postProcessHash": "246973276422258f5e84790cbeb5c19894922d05ff58596268a301d1b21b6483"
}
}
},
"17815cf471570e11fbca424ec432e03c0ad51c093c88f27090b68605327b2708": {
"06764b2c92cffc206cd4fdd92dd2c727b6fa209e579658cd4c38f811cc2e81dd": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.639Z"
+ "updatedAt": "2025-12-10T11:52:24.107Z",
+ "postProcessHash": "adb7b0a90cb2232c4d4c4b924545bd9416d17e6db2c44006a0b133d6c963bf8e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.640Z"
+ "updatedAt": "2025-12-10T11:52:24.108Z",
+ "postProcessHash": "8193280a8024af128fef3839434f0e61840e93e618164126263325aca55daa6d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.641Z"
+ "updatedAt": "2025-12-10T11:52:24.108Z",
+ "postProcessHash": "7eee8a8a85875fac2ac4644bd128f8cbd269719771f892af1a72ad9b75915252"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.643Z"
+ "updatedAt": "2025-12-10T11:52:24.110Z",
+ "postProcessHash": "606df3dd85c17897452a7a73d77b74a89d11785012a27f7dbf6434df8ed2fff8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.643Z"
+ "updatedAt": "2025-12-10T11:52:24.110Z",
+ "postProcessHash": "45fb193a573afd02b00ebf9f67d3a73a7ca4cca1473dd902f64a40cbb1a731ed"
}
}
},
"278e21b389ce7fe0475a3a8bf8e251f62df0dfe8f2a3579c150a373e797dd021": {
"526c4f1d930106a699f4a1dc0551ed56d468386be0684e74ace6073821014b21": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.643Z"
+ "updatedAt": "2025-12-10T11:52:24.110Z",
+ "postProcessHash": "1249ab31623ba72e0cc86880d0b198b388428b9c305600e81802db7d1c2e0d59"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.645Z"
+ "updatedAt": "2025-12-10T11:52:24.111Z",
+ "postProcessHash": "90184146ace9e85b85830e8bfc4cd50136120794e992997411ebc5a7029fe207"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.645Z"
+ "updatedAt": "2025-12-10T11:52:24.112Z",
+ "postProcessHash": "9930fc5c81c02083baad65cd2cc42edd88a2f1487004ba2c663fcc7cf4faede7"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.649Z"
+ "updatedAt": "2025-12-10T11:52:24.115Z",
+ "postProcessHash": "ddfcfbeecaa0112db9fab2985c5138500e93c2b5211328438638a78c2eb9f610"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.657Z"
+ "updatedAt": "2025-12-10T11:52:24.118Z",
+ "postProcessHash": "8c9078e14ccbac89ec588f96100458e2dc05318a07ea8b6a6a4d333a449dc966"
}
}
},
"80e512d85991ee77384fc280f398ed9c57eed858cc2799eb2bb405865b4cc2a8": {
"eaaa5b7616877321a1ca04f5a29642a4271a404b1a336af1ec78174920b608de": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.659Z"
+ "updatedAt": "2025-12-10T11:52:24.088Z",
+ "postProcessHash": "ff4d0d303f6b61b09f4e4515d4f94fe10234dade8b71711f624434218d2d9d22"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.660Z"
+ "updatedAt": "2025-12-10T11:52:24.126Z",
+ "postProcessHash": "9120b661a649599d2dabffe32927a83dc0a82b5e27aa9edc4fe9dca0d6514853"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.660Z"
+ "updatedAt": "2025-12-10T11:52:24.126Z",
+ "postProcessHash": "8bb5785b9188ef0bfeabee4cd88c7f405dd99b358785bcbd7327100171b0cc2e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.662Z"
+ "updatedAt": "2025-12-10T11:52:24.090Z",
+ "postProcessHash": "4d2a9fc637c0aefbf9689af67c5d1c5644c9f8f9b635bcd7ebb7a3539571543b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.666Z"
+ "updatedAt": "2025-12-10T11:52:24.087Z",
+ "postProcessHash": "2330efc1f2bb0370f52dee6cbad5cd243ba5e350d48ba410a317b54a54ef7295"
}
}
},
"5f66170bbc21465ae99c7f5416df17729d3afe47436fd4a68e7b6c43b00ebda4": {
"a213d573bea35d9b9ed58442902ca2f82a099465facf4504a1211e45b377c3d4": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.660Z"
+ "updatedAt": "2025-12-10T11:52:24.126Z",
+ "postProcessHash": "1f6586426dd8fc6ae243ed7388980f36796f20f6921e8349dfe11350c3240989"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.661Z"
+ "updatedAt": "2025-12-10T11:52:24.126Z",
+ "postProcessHash": "e24713fe437fad841a91533c3a68b2dfd559a2bda54c4455c16ee65fccaccd35"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.661Z"
+ "updatedAt": "2025-12-10T11:52:24.127Z",
+ "postProcessHash": "a90af65a599fd797ea649a85bc84e0dc1eff84e1c3ba8d793aaac278a84ee02b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.661Z"
+ "updatedAt": "2025-12-10T11:52:24.127Z",
+ "postProcessHash": "49b36640d0cafeac31c53974ea293a78c744713f78234dff670f9f40356b1cc3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.662Z"
+ "updatedAt": "2025-12-10T11:52:24.129Z",
+ "postProcessHash": "18142dd6a47beee4e341d3098e40b3be052c909480de8123606c949bb18d1f52"
}
}
},
"f2456d28a8f0732d48fa09f7acf0d8de78f3138428a1258e63d463bbb45fe99a": {
"0b8d162980b23d07dcf33617b816071de6a9154129be9c3727857fb5f85d24a2": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.652Z"
+ "updatedAt": "2025-12-10T11:52:24.127Z",
+ "postProcessHash": "86df3f363c5fd507dd3c8a44e205c8244665e8ba8205da5ebdd4aeaca146062f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.654Z"
+ "updatedAt": "2025-12-10T11:52:24.090Z",
+ "postProcessHash": "a61be7249dcac3c6f16fa478ecb83bfece315e1f9be53f0f5d6b6ade69f97937"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.654Z"
+ "updatedAt": "2025-12-10T11:52:24.089Z",
+ "postProcessHash": "8578c6f7347d6a88845075fb6ee111441b811846d53bf2e0d4f1317965a6ccf8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.654Z"
+ "updatedAt": "2025-12-10T11:52:24.088Z",
+ "postProcessHash": "1e9ca803ef1584a5dd3fecf8cd0c3bfabe6430c3e9447ac903d97a6ee9100de1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.655Z"
+ "updatedAt": "2025-12-10T11:52:24.095Z",
+ "postProcessHash": "1ef2796d3579591c0c9a33e2537262ad33339e69675eac3d56b27b356d1b65a7"
}
}
},
"77dc8065fb7729e364c1b5039ca3369ef2d7f2a9d34ce22754518bd9826dca5b": {
"b89712e2f22eedbdfbbc3f0f2741ee4578ac0acf28c8cc36ca68ba833d760a5b": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.656Z"
+ "updatedAt": "2025-12-10T11:52:24.144Z",
+ "postProcessHash": "eb67d5c85db1ecdc2ca171d11911f5d9542202eaf34cdcddc48499deef2a80a0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.656Z"
+ "updatedAt": "2025-12-10T11:52:24.147Z",
+ "postProcessHash": "3048ded033f5586f9a58bef7196518e1655e7ec87f04a675d2cc6a083eff9e5c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.656Z"
+ "updatedAt": "2025-12-10T11:52:24.147Z",
+ "postProcessHash": "5619a2ec766ff66864740449209125b4c75da524218c8a36557121b0cd72d45c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.658Z"
+ "updatedAt": "2025-12-10T11:52:24.151Z",
+ "postProcessHash": "0d578f750b2478cc3b26055f305d9a466789cd84c51681e457120100caed877b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.658Z"
+ "updatedAt": "2025-12-10T11:52:24.152Z",
+ "postProcessHash": "d2fbb8f4b82fa2b3d8a0e2693c3da4273043aec441d0a2c47d9528503e62c510"
}
}
},
"cb8a2998ba66ed984f22200b7026bfa5b2a2f3be3493cd7881370696e35119ff": {
"bb8da168cfb1d018887cded5606f75a692d47388ce3b02f24e807f38e5b4b19d": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.662Z"
+ "updatedAt": "2025-12-10T11:52:24.127Z",
+ "postProcessHash": "8f096b5750d2404261c0933af2707d2aed818d06c11fc9e5cc86a702cf1c32b0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.662Z"
+ "updatedAt": "2025-12-10T11:52:24.129Z",
+ "postProcessHash": "7d9c53284e2fb52890315239e1f657edf1e065bd80ebe9a7d3ee28fe485f17fd"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.664Z"
+ "updatedAt": "2025-12-10T11:52:24.133Z",
+ "postProcessHash": "09875609ec290ad7f620d2cd644debfa097b4bcb1c94b6d963e686a2a564d21d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.665Z"
+ "updatedAt": "2025-12-10T11:52:24.134Z",
+ "postProcessHash": "9b27fd928b57c0c88b614136677d0ecd3b37bcca2c062edc034f89ab0488ab37"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.666Z"
+ "updatedAt": "2025-12-10T11:52:24.137Z",
+ "postProcessHash": "7c9e183c04834cee62a889b9e4728df90cf24f2bc45af1089f7a9b619ac71ff1"
}
}
},
"ea1835afd68346b5a0ac034fbc0df886eeeb8592474f704a7888852edbbc32c5": {
"cae1ef62a414b171a82eb69cd3cfa82c5de699dc1f32b92de3300c2e3a42cb27": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.663Z"
+ "updatedAt": "2025-12-10T11:52:24.130Z",
+ "postProcessHash": "f1a38b4a4f208b79250758da88e7e18d0fba4375869d27c1fe372c9e93df25ed"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.663Z"
+ "updatedAt": "2025-12-10T11:52:24.130Z",
+ "postProcessHash": "2a7017a2d6da8f0b83cf5840934bf270f7937c28056f8d770a9a55c1f4341e5e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.667Z"
+ "updatedAt": "2025-12-10T11:52:24.139Z",
+ "postProcessHash": "01199b29201220a024b5b7bf6a71d5cefbc9914555c7a22bbded9558bd5c380d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.668Z"
+ "updatedAt": "2025-12-10T11:52:24.139Z",
+ "postProcessHash": "5bb8c59fa59873711a7f563f84165eb11e30d137e6e64c733bc1635727814003"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.668Z"
+ "updatedAt": "2025-12-10T11:52:24.139Z",
+ "postProcessHash": "4192638c980c35f3afd6834aba502af7f9b075f20560dd0d7c4508b93e3e8b47"
}
}
},
"a3bc44b0227183b0036d2dd862554ea7e049bd0438880f4df808684590c87b3b": {
"94b2c0841b6cb8a637cc6474a2845b69e48cb25715597c7969bc7b3cb95a11e2": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.663Z"
+ "updatedAt": "2025-12-10T11:52:24.130Z",
+ "postProcessHash": "236ecd70f7eaf204f6a0f6f285b52b4de8c6b9c69fa17c19bf3b14406109d244"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.663Z"
+ "updatedAt": "2025-12-10T11:52:24.131Z",
+ "postProcessHash": "760b22e3425eecd7b8e098f3a7ae35054688ea6f82e8941fa492ec5cd31956db"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.668Z"
+ "updatedAt": "2025-12-10T11:52:24.140Z",
+ "postProcessHash": "6cdcabfd38e2eecf356d8db0526f8add7331570f4e8ffe6f0c593b948d534db3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.668Z"
+ "updatedAt": "2025-12-10T11:52:24.140Z",
+ "postProcessHash": "fe102e929548b54ff8c188bfa2ca904f230971aa796542d59272c989e77505fd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.670Z"
+ "updatedAt": "2025-12-10T11:52:24.142Z",
+ "postProcessHash": "8d188d2dd2cacd1b515fe9a2d34a8ebcdf529af197bd9cf2dca909aad2895438"
}
}
},
"09f951cbb93ff25070d6ccc2aaad86f8de9472a1866dfa2f6a3599104e42ff8a": {
"425df7773a5c18401f38cd18c6cf15f316cb912cf3d5e0501f891ed434ffa7b9": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.663Z"
+ "updatedAt": "2025-12-10T11:52:24.131Z",
+ "postProcessHash": "d976d32a13c5822f777555dbb29b2b84f818b08e06bf58c64c3cb6ff9b7a2124"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.669Z"
+ "updatedAt": "2025-12-10T11:52:24.140Z",
+ "postProcessHash": "f90119d80c367386f8ad08b38ae5e4e733c3d72aeda413154f84fbcd609e3031"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.669Z"
+ "updatedAt": "2025-12-10T11:52:24.141Z",
+ "postProcessHash": "4be086daa3405527fbdef3bcb3bfb4edce5fe6bcb3fa92b23a78769f57e14573"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.670Z"
+ "updatedAt": "2025-12-10T11:52:24.141Z",
+ "postProcessHash": "8973b8875d8484b1e74504d8e932171825aa85c3e2805a2c95a55fc24e80191c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.672Z"
+ "updatedAt": "2025-12-10T11:52:24.145Z",
+ "postProcessHash": "3c390d2380dc33e47fc42fc8fddac064295a9f5a287d1f3e5f2167b2bc3a16b6"
}
}
},
"52343c809e72e29fcc0d09ba572be022ab524799f2b2af28f8bb4ce0d9838c42": {
"ec294fcbb85ea7c893a7119483c5dd75741a12a3046043a1d13b5df9e3275d35": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.664Z"
+ "updatedAt": "2025-12-10T11:52:24.133Z",
+ "postProcessHash": "210d98deb548c77d1b6c497ed51f471ef77f0b67bb28dc771a187137b113297f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.669Z"
+ "updatedAt": "2025-12-10T11:52:24.141Z",
+ "postProcessHash": "4305d38a15534d3651d1cde775f4d6e771c6af19841c9d5a50916a359ddecc52"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.674Z"
+ "updatedAt": "2025-12-10T11:52:24.147Z",
+ "postProcessHash": "da7ebe03a197a426696e5814785b8d6d2750b30efddb7b3e893afe7b4ff43318"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.675Z"
+ "updatedAt": "2025-12-10T11:52:24.150Z",
+ "postProcessHash": "9b7ae35abf4fa60bdc7692483651ed121f2526cecbc010fd497baa44221c00fa"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.676Z"
+ "updatedAt": "2025-12-10T11:52:24.151Z",
+ "postProcessHash": "49a7558a0e9cb102b1aaa115acf5651b7ca04930f1d91b53042e45b2b862b73e"
}
}
},
"bbb5dd109b4c00cb3179e482c7bf2fa632f11f1449a73ee8a6fbf34c0b8901cd": {
"bca3d4e09eeb9f8375dc026b3c908b066cb2d46d7981e3dccfcacb2b9611be5c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.677Z"
+ "updatedAt": "2025-12-10T11:52:24.134Z",
+ "postProcessHash": "db84aa6a760c56ee885a7377d894215ba89ed220370f72d07bfad8dc521bc5b9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.678Z"
+ "updatedAt": "2025-12-10T11:52:24.143Z",
+ "postProcessHash": "ec4b3bebcc7b1f683d8e905a2e653315ee8ddc5978010ddd6c524175785869f0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.679Z"
+ "updatedAt": "2025-12-10T11:52:24.144Z",
+ "postProcessHash": "505a58016e61d5427a9dfcccbbae6592be278a748e34961b5cc6df3342a26175"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.680Z"
+ "updatedAt": "2025-12-10T11:52:24.147Z",
+ "postProcessHash": "10d31e0e31aec8d2d36ab2466b49974f881b18c9c75a8be9dc4054e665d441ed"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.681Z"
+ "updatedAt": "2025-12-10T11:52:24.149Z",
+ "postProcessHash": "52b50dfdd078dda682405f2e85c6be60842494069a10d7e9d68ca89c44bd6e3e"
}
}
},
"e2a61a10ff97ffd503a04d18494f72069c7535ef65f7948e7380815f52c412be": {
"7e935816b3f4be15ce1833c3105a56be60582e38d087c2c9adabd07f093ec094": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.677Z"
+ "updatedAt": "2025-12-10T11:52:24.123Z",
+ "postProcessHash": "3021b04f6282d074a4afb6a140cb71e2b9fa355e29f53c6f32bbfc4def86a9c7"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.674Z"
+ "updatedAt": "2025-12-10T11:52:24.124Z",
+ "postProcessHash": "3941375a7e7244323577640c59481610e247855d6b8137d604eb1db574a74fde"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.674Z"
+ "updatedAt": "2025-12-10T11:52:24.094Z",
+ "postProcessHash": "3ba7236e3746d2d1c496c53715547a9de8d4073b967454aeab71f62a4afb221d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.675Z"
+ "updatedAt": "2025-12-10T11:52:24.124Z",
+ "postProcessHash": "fe27782c2f909deff49c6a7e8deda174d7dcd7a066ec5d9118e3a5efc81ae3cc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.681Z"
+ "updatedAt": "2025-12-10T11:52:24.122Z",
+ "postProcessHash": "c7f71dc0a6b50fa8c593ccb60da3bb25f684840a1cc960cfad96f39eb7d5700d"
}
}
},
"59fca6f525edfb569dacc8d3bd6c8571300bae8371f7549c5a433362026b9c45": {
"0c6aed1d611bb91b8c7ffa73e5e2caa0bfcc3f5091cd3d5b899d311894f1ddf6": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.677Z"
+ "updatedAt": "2025-12-10T11:52:24.134Z",
+ "postProcessHash": "10a307a1d23e98237cfdc9e7b95840227320eaaea1573b7ac626af0cea4cd237"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.677Z"
+ "updatedAt": "2025-12-10T11:52:24.135Z",
+ "postProcessHash": "e22c0d5034bb1ac23aa6d8e173f383578768569c8fe65943563469a3aa037118"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.679Z"
+ "updatedAt": "2025-12-10T11:52:24.143Z",
+ "postProcessHash": "c78c8938c96d1d907ff2843d7d82d67090519f4054c394d62132f74a64166313"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.680Z"
+ "updatedAt": "2025-12-10T11:52:24.148Z",
+ "postProcessHash": "f14fc1c19905b4b9213254bff19e38c8bac78a1e1cca67f6a52306b5af4d3eb1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.680Z"
+ "updatedAt": "2025-12-10T11:52:24.148Z",
+ "postProcessHash": "39790b320e5452f8cb8eaf5c1b65f8ad39bfc33d5ad5daaa21cbd50522fefe74"
}
}
},
"adc99b1fab3999d228699d573302c74ceab451375bfe64f57d9d39bc7f1b63fb": {
"db75129335344e5b3d5b6002ece349fcfb76c55420a398a19d67a737d9b164ae": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.678Z"
+ "updatedAt": "2025-12-10T11:52:24.135Z",
+ "postProcessHash": "054a05fdd5630057ad8a450b28bc80ffc97143e53e90d82ab7458332ee7f5a3e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.678Z"
+ "updatedAt": "2025-12-10T11:52:24.135Z",
+ "postProcessHash": "762fbbcc92e215903d37ffbf9d35af0ae790ae9b0e670687553d76493f71a2ef"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.678Z"
+ "updatedAt": "2025-12-10T11:52:24.136Z",
+ "postProcessHash": "01e0654492da61dadf2c7020e387083e34ce1be4a72a69690b11d95e62ac0928"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.681Z"
+ "updatedAt": "2025-12-10T11:52:24.149Z",
+ "postProcessHash": "b8d29bb8f142def18d4fa1cb473d553a78fa4a53bb55db0ac5458cce344c1c99"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.682Z"
+ "updatedAt": "2025-12-10T11:52:24.159Z",
+ "postProcessHash": "18f40b1c4b354359e4cb3203a2d7808d9c773ad7e31007eb100d410f761d18dc"
}
}
},
"082f0d33093c995f86ce4ea6c2e5315179efbeab08a0b3108c0e097529749a1c": {
"9e6a182a80f23065d09833d1782475506d54dd90601d0d4850d7d03ea7fb1271": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.665Z"
+ "updatedAt": "2025-12-10T11:52:24.136Z",
+ "postProcessHash": "61a2d7659feeb076d310cb6e6f5fe0e40a05f1a9256d9f23eb53891281b55048"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.666Z"
+ "updatedAt": "2025-12-10T11:52:24.137Z",
+ "postProcessHash": "689b4586dc8fc376d313bc36ef4a7f1ac9a8f81113d6081fb3b150e78ba80c21"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.667Z"
+ "updatedAt": "2025-12-10T11:52:24.138Z",
+ "postProcessHash": "95f1393fc2a9ef3fe5a457271ea26e081aa503f589875e32cf88fa854840ebb3"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.667Z"
+ "updatedAt": "2025-12-10T11:52:24.138Z",
+ "postProcessHash": "f74a817a5bb5d47c44cd3d1de3719e0e65dde4606bce2314be19d0b7bc0694df"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.667Z"
+ "updatedAt": "2025-12-10T11:52:24.138Z",
+ "postProcessHash": "1c8f4b229ff0a40fb367dddbaa05aa41785189a3cb4391d3bd0c5439b67c8fa0"
}
}
},
"a3531e0c0c021fd3c66c31757082d32db10e5f77a3f0f99f496b46d900947fd6": {
"f5454a1c7388c663b92c47e8024b961849964c9f3ec40147c9b86a6a57f01f9c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.670Z"
+ "updatedAt": "2025-12-10T11:52:24.141Z",
+ "postProcessHash": "09f2f4caf71d04ef9c446a701aff883cb3e40fd98b11c7110cf1c622434db204"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.670Z"
+ "updatedAt": "2025-12-10T11:52:24.142Z",
+ "postProcessHash": "57f9d9c8f91942a5e1381ea7d568798e6d49743941373e5848d8b75a653520de"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.671Z"
+ "updatedAt": "2025-12-10T11:52:24.142Z",
+ "postProcessHash": "6254b52869f626dd8bc43a9587c1f38fd460ac877edb2921863703d353d6880a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.671Z"
+ "updatedAt": "2025-12-10T11:52:24.143Z",
+ "postProcessHash": "efeed62416e9551136365cde639eb23b7243254cfc92834b27b058c9edd00c90"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.673Z"
+ "updatedAt": "2025-12-10T11:52:24.146Z",
+ "postProcessHash": "b4c4aea8f8dbc3c4d99808187fb3df5bc94df670cb505514cb9fad76b7510fe9"
}
}
},
"036fd680a50fe0f72f63e2282ea1a9c70c83259a8fd46ec269831aa557f247c1": {
"b3f88eb324ef66d428e5f9e75f715b15ecd01474b2e6e27caee326024b437ad5": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.671Z"
+ "updatedAt": "2025-12-10T11:52:24.142Z",
+ "postProcessHash": "318cf4f259963d3c5b2d44840361cf4b78c4f78a48202c2ef7b9d395adda76bf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.672Z"
+ "updatedAt": "2025-12-10T11:52:24.145Z",
+ "postProcessHash": "a345dba446ffa70c0790588bcf1da2ec62c76d324397626a581020c30549a3ef"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.672Z"
+ "updatedAt": "2025-12-10T11:52:24.145Z",
+ "postProcessHash": "911777ce5c27372c55077447cdfbb06c4eb9e318f714ed4834ab0f7fee9536f1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.672Z"
+ "updatedAt": "2025-12-10T11:52:24.145Z",
+ "postProcessHash": "78f4eaa81b7f5a0bf0d93b66b8ef4efb02839886937ca1c8bd511b4f12b05f20"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.673Z"
+ "updatedAt": "2025-12-10T11:52:24.146Z",
+ "postProcessHash": "6b6bee0d4812e7009e3cf5e54c116c885304ec343a9db5491d3435ebd3a3d35a"
}
}
},
"cdb6a66b1f63dd018c0b1830e2f55839314ec8328dd3191f0175947b1686e2d0": {
"db738848cb277bcdc57bc5d99aabe9972ee142edcf3a83dbf29dfbcf9b42ae92": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.671Z"
+ "updatedAt": "2025-12-10T11:52:24.122Z",
+ "postProcessHash": "b5dbb31657c6e3a26bad1e62aeefc93d36a683b033eeb1a2978de7ae2773e023"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.673Z"
+ "updatedAt": "2025-12-10T11:52:24.146Z",
+ "postProcessHash": "5d33f35044afe51651c407fc96056856d6573f38d5527eaa8cde2209de0610e1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.673Z"
+ "updatedAt": "2025-12-10T11:52:24.146Z",
+ "postProcessHash": "9f09dea207052ede6c511f6d6549bbeae7a65d85ecb32e5b4449bbec41a76ce3"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.673Z"
+ "updatedAt": "2025-12-10T11:52:24.089Z",
+ "postProcessHash": "7497684b2ccb42be98f03c190ec59388082e5e2d4b254c0da7e5859ad67f8b5d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.674Z"
+ "updatedAt": "2025-12-10T11:52:24.149Z",
+ "postProcessHash": "6da84dba79ad7a4a2687ca3dc444b826b583151ca419f7554cddda78ceb58784"
}
}
},
"07015df1ac37ca1d85c9754f84f508596ad5cd8347ea5200b1128195347b3fc0": {
"cce24dd1d30bdfc0b0d50fa82b0f001372547522fb754e3ca597b33b7aa22096": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.695Z"
+ "updatedAt": "2025-12-10T11:52:24.124Z",
+ "postProcessHash": "b02c0454fd654498600a191f47ff62a4c595c690dfa09bd5373ce258b63fd8d4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.699Z"
+ "updatedAt": "2025-12-10T11:52:24.169Z",
+ "postProcessHash": "8dac08e88eba503c88401e40a2392950b57c0be91a775f4f6938f3a49eb1a0b6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.701Z"
+ "updatedAt": "2025-12-10T11:52:24.171Z",
+ "postProcessHash": "7c6ccaee4751a2a4121befc9b3e2a2a64f00c325d89c0c1f457274d3908803d0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.702Z"
+ "updatedAt": "2025-12-10T11:52:24.174Z",
+ "postProcessHash": "d88a2adde31d9ca847cfbad4c52e4b420d2ca2821d9e6b5eb207b75a5bd86da1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.714Z"
+ "updatedAt": "2025-12-10T11:52:24.185Z",
+ "postProcessHash": "1ab39e20928be7d777a9ede119b89dd0866d7b0f3ac8872e99341ae92f57635d"
}
}
},
"14d36cd305f2c8c927c6c2c793a727222beb60f55fd92f34f9ae37766a69fa75": {
"74dda50940d70cc62116496ae11ed60299f94aa19615a8d1569da2910f9efeb1": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.695Z"
+ "updatedAt": "2025-12-10T11:52:24.158Z",
+ "postProcessHash": "e1c5dfe866c2b2102fc76ce0d0b92e57f6ee14d59ef776d2a8a78c6469a19ab9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.708Z"
+ "updatedAt": "2025-12-10T11:52:24.182Z",
+ "postProcessHash": "bccec67fb38a81afd098fb2eb3423350057cdddfd0dcbfd1d5cbffec8dd531f0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.710Z"
+ "updatedAt": "2025-12-10T11:52:24.211Z",
+ "postProcessHash": "ea4b9a17651593d82f1f9ac26dbf1afbd8a4a78b296b0c953283bc5cf5a9d9b9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.712Z"
+ "updatedAt": "2025-12-10T11:52:24.218Z",
+ "postProcessHash": "b5000280a833d9fb9f7da2fd033bb9430a05c12deeeaab2212787179db40d035"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.715Z"
+ "updatedAt": "2025-12-10T11:52:24.225Z",
+ "postProcessHash": "330e73f7268b9f63aa4b68bd31e30dd3289606611421c9d168d6468a3dabd024"
}
}
},
"ff71b26dc63ff87187913b0b7a56a0646974789cc83be11a22c0356a8f3eb4e1": {
"a387eeb396f3e18d3da25159ce881d0bd0a70bcebe6dcb1045f9687f46097726": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.696Z"
+ "updatedAt": "2025-12-10T11:52:24.158Z",
+ "postProcessHash": "196d6474cd55465ba398c19b47fdcf2167d0d46f954e565c84a69ad41f2c286c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.703Z"
+ "updatedAt": "2025-12-10T11:52:24.175Z",
+ "postProcessHash": "3eab197def1d1bf8908a7153ef28578aa8cad21bb9b159e29d4604ecc5720f7e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.708Z"
+ "updatedAt": "2025-12-10T11:52:24.181Z",
+ "postProcessHash": "0a98510d1b7358774b91246c8a923077203c322e3448b9c3d9ade89886697757"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.708Z"
+ "updatedAt": "2025-12-10T11:52:24.182Z",
+ "postProcessHash": "cdccc00acb26e848a12051040836b3062f5e6329b39a5b32dd624b4933f7a881"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.715Z"
+ "updatedAt": "2025-12-10T11:52:24.226Z",
+ "postProcessHash": "b8f0eabd6db232732485ba61920d1abf607d0ac1beea8982fb8ff9db915cb00c"
}
}
},
"c7ffc278a14c2d29b6fafe093d5d6d6b4ad5048406de2b895c2c91cc25538a8d": {
"86417666353a5a998fcc830b8b3172b493f95ae13a75766fefbe302b4ffc17aa": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.696Z"
+ "updatedAt": "2025-12-10T11:52:24.158Z",
+ "postProcessHash": "7b9946d3a14a7a950db3ed1b016d437cb03fdfa51eab45677840a3475b1afcf8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.709Z"
+ "updatedAt": "2025-12-10T11:52:24.183Z",
+ "postProcessHash": "fb330eb28c499bb9100e041477e00458aa6a49dfa418ffbe77ccbac26cdaaa61"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.709Z"
+ "updatedAt": "2025-12-10T11:52:24.210Z",
+ "postProcessHash": "20c69725cd5f5458ceab64f4272368f46f7ac423da999d91cb0f46bfc25d8863"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.711Z"
+ "updatedAt": "2025-12-10T11:52:24.214Z",
+ "postProcessHash": "bd7e8991ec42e25c068b9bf0c45aa42724b153b2c82735a68f0218fe26432f39"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.712Z"
+ "updatedAt": "2025-12-10T11:52:24.218Z",
+ "postProcessHash": "4a554ae13291f5dd8359231355456b718e8f74d49cb500a5d658381ed4c859b5"
}
}
},
"6269ebcdfda344a1027264a912c4b4b0c58dd4fed47abea854eebebca077d9c5": {
"0145719a1b2207c1aee811aec616b33c173e533a9686607440af6a301e31793a": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.679Z"
+ "updatedAt": "2025-12-10T11:52:24.144Z",
+ "postProcessHash": "b56438b7fce71f50e7e7029c15730ff2d7f8f1380909f965c44e411efb5bc556"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.682Z"
+ "updatedAt": "2025-12-10T11:52:24.150Z",
+ "postProcessHash": "7b7c8b9cd560160d2ae8291ae3b58b71fbb3c2b5fa0a6b7cfb58939a06d8074b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.682Z"
+ "updatedAt": "2025-12-10T11:52:24.158Z",
+ "postProcessHash": "19d03322380f1d87112e698bdfb4de1c8b0f4200785500d3733487165ae10930"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.682Z"
+ "updatedAt": "2025-12-10T11:52:24.159Z",
+ "postProcessHash": "150b109c21093007c1237fca7099d38c3158cdbec826cf7f8f6a77887ce9e3c6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.683Z"
+ "updatedAt": "2025-12-10T11:52:24.160Z",
+ "postProcessHash": "cb42bc046988b877c085f2866807a5ad835bc93b6eed9a725f0ba6e246c6b0a7"
}
}
},
"f32801a38faf074c9dbde03f1fb1030bf44e03c201593f6f379686d985e9c10e": {
"6d1eef4c85fcc128e94fe99dc9b6564953b16bd729834a4e791afba9057ba0db": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.679Z"
+ "updatedAt": "2025-12-10T11:52:24.121Z",
+ "postProcessHash": "f82f3b9f4819b8f00a3dd659170e1c7b0c48a7aa742f8a66ef4afc0139ad3857"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.684Z"
+ "updatedAt": "2025-12-10T11:52:24.122Z",
+ "postProcessHash": "6e028fd81749a8b78e18fea4a1415e6f4e64282559be1222a3ce592a6361581c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.684Z"
+ "updatedAt": "2025-12-10T11:52:24.093Z",
+ "postProcessHash": "f56842fd4b7f6150c34a7a4afe5775f9123258319d4e0055d5e6f933929c1da8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.684Z"
+ "updatedAt": "2025-12-10T11:52:24.123Z",
+ "postProcessHash": "dab57df38268477d43d2ff84389996d5c2ed3dc44b661f7e2d8abdb75b07479e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.685Z"
+ "updatedAt": "2025-12-10T11:52:24.123Z",
+ "postProcessHash": "6d64676b54bbf5433eddcadf920cdd796ba0267c433506fdd880bb0cdbb29c4d"
}
}
},
"87ff4cc91434b02ba438e1cbe72cef0eff7c3978e2d88138a3646e71e247cafc": {
"cf023c17eef9ac467806c3fd0a90d11a7192edfa56e695b70b48a6eb8b785a7b": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.683Z"
+ "updatedAt": "2025-12-10T11:52:24.159Z",
+ "postProcessHash": "553ed48bdd3c9e0f534bf7b4b4da55a98a826b199449b9d428954bdc37a5caf2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.683Z"
+ "updatedAt": "2025-12-10T11:52:24.160Z",
+ "postProcessHash": "af933b0740e939243900ab3eba8870843499a521bdae4703f8506107f4a50d56"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.684Z"
+ "updatedAt": "2025-12-10T11:52:24.160Z",
+ "postProcessHash": "a301472a9f1d21ad2fcd4aac984f388b958f38c6c5045748cd865130627bab48"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.684Z"
+ "updatedAt": "2025-12-10T11:52:24.160Z",
+ "postProcessHash": "b17ced86bae69f97b5cd3301a14c4163b8af62056329c94d42977b03690ec433"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.685Z"
+ "updatedAt": "2025-12-10T11:52:24.161Z",
+ "postProcessHash": "0be77462a5c711064d3a418623da9e1b942bc1627c73ee93e47002f3fa2651db"
}
}
},
"2d565d6c7f8b46964dc2caabee46e922c4b4cc9e0eb6ca8f44ff854dd342b39c": {
"b19e63502674606a4e0a8b953c9020f4943803f5efa9e0b6ab989a36a3967061": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.685Z"
+ "updatedAt": "2025-12-10T11:52:24.161Z",
+ "postProcessHash": "40fc4b6a533539e1049860f25bf327828f9db7fd043a3b16c6cea35270e830df"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.686Z"
+ "updatedAt": "2025-12-10T11:52:24.161Z",
+ "postProcessHash": "189ed019bced97ebd3cd1b97567627e9661b03e17593863131e2705fc028d622"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.686Z"
+ "updatedAt": "2025-12-10T11:52:24.162Z",
+ "postProcessHash": "f5ae4f85c571a0d4ae76ba995e9aa77435ab57bbf06a266a698b514ee2a46788"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.689Z"
+ "updatedAt": "2025-12-10T11:52:24.185Z",
+ "postProcessHash": "4d91a2666eb17842d008d9a82e6abdf8e7956d472db6006456020d7d2ea96e11"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.690Z"
+ "updatedAt": "2025-12-10T11:52:24.186Z",
+ "postProcessHash": "39a77f63184a0abb7911dfc661ac2757b4ae7e540ce52257dc82dc468f10c98b"
}
}
},
"4b684beeaa9bd039da86e1015a1cfcfab2ffc77986a426206c82d9ab686be329": {
"ac56724ed5b2b05e8c20bf2f3e81864d52cb4b61c722bfae513a77a9eb2a77b4": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.686Z"
+ "updatedAt": "2025-12-10T11:52:24.161Z",
+ "postProcessHash": "e11046a12e571e2af87d34a77354299374dba0e492485e1ece4eb46ef5037b66"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.686Z"
+ "updatedAt": "2025-12-10T11:52:24.162Z",
+ "postProcessHash": "9527b48182248321d784b3000b67d94d4b571c5985337a1615e209766add2e7a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.687Z"
+ "updatedAt": "2025-12-10T11:52:24.167Z",
+ "postProcessHash": "91fe11ce5d34af9a442e03f7ec31d78d95d8f3e55b8a63b6a3a131e5251402a9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.687Z"
+ "updatedAt": "2025-12-10T11:52:24.167Z",
+ "postProcessHash": "cbe23fc46995aac3083fa943687ad21529df7520f964fa1d263d9037a4d5146a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.688Z"
+ "updatedAt": "2025-12-10T11:52:24.168Z",
+ "postProcessHash": "3421f6e3782e06bdc7f15c9af3835c1afc168404186c5073bd29105cb9902368"
}
}
},
"a1d9198f9ae5b17eeb6019f8868bcaa83f1c4f537349699c90e8430cf0e47ae1": {
"9c709341afa567610de31a8eb9a65f8e3cc9d69c0ca1ec1c1b8505e409738dd3": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.696Z"
+ "updatedAt": "2025-12-10T11:52:24.162Z",
+ "postProcessHash": "08f4977335ec7f1356e7a57dff09e2157cba37e79bd79a77d6eef32174dd3b6a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.698Z"
+ "updatedAt": "2025-12-10T11:52:24.164Z",
+ "postProcessHash": "e9bbe1f4359265b20a67a440a23c8bdb0dfbfb03210843a02fcb81cc82c3d962"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.700Z"
+ "updatedAt": "2025-12-10T11:52:24.170Z",
+ "postProcessHash": "49a0d44cbb3d598094b4f971b0705020e29b73dc423e2104d882c8f252068e36"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.702Z"
+ "updatedAt": "2025-12-10T11:52:24.173Z",
+ "postProcessHash": "a69a96fe1b318ebb446c5e92956d465ffe5e4f1ba3a5cd3faa4e0bdb6a646656"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.716Z"
+ "updatedAt": "2025-12-10T11:52:24.187Z",
+ "postProcessHash": "2f4ee5e9701aa4a4eee3d7f3415ae1c83e2128bb8cc768ee128ca01d20b58878"
}
}
},
"26454d2c1b001cc0f4f13a20500d4e5c658ae93293093d413622e6d5585b5156": {
"1b8f0aeb77d9b72ae7755202669ba0764383cf3b7a4b4b05ace88364eb05ae58": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.687Z"
+ "updatedAt": "2025-12-10T11:52:24.164Z",
+ "postProcessHash": "bd077fcf95b584f5edafcfdfdb18f94bf53f8550b34742703b13a9a01d67c960"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.687Z"
+ "updatedAt": "2025-12-10T11:52:24.165Z",
+ "postProcessHash": "aa460e8e73efd968e86c261698827038993ace86db1024644dfc2cfe9804ac4d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.698Z"
+ "updatedAt": "2025-12-10T11:52:24.166Z",
+ "postProcessHash": "b0b911fdedf4fb3ad312a10b47dda4127553fcacf3afd7c35d3a95057dc4504f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.698Z"
+ "updatedAt": "2025-12-10T11:52:24.166Z",
+ "postProcessHash": "9aa5efb262b67e3172991fceb8d7395bb8836257f62d7545a2b9c4d30be154b1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.715Z"
+ "updatedAt": "2025-12-10T11:52:24.186Z",
+ "postProcessHash": "608a8e15a0b675710c360ff73ebbc4afe00dca0d67178f3e84b530948b0ba139"
}
}
},
"e462ce4a296671366bac28291307f995f51e09055b0f0e3d6defca06e45bba6a": {
"e7a3725e06d1dec863e7de95d42c57cb393224b324c7cf6197f4f8675105a5c6": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.688Z"
+ "updatedAt": "2025-12-10T11:52:24.123Z",
+ "postProcessHash": "1e091c2dc63589be073082f3d836a723fbae3aa294dc17e60d669a570e241dea"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.688Z"
+ "updatedAt": "2025-12-10T11:52:24.183Z",
+ "postProcessHash": "4d7fbc0f2c86b629ac75f9a124a5c01c38b9bd92f304554b5292e84d36f47cb1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.688Z"
+ "updatedAt": "2025-12-10T11:52:24.120Z",
+ "postProcessHash": "2e77687565451c675c2dcd4c1fa8626456235c46e380afbc1d1e0dff967e9d20"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.689Z"
+ "updatedAt": "2025-12-10T11:52:24.120Z",
+ "postProcessHash": "a455422e6dedb4d4eda087a263eefff90c30d165a624f46913205e898f065a46"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.689Z"
+ "updatedAt": "2025-12-10T11:52:24.184Z",
+ "postProcessHash": "fe4a32c0565f6136737423e337e6e0a7c9388b5364a45f1a4357f88db10218e2"
}
}
},
"8abc6cb453e10d70b4ae4b6e2ce590d3ea1384ed7c1da4fc1bd9c048b19a3ef0": {
"c88b07ccc7c3c2092ba2238f878aef513daf55d096325069b99fc1fe3d2aa767": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.690Z"
+ "updatedAt": "2025-12-10T11:52:24.122Z",
+ "postProcessHash": "b8522b096c0caf2176b09956e123bddde784cd44ca4ee7d4a7f9d03000e5cf6f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.690Z"
+ "updatedAt": "2025-12-10T11:52:24.094Z",
+ "postProcessHash": "7370a476572e71c0814a6f43a494517b448cd1c5ade29868501227ef83ef0957"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.691Z"
+ "updatedAt": "2025-12-10T11:52:24.121Z",
+ "postProcessHash": "24a8913f8c829078c217bf4f749b491b3fb003f1ddb6cb09c4b6a9542d8cdf1d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.691Z"
+ "updatedAt": "2025-12-10T11:52:24.121Z",
+ "postProcessHash": "269966da308cefcf4fff5c7875eed6ee929b1e11a5ab736cdefd618512bdb080"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.691Z"
+ "updatedAt": "2025-12-10T11:52:24.093Z",
+ "postProcessHash": "5605594a325ed166e219a8f5ba98e9bd093537937071f604069cbb4a358ceef6"
}
}
},
"6e7da8b2cf58eff0da81adb1302b8c421fd2ad6aa9f8fad9737ce113e89838a8": {
"2adf5b2ace71b41cc497a63d0ab5e3aeaa1b93dc4bb4700bf1d21f6e083a934c": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.691Z"
+ "updatedAt": "2025-12-10T11:52:24.187Z",
+ "postProcessHash": "d12a75b7193628d1acfbc83708a63b4a8ee3635a6d5846932c1db4b8c62fda88"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.692Z"
+ "updatedAt": "2025-12-10T11:52:24.188Z",
+ "postProcessHash": "bd9b0cda491569242ac4e496fec26740b6d856d8d1cfc5a3dbe30f88ffff7e24"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.693Z"
+ "updatedAt": "2025-12-10T11:52:24.189Z",
+ "postProcessHash": "f214b8eda4bf3c684dac0c0fa6a7be395ae428e225e3d0e5feb900a1ab2c46a7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.693Z"
+ "updatedAt": "2025-12-10T11:52:24.190Z",
+ "postProcessHash": "1327d0eec7ea9210947a8f6f7809361568d6b3fb1876a4ec6811bcc7ea9412e0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.694Z"
+ "updatedAt": "2025-12-10T11:52:24.191Z",
+ "postProcessHash": "a56ce642df3285723f5f0c577b02cfb982b29be95de0b7e7cb8501cb6d671b53"
}
}
},
"2165c7cdcb8d3d28c324bd37a72f7c24330e694216a79345eae6a46160d3544b": {
"d1f7dbeae4b66f73029f33c627be84173269b042162639cdbea2f4270e567817": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.692Z"
+ "updatedAt": "2025-12-10T11:52:24.188Z",
+ "postProcessHash": "e32cd53ce692fb5f8ba34f2459d20049f5d318ec8882b21af35418df3af634f5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.692Z"
+ "updatedAt": "2025-12-10T11:52:24.189Z",
+ "postProcessHash": "099f953ffb864c3d8e620b088aab636afb49e61441aee7a5241d29f1dfc62e29"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.693Z"
+ "updatedAt": "2025-12-10T11:52:24.189Z",
+ "postProcessHash": "b79744c2600dd12d74600615e421027f69adeb71b56703b93a8ab94c62544898"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.693Z"
+ "updatedAt": "2025-12-10T11:52:24.190Z",
+ "postProcessHash": "72a69be5579066e1b952c9d1d4310d0f49492f2e4f95e03d5a7fec62c7674e67"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.695Z"
+ "updatedAt": "2025-12-10T11:52:24.191Z",
+ "postProcessHash": "1b57a9c495bb4b05fd58ddf6b3e50fea2c5a81848e6d90e782c426b332cac19d"
}
}
},
@@ -19253,589 +19788,744 @@
},
"156fe8bde4b0bbbe012c425dc140de8dadd8a0f9da889cc8815a652732fa6ee7": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.716Z"
+ "updatedAt": "2025-12-10T11:52:24.207Z",
+ "postProcessHash": "5a5f89e277eb10e92ce82b61c4c62df8bf217d76e06a2e5052606eaebde66e52"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.717Z"
+ "updatedAt": "2025-12-10T11:52:24.155Z",
+ "postProcessHash": "f087c3af8aae048badc2f3c866e86cdaf789daf062728a7ded52d2eb742eb431"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.717Z"
+ "updatedAt": "2025-12-10T11:52:24.202Z",
+ "postProcessHash": "3d8e86bd0dc5a2ecbb1ae9d79aa3a8c5617cb7b44b9ee6f7dbc0505a3ac1f8ac"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.718Z"
+ "updatedAt": "2025-12-10T11:52:24.200Z",
+ "postProcessHash": "b87618ea611aca510659675e7932fb2b891966e070273b026fc32c02f15fdb8a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.718Z"
+ "updatedAt": "2025-12-10T11:52:24.208Z",
+ "postProcessHash": "11f37eecd6dc4a6487b7606ee3a6303462871a059d9a73db21aa9fc7797536ec"
}
}
},
"6892b9a950e0592ad5355b3255d4a5c6b1d51f4cf11c977d1c13d1c9ca89bcf8": {
"317c487b9ac9e03c8d4798b07c7b90f287017f90e5d4667b573b034f69028e02": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.718Z"
+ "updatedAt": "2025-12-10T11:52:24.156Z",
+ "postProcessHash": "c9f41ba7a6a08cab913b7446162606d7ac816d2aecd4a7123da402825c3a8423"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.711Z"
+ "updatedAt": "2025-12-10T11:52:24.155Z",
+ "postProcessHash": "a761b8d2c423badc2f984be4cff78eb82aefcb7bae8b2bad511bc14d3f638cee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.719Z"
+ "updatedAt": "2025-12-10T11:52:24.156Z",
+ "postProcessHash": "90835069a512bbe757399f4541010582ebc647300752d19660100d6d58b258d0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.723Z"
+ "updatedAt": "2025-12-10T11:52:24.156Z",
+ "postProcessHash": "22b016c97f85b8779159c55765f4668135c54192cb32ba6a9407e950e6c27e1e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.723Z"
+ "updatedAt": "2025-12-10T11:52:24.157Z",
+ "postProcessHash": "ace394dea6c9449fc29f0ca91bbfc89c73c516e3331afb5e4ef43afef99271f0"
}
}
},
"69f639a208862a2dd6d5f977e57421fe1147b22653c08cd08b6d14b194aa5b53": {
"54315efa57fac40eee410db7c102cfdc47b8a437620f21c75560d66cf81cc71c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.718Z"
+ "updatedAt": "2025-12-10T11:52:24.157Z",
+ "postProcessHash": "10676ed92e52a524b453b9e216ee1a61de505dc7bf36f10a28f3e36671153ae1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.720Z"
+ "updatedAt": "2025-12-10T11:52:24.176Z",
+ "postProcessHash": "4322745ec66e7c5e71301f2a04720381493510bcc57a1225d93f9470bc84fa81"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.720Z"
+ "updatedAt": "2025-12-10T11:52:24.177Z",
+ "postProcessHash": "32c06d1a629be1db0ebb6c3e19c4513f5ac89162026116ab183017797c7ca95c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.723Z"
+ "updatedAt": "2025-12-10T11:52:24.218Z",
+ "postProcessHash": "be811d70553f27690e46ac845738205b07045a0532642a83485c5d3d1d1fdd00"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.726Z"
+ "updatedAt": "2025-12-10T11:52:24.224Z",
+ "postProcessHash": "7d5d87df2a8f7fe8b0d7ef2f17693e81c5a28eb2a593c05c1d132640778e38b1"
}
}
},
"1d1399403aa96d672e42c995388b30613e888c51ab5885faaad949daf7e7f9cf": {
"18403644c62f1914e9b315b07fd4b5bb1ad4e8828af0111731e7198643a07281": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.719Z"
+ "updatedAt": "2025-12-10T11:52:24.209Z",
+ "postProcessHash": "134943c986c3805bf1cae807093946ac8e50696b24f4387ae85d40ac0b900730"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.730Z"
+ "updatedAt": "2025-12-10T11:52:24.229Z",
+ "postProcessHash": "e899e489aef36381a076f394898a88bc9c204376dd422171a2581f03b149f30f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.731Z"
+ "updatedAt": "2025-12-10T11:52:24.231Z",
+ "postProcessHash": "b247cf36ed4ce608b32450e1f7ef70612c62b41db75b9bfebe4e8518ef230e74"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.732Z"
+ "updatedAt": "2025-12-10T11:52:24.232Z",
+ "postProcessHash": "c966ef13144452240a58d17424e2d4855c6948312edd3a95dda0e49b98d6afc7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.733Z"
+ "updatedAt": "2025-12-10T11:52:24.233Z",
+ "postProcessHash": "c3009677e9efce940bbbf4646394795066b31ff353425e9feff0cae4ba0b34ce"
}
}
},
"0d601b0eba9cde4d40efc6c17ef7a41b49376f05a22899c39ebdbdfae64532ef": {
"94668d977945d288958fefe4b5975d6ec53d367b0942d1aadf3ddea672713ecb": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.697Z"
+ "updatedAt": "2025-12-10T11:52:24.162Z",
+ "postProcessHash": "d1d834e674c8a8dea78a9f53af59bc48316feab1be52696631110ff6da1fea85"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.697Z"
+ "updatedAt": "2025-12-10T11:52:24.163Z",
+ "postProcessHash": "fe92fbd14d3b8c6ded8919a840fb20420f26c7cf38bc53340897eaacf4a2ecd5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.699Z"
+ "updatedAt": "2025-12-10T11:52:24.168Z",
+ "postProcessHash": "c4fd6b4be930fc36e83954a592d3f734ffbdfc4c2a8ee93e6fdc512c11a4fa75"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.699Z"
+ "updatedAt": "2025-12-10T11:52:24.169Z",
+ "postProcessHash": "9ddb6a829a015552124088f9a155ec3bee9848dcc6920ab3ce71371ea9015433"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.701Z"
+ "updatedAt": "2025-12-10T11:52:24.172Z",
+ "postProcessHash": "f2cc2c488f2e6ace99ad9861f9b4d2a8d4402b4a46682a3f954a3bcae19db64a"
}
}
},
"00fc545a66f1da3c59026e74b0c69a597bec1d7a799f4b9a268c18ac1d48ba74": {
"695abf0e777354c4c92c798700f4903b0df6e591ebb5be83b96bd4f775c60c75": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.697Z"
+ "updatedAt": "2025-12-10T11:52:24.163Z",
+ "postProcessHash": "238e3ea03528833651ef1861711ae4bda072a78d49342808b6e0368a2690efb9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.697Z"
+ "updatedAt": "2025-12-10T11:52:24.164Z",
+ "postProcessHash": "aaccda771849e5040ad0b427933c31e039451e8c2e9a174de32c257e8700f258"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.698Z"
+ "updatedAt": "2025-12-10T11:52:24.165Z",
+ "postProcessHash": "9f1cb2c7ec8f1cd4c509007fcdb9bfefb68f874c9af213733946d3de3dd798e8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.700Z"
+ "updatedAt": "2025-12-10T11:52:24.170Z",
+ "postProcessHash": "4419e0e086cb33a6b5ebff3c6040ffd799f9f1fd2da16215444c18e131dc4946"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.714Z"
+ "updatedAt": "2025-12-10T11:52:24.184Z",
+ "postProcessHash": "ef83c3689a41f697ab8c8a2873110ce82ecc21fa761b3949b2ca2b0b7c56e5ba"
}
}
},
"326cac5822a60580affc75e3e07581177acbe435f0a33364df7e78f1e4a14093": {
"2a1568eab4377e4e930b99734f26b39156f5a2f8d369329b9a2d3d8af01b67ec": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.699Z"
+ "updatedAt": "2025-12-10T11:52:24.167Z",
+ "postProcessHash": "18ed59959100184d97bb839db33a14d8c03f999d56266af15bcc31fbe1a285ce"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.701Z"
+ "updatedAt": "2025-12-10T11:52:24.171Z",
+ "postProcessHash": "830b0da06afae8522a349bf8a02cf078752142c93dff51966500a464c28e7f8a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.702Z"
+ "updatedAt": "2025-12-10T11:52:24.174Z",
+ "postProcessHash": "7eff6b57cf5139ad20fa328db3b725d36b2e3f23eeebafa3e00bbffda5f4f6f4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.704Z"
+ "updatedAt": "2025-12-10T11:52:24.175Z",
+ "postProcessHash": "274432c52213c040b005edec62b635fa792612b3a602a3bb1f69ddaeb1ee3f08"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.714Z"
+ "updatedAt": "2025-12-10T11:52:24.185Z",
+ "postProcessHash": "16d955e574f9b73094266eeed79b260537dfeea8641ea9062ce368b46b6e132b"
}
}
},
"bba44f0d0d9dc68de21cba56c097fc0be94555ef03ca4d25a1f48d3f2697f939": {
"5ee7701472e46277b2bf368ba8a70d8e3d9af0a4463372249b43be0f228bd23f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.700Z"
+ "updatedAt": "2025-12-10T11:52:24.171Z",
+ "postProcessHash": "bcafd2a93586e4c5692fbcb160b0595dbfb8b880adcd7040143a67f256d444a5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.701Z"
+ "updatedAt": "2025-12-10T11:52:24.172Z",
+ "postProcessHash": "480c6e50098c8a82029983aa3085f01e79dd6c25a7b2120d6030483fb9ff60ca"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.701Z"
+ "updatedAt": "2025-12-10T11:52:24.173Z",
+ "postProcessHash": "1c0e77e185d333ff12c09d37ddebd66203dea1ad15e551a9b601f9ac095d6286"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.704Z"
+ "updatedAt": "2025-12-10T11:52:24.175Z",
+ "postProcessHash": "5d976e34ecf6fa61f38ac3cda9e3b822161bdff6909be9c755556082f8094e2d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.709Z"
+ "updatedAt": "2025-12-10T11:52:24.183Z",
+ "postProcessHash": "81c59fb7a5c15f8a70e63b7812041100922240878b231d2b4aa3e21b211b63cd"
}
}
},
"e49ff0b3e4f307080b379d73e28fcf834e642ad19d830c6bf56d1a1dfe12d7dc": {
"3bb489f048a7a101de4aad68733f54f0bf9c18ed179ed1b992e5334d539c7557": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.702Z"
+ "updatedAt": "2025-12-10T11:52:24.174Z",
+ "postProcessHash": "436a986d50dc9512231d88c6e1ee09e13cc117c707513da4fac2cae25060769c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.704Z"
+ "updatedAt": "2025-12-10T11:52:24.177Z",
+ "postProcessHash": "9755da016bd2789bce96eb903c604d07fd85cc88e047662e17543269b25600b2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.704Z"
+ "updatedAt": "2025-12-10T11:52:24.178Z",
+ "postProcessHash": "7a06b25517c52c962568163bed884772e2ca604391ac339878d6991f65fcaae3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.707Z"
+ "updatedAt": "2025-12-10T11:52:24.180Z",
+ "postProcessHash": "d050fd0c15ed414cd5b8a4753a7ad9c9f4488726cfbea0f72ece6e54afd37066"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.708Z"
+ "updatedAt": "2025-12-10T11:52:24.181Z",
+ "postProcessHash": "2dcc9185df4528c825ba899294d0f93c5a7cc64fb8217c90e72462a2de7db1ba"
}
}
},
"1c9166eb5e40634b3a16c6502ddb63f6abc344654b638318249904401f79e98e": {
"96520ec466dbde5f957a8e7c3771f07f1b208af9b9459ad375e9f3f4fafbc20d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.705Z"
+ "updatedAt": "2025-12-10T11:52:24.178Z",
+ "postProcessHash": "5a846bb3342329a136c97ebccc35dc4a4b14cea2003bbb49b62fc244a25c05d9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.705Z"
+ "updatedAt": "2025-12-10T11:52:24.179Z",
+ "postProcessHash": "e6cb216df0bcf9658911d2a3e654ce3ee622ea88f74d4e36b9bbb57a9b7859b9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.706Z"
+ "updatedAt": "2025-12-10T11:52:24.179Z",
+ "postProcessHash": "f8412f6e886c7af87d3371eb02dd30d1575453030608bb5d2d953f95802f8e28"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.707Z"
+ "updatedAt": "2025-12-10T11:52:24.180Z",
+ "postProcessHash": "3c645cc4c4a536ef4ece92783020429450a9818141f142eff5ed97b159638966"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.707Z"
+ "updatedAt": "2025-12-10T11:52:24.180Z",
+ "postProcessHash": "c0862baa4bceecdbd244b0e2652465581c76c990993c2967023ec9fc1565b10f"
}
}
},
"747a695fe1a652528f0da5b8367b182efb1c74da96afc41f397f6f2df6f763c4": {
"1823e2fffbb1083bd35225ef599563e8d2a278195144f97ca6d2be4cf8029a99": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.710Z"
+ "updatedAt": "2025-12-10T11:52:24.211Z",
+ "postProcessHash": "8435298d8c698c1c3e3750ade42963092145ac0a0d692af0524f363d628d800a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.711Z"
+ "updatedAt": "2025-12-10T11:52:24.215Z",
+ "postProcessHash": "349e9b9f0688b0dd33b9dd30bc915ca36950a8e93aad30eecff08b6ff12d4c7c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.711Z"
+ "updatedAt": "2025-12-10T11:52:24.215Z",
+ "postProcessHash": "c35ff99d465946a659a9e042f6b6db14048d012b32151ba415c9a640fad78e6b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.713Z"
+ "updatedAt": "2025-12-10T11:52:24.219Z",
+ "postProcessHash": "64e50830bc5c91b274578955716b7b75c4bf4d6ce3aa0b00fd873c2ccb3711b9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.713Z"
+ "updatedAt": "2025-12-10T11:52:24.220Z",
+ "postProcessHash": "09fcd4e6160c58158e1ab2eaad7e20ec0f219e70adc13ffb47b4d2855a5d608c"
}
}
},
"8b9cfe7ccf110376dc58c5969f21b2c7642dbbea16a3cadbfc690d823039419d": {
"902875d24a9158c6e2e82e8cdc8c8e93c071a7f2bb44dc617c3ce24da387f96d": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.738Z"
+ "updatedAt": "2025-12-10T11:52:24.290Z",
+ "postProcessHash": "700762a06e132b0c7e4b1abc1725e77426dfebb83561dcf12ed974cfbddbef04"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.741Z"
+ "updatedAt": "2025-12-10T11:52:24.296Z",
+ "postProcessHash": "77fe2fdef84bb97c2a0fadd40edeb05a66a1aa329b62c1c55e2700ddc89156a7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.744Z"
+ "updatedAt": "2025-12-10T11:52:24.299Z",
+ "postProcessHash": "7e526689c414a800878d389f85476a29735023f0b7f466d183db02726d6da6ff"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.753Z"
+ "updatedAt": "2025-12-10T11:52:24.302Z",
+ "postProcessHash": "4b24becdf19698d2e7c1b3fe623a5a7e8a3a34fa9546367e254a38ce551e7207"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.754Z"
+ "updatedAt": "2025-12-10T11:52:24.302Z",
+ "postProcessHash": "45a223b07be80205c0e0705d61b37d0f5ddc3b5754fc8f0b42025e8a45e43821"
}
}
},
"48197955a932632c6aebf40748e3542f7b142f5be07298d1ac034b00f71a84bf": {
"6e89d0df3a44d520515f05241a594271053d70303f8b912f95aa1aa80ed0562a": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.738Z"
+ "updatedAt": "2025-12-10T11:52:24.290Z",
+ "postProcessHash": "1e9d697814242db221064c771fd3c37e2d3b87b682abdbf4e478ef4c6dc3112d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.739Z"
+ "updatedAt": "2025-12-10T11:52:24.291Z",
+ "postProcessHash": "4c183df9bdc8b78e3b7a7c157eb4f4f7cf16b2106d201f2407f5ae61f1665656"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.742Z"
+ "updatedAt": "2025-12-10T11:52:24.298Z",
+ "postProcessHash": "d6cd10b72b167cb5027ffba7053cd4784c093c076f7fa7dade66ba122b426423"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.749Z"
+ "updatedAt": "2025-12-10T11:52:24.300Z",
+ "postProcessHash": "9ec03634fdbcf36ed462326c773a5afde58965c6dd54716153b5fdfb9e06eca5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.754Z"
+ "updatedAt": "2025-12-10T11:52:24.303Z",
+ "postProcessHash": "7004adfa8b9095e23942bebc60572440efb2c4fb15541733efce2b83b9e32441"
}
}
},
"b159277c6660e20e2300ca5f33121683bcc979431ac8b5c0c2177f3c68273c2a": {
"7d641bb2a87f9221685890de924abce1ee484add81a6bcfc6138aec3a1d65352": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.719Z"
+ "updatedAt": "2025-12-10T11:52:24.175Z",
+ "postProcessHash": "65a286189bfd0a72b8fef8629cf3a6dfc4c93dae4a1d6ba88bd498bf8c6573e1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.721Z"
+ "updatedAt": "2025-12-10T11:52:24.210Z",
+ "postProcessHash": "84ce27886c46c76d2f0de02f7bfa07066e4dfcab1582959dcdfa27d5c4e2a6de"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.721Z"
+ "updatedAt": "2025-12-10T11:52:24.211Z",
+ "postProcessHash": "dd63b42483040938624d9a716604c0d25275cd7285b4a7f277a107824ab3823d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.725Z"
+ "updatedAt": "2025-12-10T11:52:24.222Z",
+ "postProcessHash": "e0caf8dea8b6ed2c0bf86786bf23d7fd4d4f0632d60a0eb97b54abc153dd6da1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.725Z"
+ "updatedAt": "2025-12-10T11:52:24.223Z",
+ "postProcessHash": "6e01cc66d0d62ff5b621051e56692a10cfb6d3c4a739b0d3a7a74c830a10362f"
}
}
},
"0ecfc3379304358418602b77703df60cba9a0c61f7eaa1a7f5b512335e7c63c7": {
"ba06f5b99fcdf530d8268246cafd1d9a851907d931c8d1cc9aecbc61a7320168": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.719Z"
+ "updatedAt": "2025-12-10T11:52:24.176Z",
+ "postProcessHash": "b185723ceb429d6d8da964e6c6f9eba7c87c93fb12bd76015eded2056e8d57d1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.720Z"
+ "updatedAt": "2025-12-10T11:52:24.176Z",
+ "postProcessHash": "eb40bd6da810834caccba1c414cd72b76977eb85ee2e47751dd3fda469c3ca37"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.723Z"
+ "updatedAt": "2025-12-10T11:52:24.219Z",
+ "postProcessHash": "2f4c53807370d039ba9666887edc2484bc6138045b33da967349e5cabb7341e8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.724Z"
+ "updatedAt": "2025-12-10T11:52:24.221Z",
+ "postProcessHash": "d8ba78d47dfcb6aa2da75dfa52d92a0c3c56fe50941394aff28ca24f21f5345e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.728Z"
+ "updatedAt": "2025-12-10T11:52:24.227Z",
+ "postProcessHash": "cd67f396a1227757fee354f8ab64dcd27ae3db2ab48910be1445eed4272ef083"
}
}
},
"069da1a39ed289f7c5cf90cf0fb0438cf9101186ddddf4d225b2ba54aa20ad0c": {
"0abdf476dc17f4de0f956fc803725e099d7a7076bc559354d8dc7be594a742c1": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.720Z"
+ "updatedAt": "2025-12-10T11:52:24.177Z",
+ "postProcessHash": "d82ef6b200e33f8e92d3d95db605dbc894b23a56a9499b31c35baa95d58c5ef6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.721Z"
+ "updatedAt": "2025-12-10T11:52:24.215Z",
+ "postProcessHash": "9222fd09df8459f28d0548305ac1329c4b82882a74c74a8e5ec8ca39f6ce70c6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.725Z"
+ "updatedAt": "2025-12-10T11:52:24.223Z",
+ "postProcessHash": "0f62aa86885169dab409d8471b270daafbdfe19dc90d8b23b55e689371ad2be2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.726Z"
+ "updatedAt": "2025-12-10T11:52:24.224Z",
+ "postProcessHash": "7ed22964fc0b2065c3f9b64823e16bdad4bafb1b23941a4a6c4b4237abe6da8c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.727Z"
+ "updatedAt": "2025-12-10T11:52:24.224Z",
+ "postProcessHash": "27f033eca677dbfde830531992c9afd537be044d639aeb8e10d9808095cc6a87"
}
}
},
"53ac631c603ef975a72a62f7f82719559f853303e731c0e04cb46fe8c3aaa679": {
"d20babdb5079122b8210a9c5e528f1379b80476d4a074542050f3194b61f5d5f": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.721Z"
+ "updatedAt": "2025-12-10T11:52:24.215Z",
+ "postProcessHash": "34c7131c8f193ffcfe7523dde727c1adcecae8a49ad0da9f647c204a51b9f76c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.722Z"
+ "updatedAt": "2025-12-10T11:52:24.217Z",
+ "postProcessHash": "01a284c1d778b8fec1364c782f9759fc250d124a6823db1f3682c6e60ab90cee"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.722Z"
+ "updatedAt": "2025-12-10T11:52:24.217Z",
+ "postProcessHash": "64ed3c18cda3c5b8603f8a30631ce3e3b68f8f5cf99777c6246788a062de6b87"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.724Z"
+ "updatedAt": "2025-12-10T11:52:24.221Z",
+ "postProcessHash": "4c3087019f875adca6e74c9b253d01462499c92efcf30760967e491869128dfb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.725Z"
+ "updatedAt": "2025-12-10T11:52:24.222Z",
+ "postProcessHash": "8b6fe45991082608343d77ac3fb27fecc444e8a7172f53bae70eb545f0c38888"
}
}
},
"9d3c7deddfdd43eca9b6194ff3dd6901402e2222849b38f539199638a93db726": {
"865d45e058ee2dc074b3d79d51a21a127d1bbd3af4b958bcbdd3d149a3f10938": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.722Z"
+ "updatedAt": "2025-12-10T11:52:24.216Z",
+ "postProcessHash": "437c0c24194ad84a7ccac44dc660942265201be0639cb90db3f4f8f437645765"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.723Z"
+ "updatedAt": "2025-12-10T11:52:24.219Z",
+ "postProcessHash": "714adf2ce70e9b3acba35e56e1f41742327b88999ef12f4b4b025d97a44ce1f3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.725Z"
+ "updatedAt": "2025-12-10T11:52:24.223Z",
+ "postProcessHash": "3175461bc8fa5b4b173d89bc7ae52f1c7a9bdbcf03403686cf79ffc6a5e4c5a6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.727Z"
+ "updatedAt": "2025-12-10T11:52:24.224Z",
+ "postProcessHash": "1dbd1e2ee07b375baf374f7ae5d87fc186a8e27e6201c3eda50c3fe2c8623d11"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.727Z"
+ "updatedAt": "2025-12-10T11:52:24.225Z",
+ "postProcessHash": "fd07b50f0a7c297c37a1d7c1ba154fd00a96d5397b714c2ff849021e0831c845"
}
}
},
"b3eb6d0e363a1f6f64a0cec10e71cec22344b3f85a176495cdd7982fef2057f5": {
"991a44acaa62a65c1c415456b9ffb0cc6939e15ae31538c94e112acf05ecb7a8": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.722Z"
+ "updatedAt": "2025-12-10T11:52:24.217Z",
+ "postProcessHash": "194133ef44e0c03312a773cb5c53ad951b4afa5bab55b7d4eaafe76747cc8b54"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.724Z"
+ "updatedAt": "2025-12-10T11:52:24.220Z",
+ "postProcessHash": "605e638adaacb9822bb1b3a9e7fab0d89d44e6059485f11f9504a210af2b6d4e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.724Z"
+ "updatedAt": "2025-12-10T11:52:24.221Z",
+ "postProcessHash": "44c5c18ca77d81a0be94bfe49fd6b427ed9a0d3d8c6995782c18d4a5689ea29b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.728Z"
+ "updatedAt": "2025-12-10T11:52:24.226Z",
+ "postProcessHash": "4b2391ca9af528893a6b40f5a9a576c87ac5726da2be8f4ab44c6f2ce2ef5590"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.728Z"
+ "updatedAt": "2025-12-10T11:52:24.226Z",
+ "postProcessHash": "2a17ea9c2590f151fa90e8033a5c2f16b12fbe1cc36169cc9f630b836ab3f41e"
}
}
},
"8e36547f1a0d86cedcb72f9b1cecbc5e3a73194b97db3c4ddfc4e0d8554f3dc8": {
"4203bc1215f48a0c9c795abdaca9d0f5c407b5e76f416df31100a8533b017930": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.739Z"
+ "updatedAt": "2025-12-10T11:52:24.193Z",
+ "postProcessHash": "cfb402a2134feca26cfba40db4df8ece3d4c5b8491224fe506f3c67a7dc53c37"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.739Z"
+ "updatedAt": "2025-12-10T11:52:24.198Z",
+ "postProcessHash": "b7a2b2c0d7e0a087efee3a3df2c79bcb490b0976b5b934344b74bd88e600dfbf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.740Z"
+ "updatedAt": "2025-12-10T11:52:24.202Z",
+ "postProcessHash": "dca9db78277fc95b354ef56eaea554c68240b4ab1c34025bf24cc1adb352292d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.740Z"
+ "updatedAt": "2025-12-10T11:52:24.208Z",
+ "postProcessHash": "52e8ef8e33983fa8c75a63a8c34ae35b896487efbaec54dbdd92aaad3d68db18"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.740Z"
+ "updatedAt": "2025-12-10T11:52:24.198Z",
+ "postProcessHash": "6fef88291b4e67f7c96259984330ca2faed810fadf235be29593bb8905e29ca1"
}
}
},
"8180a9bbc95f7896a5b8bec9f5cb42b24230107ac8c030a2418c05bd03a1e963": {
"643911c6b2d8590b28a2c61ba98ceb834490af772fd9e67ed57363525875d8c8": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.728Z"
+ "updatedAt": "2025-12-10T11:52:24.227Z",
+ "postProcessHash": "e7615d1dfaef5c15114af7477c8d4ef2b132a7cda9b6e8b4d90c79ae4820d3a9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.731Z"
+ "updatedAt": "2025-12-10T11:52:24.201Z",
+ "postProcessHash": "7129fe980f9b29e0589a3d8053283b32b1ad01f1b5c488e0987ee1249b434fc9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.732Z"
+ "updatedAt": "2025-12-10T11:52:24.232Z",
+ "postProcessHash": "b6ab82d5f864e3b1a782648e82b7dd5ea5953dc0b646c762fc05d5c35482a2d7"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.733Z"
+ "updatedAt": "2025-12-10T11:52:24.233Z",
+ "postProcessHash": "d3bae98dbb3e3b969fda103063a6cda2312cd057e7d01cdcc16ba65bed52196a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.734Z"
+ "updatedAt": "2025-12-10T11:52:24.305Z",
+ "postProcessHash": "1d37ea4cc36f6f92809d894f94c1b3a5e85943e1152963b9d5bc7a1d64ca9c0d"
}
}
},
"f98e46975001dd8e6ac37f39c2cb60146988f7a6fc5ea6d91dacc2b2a6aee65b": {
"f2c0ed195827cf3c861533cf172add292ebfdde1439d54db15e4327fb136d964": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.729Z"
+ "updatedAt": "2025-12-10T11:52:24.228Z",
+ "postProcessHash": "a3acf3b3e51f00debb9edf25713dc36e462e25e738488190906c70be70e5fe84"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.729Z"
+ "updatedAt": "2025-12-10T11:52:24.199Z",
+ "postProcessHash": "61575f1ed9f241e866fe4fa8838bda4b858722993e34f81ac4232036d489f054"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.730Z"
+ "updatedAt": "2025-12-10T11:52:24.206Z",
+ "postProcessHash": "658540c105a84fb7e2cc41633cf0a479620944d3928e7ae6e6f65ce6d0790827"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.732Z"
+ "updatedAt": "2025-12-10T11:52:24.194Z",
+ "postProcessHash": "d32324073360de58f06c75c375babaf10fb3aadd4391da883b5393a10dd9ff8a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.733Z"
+ "updatedAt": "2025-12-10T11:52:24.207Z",
+ "postProcessHash": "5d67eb1cc3363f20f5bf904ee9a020d9c06c31f4f5678f0e3976b147dcabcfae"
}
}
},
"e247f1286a55273489e9c0ab9dd4b6bea9e45c5c4fadfa4254422432c04c0ef1": {
"a261348212f8e49673b8e288bf69029ab33d3f8091ac35389379951d3d8b3eff": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.729Z"
+ "updatedAt": "2025-12-10T11:52:24.228Z",
+ "postProcessHash": "84ed87498942198e569fcb63fc6fbd07feff8049359ad46c9bad0d3df1bc2463"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.730Z"
+ "updatedAt": "2025-12-10T11:52:24.199Z",
+ "postProcessHash": "59537579a892f9f6d51c0fb5927f678a21fb18517cfe62b35fec3096257d72a2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.731Z"
+ "updatedAt": "2025-12-10T11:52:24.230Z",
+ "postProcessHash": "7a46c698b35aeaf6607c1aad642153fefcf24af1dedfc99ad8ee96bc9f0d3e1e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.731Z"
+ "updatedAt": "2025-12-10T11:52:24.231Z",
+ "postProcessHash": "49c527071e76c99b05a814d9ce5952e2a180095b0ec5f0d63662bc0a1082425d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.733Z"
+ "updatedAt": "2025-12-10T11:52:24.197Z",
+ "postProcessHash": "d22c8417d7845b985b948d8854bf2178ddafb6213c980cfaada74a4ca420015d"
}
}
},
"346045a2e994efecaf334fde268ae3a8bb646b432d6e9ba14fe49381e26a90d3": {
"61d29ec29a2d49236cc43f8c06cbe6187ff7d578dcef86429c07f496e593ac38": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.757Z"
+ "updatedAt": "2025-12-10T11:52:24.289Z",
+ "postProcessHash": "5be0891f578b9a0c6ffbde7a16b9c9419852445741c0e343c19fa1c7bcfce59c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.760Z"
+ "updatedAt": "2025-12-10T11:52:24.197Z",
+ "postProcessHash": "e3fdbf9680bd6bb943fffc538e7a02b03166151c42c6bc8b61952ca4a9764e14"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.760Z"
+ "updatedAt": "2025-12-10T11:52:24.276Z",
+ "postProcessHash": "8836dd878be5145a70ba47e0fca036f519e90cac9f615c92c67954f2fb570b87"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.760Z"
+ "updatedAt": "2025-12-10T11:52:24.270Z",
+ "postProcessHash": "0c3bed403baadee7058717c3248343401dce5a59a11b77eeb84b07fce716fce5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.761Z"
+ "updatedAt": "2025-12-10T11:52:24.293Z",
+ "postProcessHash": "8e34688ffcbc5cb583fa9cf1c225291653056a7ae58ac28b4aa94a09a2db8a89"
}
}
},
"fe2b7810edeea49c68436b3b1d5176bf9a4164f032b96095dbcfbe2ff02f66d1": {
"2061483ed9920a3be0aed2e4d8b81cba8b4e6d63f59382ee8c979f8262a017df": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.758Z"
+ "updatedAt": "2025-12-10T11:52:24.291Z",
+ "postProcessHash": "c61d778acb31ee229737ef6f9b01d58421fdfe775bd9c90ecca5fad0e4bf042a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.762Z"
+ "updatedAt": "2025-12-10T11:52:24.294Z",
+ "postProcessHash": "25bd063da9866bada30b301fe345099bb9371e18b31aa519e56760a6e8e3601e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.766Z"
+ "updatedAt": "2025-12-10T11:52:24.315Z",
+ "postProcessHash": "37c05fb65a0d4b5d1324d78089c925c52793ab7e175a5f962190ef3868deda2c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.768Z"
+ "updatedAt": "2025-12-10T11:52:24.323Z",
+ "postProcessHash": "a08a010797c9b97bf874ddd627bae64fce4ad2b045fbc3c33f4f700325ec388d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.769Z"
+ "updatedAt": "2025-12-10T11:52:24.324Z",
+ "postProcessHash": "bee2c64eb2320e6a53a7f7890d91e950d57c931296071a5fdd32bcd12163d175"
}
}
},
"f7aea9a9182c1729054562ad0c00ee58bf4f17c424040125f39b02819c0b44b3": {
"316b8a9ef7f76cc69138d51c6df309057f09c411d7589737b4eab14d5761e486": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.758Z"
+ "updatedAt": "2025-12-10T11:52:24.292Z",
+ "postProcessHash": "38555e00813af4e4e3abeef01a188329bb84f7f49d2eaad9e741cef770472f04"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.765Z"
+ "updatedAt": "2025-12-10T11:52:24.313Z",
+ "postProcessHash": "b154935e5671491c77bd4393d33f4894da5ecb0aef7ff771fa34552a9d44fc6f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.765Z"
+ "updatedAt": "2025-12-10T11:52:24.313Z",
+ "postProcessHash": "249a01468af6067cf7f0bc0847dd5ef767e625380736a3b4acdac11957d10d25"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.766Z"
+ "updatedAt": "2025-12-10T11:52:24.313Z",
+ "postProcessHash": "3a87357e096678dace2e8382ccbfa548d9d62a439deaa364e43f26bb3a09caa0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.771Z"
+ "updatedAt": "2025-12-10T11:52:24.338Z",
+ "postProcessHash": "56e9b0c4a90fcb4a8e7d301880a786e7c41f97adaf4fb47529e328cbc875a183"
}
}
},
"5f5997b275f1c599151c489f9b15009fd4ba196610a62f01f794d6caab46aa55": {
"c24beacc906db64559b27b9adcd476a897255b8bbeccf67a00f83cbcb3a46c54": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.758Z"
+ "updatedAt": "2025-12-10T11:52:24.272Z",
+ "postProcessHash": "626e7635a0e2dee55aa8a7177ea846f741d13a90b9a60e71deb0b0256b5970a7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.761Z"
+ "updatedAt": "2025-12-10T11:52:24.289Z",
+ "postProcessHash": "66d3242666a45b402297a9266d9c635aeea8b87c8d396fb26c435af8cc60ba8b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.763Z"
+ "updatedAt": "2025-12-10T11:52:24.295Z",
+ "postProcessHash": "0a8249bf767adebb3fc820b0c26176d745c3af0771bb5182fcd9347a2d0749f3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.763Z"
+ "updatedAt": "2025-12-10T11:52:24.296Z",
+ "postProcessHash": "390d25ecb5920ff7cc5b22a5056ac1a1054d414313f4d3e91e5d10924426a4db"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.764Z"
+ "updatedAt": "2025-12-10T11:52:24.290Z",
+ "postProcessHash": "7d933ba5c7ac6b3b4cf59c3091eff407c906aa0d8a562f20ee4f76b8d2af328f"
}
}
},
"c731cd9fd88adbc87e9b2d70eb31976cb73b472de9b4b00dc6a080b9306fef63": {
"c483c26bd6c51c8315fe08b0c30a4e8bc1380568574efcac32e56876e4e0b8dd": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.759Z"
+ "updatedAt": "2025-12-10T11:52:24.292Z",
+ "postProcessHash": "b58612e2749708a03972f8580c43c66c4675be666670982aaa00269839e2231f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.766Z"
+ "updatedAt": "2025-12-10T11:52:24.314Z",
+ "postProcessHash": "44d65d11663fcf63cd4873def2424bda35fb3a1c252389fbcbe34f05c2a8ed72"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.767Z"
+ "updatedAt": "2025-12-10T11:52:24.316Z",
+ "postProcessHash": "856bdc32a49a1b382d61f5fca965e3181a9749a68924f351acd1a001cf048752"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.767Z"
+ "updatedAt": "2025-12-10T11:52:24.316Z",
+ "postProcessHash": "3dc40afe11fbd3a5e0359b12ae1b61e9b50ce11db23051fbf5992d107258985c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.768Z"
+ "updatedAt": "2025-12-10T11:52:24.268Z",
+ "postProcessHash": "2e7112ab4fe7c14886964ecc950146105d558a201ffa7cb50ced2b5259bb6ea0"
}
}
},
"44698db2453189a1b3a005a827421e7beff0aec857e7491e7b73d8e6e3bc8260": {
"80efeb3f0c445a232aaf22475e008c275df259e143fb4a6b24c8655a6774c74c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.759Z"
+ "updatedAt": "2025-12-10T11:52:24.292Z",
+ "postProcessHash": "0916935e0c9c9ab0face3735bf1a70f7df2f173ab0d1c5170f7653dcafd73c4e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.761Z"
+ "updatedAt": "2025-12-10T11:52:24.293Z",
+ "postProcessHash": "1ea2bc5326b95bd21688e9e22de73c380d0e266280ec4f147e32e20d8f446ae9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.762Z"
+ "updatedAt": "2025-12-10T11:52:24.293Z",
+ "postProcessHash": "72fefb2cba0241ababb90e236b60ad66e2f32ba71689ffe3c5fa27f3713773d4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.762Z"
+ "updatedAt": "2025-12-10T11:52:24.293Z",
+ "postProcessHash": "5b7647e649e7e2702ee897752f7cedcf63e5afa59ff7f9900230187bd7d73ef5"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.771Z"
+ "updatedAt": "2025-12-10T11:52:24.296Z",
+ "postProcessHash": "7427fd034e26c3f847eb473658395f897c0647fbde862d11f6595fe659b11d6c"
}
}
},
"9a17e6626cf6e71912afddfea52348ac692a08295d63a4d9bb1b520e59ac96eb": {
"199de2894f4bbc53237fd32b9ccf45e2b72fdabe64fadf8130341538d83e8369": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.740Z"
+ "updatedAt": "2025-12-10T11:52:24.227Z",
+ "postProcessHash": "aeacc637370ce44fe0ac84a658e375c1c4a5e7d520f0287a185df0723924a2f5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.744Z"
+ "updatedAt": "2025-12-10T11:52:24.229Z",
+ "postProcessHash": "1868f2902f3df3a647fcd5acce9f30007a02868f958bf2e6e2043b4d754ec1b6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.746Z"
+ "updatedAt": "2025-12-10T11:52:24.230Z",
+ "postProcessHash": "6832d261a3875b4ab581f25bdea74b51f9caa73379089468cc1d49ef3eb4d5f2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.750Z"
+ "updatedAt": "2025-12-10T11:52:24.203Z",
+ "postProcessHash": "c9da6b50632ca9a527cb8290cf455ea25e3d1b6df810de48c40ad0a6b15003c7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.754Z"
+ "updatedAt": "2025-12-10T11:52:24.303Z",
+ "postProcessHash": "eb560e214c312cd98f0257b439aeb29be26cd1f2d4b1ffced938fb3c146f93db"
}
}
},
"3a43c282741f0903aefc8dc6553e7fc0893b32f73d6355cae8e7a29dee808185": {
"7d179de0710755cb9f7237ab9372586677599148fd8c121bbd184926f66bbd69": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.741Z"
+ "updatedAt": "2025-12-10T11:52:24.200Z",
+ "postProcessHash": "20a4ed3b7be2291183a8caf1f4ca7efa368e16584d78411405255e73bf327233"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.741Z"
+ "updatedAt": "2025-12-10T11:52:24.228Z",
+ "postProcessHash": "7962f9deff38b75efc8348634200c12891be26b60b8608f0e0ad60d12c377579"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.751Z"
+ "updatedAt": "2025-12-10T11:52:24.196Z",
+ "postProcessHash": "221ec545e0dd24d0e12a2c5a3e6e7bef178af88d91d8f65f0771fa834a1b4250"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.752Z"
+ "updatedAt": "2025-12-10T11:52:24.193Z",
+ "postProcessHash": "86d44c2f1177ac9fbb3bb1232e43fe84166798c78e02fcfb369f904337c1a773"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.756Z"
+ "updatedAt": "2025-12-10T11:52:24.305Z",
+ "postProcessHash": "b197e2f664c8ac48b036d2f75a46ba33192539af39c028c9e314f04266fe97fd"
}
}
},
@@ -19859,798 +20549,1008 @@
},
"f254860d97455864992d1128b8018c7d85b3817554c508133b5c1b4b6479eaf5": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.734Z"
+ "updatedAt": "2025-12-10T11:52:24.192Z",
+ "postProcessHash": "989687a3ba295ba8eb978291c8a4db3fc42e784348b171e3dd6133cf27e6852d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.734Z"
+ "updatedAt": "2025-12-10T11:52:24.283Z",
+ "postProcessHash": "d9b1c298e002a35ec85253253eae0499e4636ee2aba6482336cb7731abb0173d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.735Z"
+ "updatedAt": "2025-12-10T11:52:24.192Z",
+ "postProcessHash": "1314e0ea34a78030da38e2f9ed78ea6be57178052673bce3f8883b1fc74fe9ef"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.735Z"
+ "updatedAt": "2025-12-10T11:52:24.269Z",
+ "postProcessHash": "78fd790bddb6aca6e8806fa3dcdb1c2b6788161bf9de33a019c4715a92cfd648"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.736Z"
+ "updatedAt": "2025-12-10T11:52:24.287Z",
+ "postProcessHash": "375ec9f67634e70e1f583f0c9150cbc8b50808b1d2ffe60311c199fb43a55151"
}
}
},
"1b5dc43ea416aa863cf6c6ee913c9a84e8636e519655aad5a103052630c35571": {
"7cff75dff5ada56f04992842ea07e86eb0820c47024aaa5bd5ca115aa6c265c7": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.742Z"
+ "updatedAt": "2025-12-10T11:52:24.228Z",
+ "postProcessHash": "e438c7572c1c9f79e133121a42386ad07871c189ad508daeb7c9a1c36fe3ee55"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.746Z"
+ "updatedAt": "2025-12-10T11:52:24.231Z",
+ "postProcessHash": "3b924aa744b6ee4bbf625e2765644d564c233c7e1df18c0e0bc116107a7337a4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.751Z"
+ "updatedAt": "2025-12-10T11:52:24.234Z",
+ "postProcessHash": "1c0e487aa8567d6240f4c3ba2f4bfe1de5ab493697e6b1eb36e9ca45ed4e9e37"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.753Z"
+ "updatedAt": "2025-12-10T11:52:24.198Z",
+ "postProcessHash": "deb4326e03b6aea4e128fa575643e1d41c0c6d567879149b0ad49ba617e0ed60"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.756Z"
+ "updatedAt": "2025-12-10T11:52:24.306Z",
+ "postProcessHash": "9476f4f423a726537b698b5c66c721d4ea2d5291eb61a1595a6ed19e5447905f"
}
}
},
"2993a410367f9511193d512a47e6483caef2a554ea01ce81b549bf733d30162b": {
"5ecf05c9852cb954ad5c4083952e65d3acc913a5e6314cdf2bae4b62a8f8b95a": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.742Z"
+ "updatedAt": "2025-12-10T11:52:24.196Z",
+ "postProcessHash": "a64b4b09caa35d89e78f0dc68f285e8ac5ab9837cbcf3f29bf31b0f293b148ce"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.745Z"
+ "updatedAt": "2025-12-10T11:52:24.230Z",
+ "postProcessHash": "8b4999ad5f3b5c80892bfae6e0d005648423359c825bb25f6edd67c1a57e5b1d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.747Z"
+ "updatedAt": "2025-12-10T11:52:24.282Z",
+ "postProcessHash": "d54ef56623e77b6e458c2b7131b3c676bd0d0c16186d677645d6fba1a7fb2794"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.748Z"
+ "updatedAt": "2025-12-10T11:52:24.204Z",
+ "postProcessHash": "314c9b88e21fbf8d5eed28235c2cb7f6d20bfc74a20217602a9aad2199c12f72"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.751Z"
+ "updatedAt": "2025-12-10T11:52:24.201Z",
+ "postProcessHash": "31ed69fd5f0c6284aa53235c3d9d4ef6bec1c1f9f8c0db0d1d4bbd0eda5d43f7"
}
}
},
"b2b5bbeadb7915cb1467995c7fe639d3f5e325f34d0272e5e558d253fc16bf7a": {
"0ac983c3ae48100a9b4573cda2f7a244430fa716f50ea30eefdc8251b22ddbfb": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.743Z"
+ "updatedAt": "2025-12-10T11:52:24.298Z",
+ "postProcessHash": "44bd75e58291add49eb69bc0efc9e0fc8eb4e9209b7636ddf6a083a5822fdd3d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.743Z"
+ "updatedAt": "2025-12-10T11:52:24.299Z",
+ "postProcessHash": "9f3e86f056ded182e231beb139ad61f2c2781324e94ab95d2b0265e982e1d11a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.746Z"
+ "updatedAt": "2025-12-10T11:52:24.299Z",
+ "postProcessHash": "9d985f64a30a6172b2ae31b183251604c04a57f7d6a0a78cc245fd7a1c968c6d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.750Z"
+ "updatedAt": "2025-12-10T11:52:24.300Z",
+ "postProcessHash": "45d11c7f697225553ffee8f992b41e71958995d64521064107f89442f31372ee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.755Z"
+ "updatedAt": "2025-12-10T11:52:24.304Z",
+ "postProcessHash": "117756f7ffd51d8675c747cad7ac91937b07eedc58426d06192beffde085968e"
}
}
},
"25fa5052f60d4bb2c211b0052e4e6261ce7ab5b13ca0bf37a26e130fa2e8510d": {
"4e79342c5d8ab164c6cdfbd12f521df59caf5c66c646090b8a51edf3da8dbfab": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.744Z"
+ "updatedAt": "2025-12-10T11:52:24.271Z",
+ "postProcessHash": "7835cf26e23fc4a10c782c71a0c0efd8037c5120f56866486e172a8b44d772ed"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.748Z"
+ "updatedAt": "2025-12-10T11:52:24.300Z",
+ "postProcessHash": "63b847a0c4a1b23af532162d6df82c086dc5fb2f8cc27a33440c10281ac441b3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.755Z"
+ "updatedAt": "2025-12-10T11:52:24.305Z",
+ "postProcessHash": "535ec20987524bed86a316fed3c8450d959d6c24a6a50c555d67ef7334b7b1b4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.756Z"
+ "updatedAt": "2025-12-10T11:52:24.306Z",
+ "postProcessHash": "8ba09a5de4cee31aa138877b1ecb7b2ee9330ea9fcf070a3229dac184e559bad"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.778Z"
+ "updatedAt": "2025-12-10T11:52:24.306Z",
+ "postProcessHash": "7db3dec71cf8d68d81ffbfde17caf65390d00dc709aeba4a933bbbb6387e29b4"
}
}
},
"e7c01af279ece91a4ebc22f563eb0398a9e574adb4630e6544050324e6a5eccb": {
"7f60153456ba75984829e43279a6e010afa32da4950aa83af0e65dbc3196759f": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.745Z"
+ "updatedAt": "2025-12-10T11:52:24.229Z",
+ "postProcessHash": "4e890d60674be299f6a258a21f1982d59f66d71bf4a67d803a0963269f36f3a2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.749Z"
+ "updatedAt": "2025-12-10T11:52:24.232Z",
+ "postProcessHash": "cb425812d467bcea025d7b086e78a06f09081c13bc53eddd7457ffc6d80ee76e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.749Z"
+ "updatedAt": "2025-12-10T11:52:24.233Z",
+ "postProcessHash": "c794558a39a868f25b6143737c31a8324ae5e618d98d89457d8d95f3156f1a08"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.752Z"
+ "updatedAt": "2025-12-10T11:52:24.234Z",
+ "postProcessHash": "f8761d8257af439154c6a3cce478742bab684e924023d3d9fbb1cf9d1a433e3e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.757Z"
+ "updatedAt": "2025-12-10T11:52:24.203Z",
+ "postProcessHash": "fd904d3d22c4f88ba48e629f77ed6409eb79af7ad67a16ee9c1a04fb01e1f2aa"
}
}
},
"22407e409d56846e612221d3fd560a977b954819107e592fb53d58f4b7e9c6b9": {
"e914c23a2577b03849a79927d92a135a0236897ef8a317dc487b79da1e625a5c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.747Z"
+ "updatedAt": "2025-12-10T11:52:24.231Z",
+ "postProcessHash": "a6b55b792673690082c165072d4d8bdb574ab6bbc161857798238b6637bef1ef"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.749Z"
+ "updatedAt": "2025-12-10T11:52:24.232Z",
+ "postProcessHash": "8d91d24b10cc67a25b38e18d473516f47d4ec989ae924c2fbaaa94d7135b67d2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.751Z"
+ "updatedAt": "2025-12-10T11:52:24.234Z",
+ "postProcessHash": "00bc2bdf13ba49f8b1b1b7fefa7fe26de0cafd9d4903877f6784651fd38a1d9b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.753Z"
+ "updatedAt": "2025-12-10T11:52:24.257Z",
+ "postProcessHash": "b086767667cb478de45366c46257514a49d0c95999b4c74c7d65a1122741f885"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.755Z"
+ "updatedAt": "2025-12-10T11:52:24.209Z",
+ "postProcessHash": "adf17e1354150f068dc288912233aa46e5e77c383d789e11c16ad249fd18f029"
}
}
},
"14ce0f2766d357ea642052d4d652e0b447d5bdc4057e1d69bea42e003f5cfe1b": {
"25ad913c4cffb0a29f3fe5574c194d162a1620a0c13ab259487b49572d0b7398": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.783Z"
+ "updatedAt": "2025-12-10T11:52:24.311Z",
+ "postProcessHash": "2267cc7dc58d1cb3052267ac43d0da1904eaaf79e16ca29a4ca6417c1a34030d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.797Z"
+ "updatedAt": "2025-12-10T11:52:24.263Z",
+ "postProcessHash": "5e3597352c6f69e7be925bdd364a83ff69422ac9b45e9c60a5345391fb75e2df"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.797Z"
+ "updatedAt": "2025-12-10T11:52:24.321Z",
+ "postProcessHash": "18ae36ebaefbee6e8033c57b4b55258a259c69bdbab4521eefb51bdc2ed54400"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.797Z"
+ "updatedAt": "2025-12-10T11:52:24.264Z",
+ "postProcessHash": "257f4568ba994a9a05d18a1663986054b7b49ae6bdb95b6fa8a33b547a4cdce7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.800Z"
+ "updatedAt": "2025-12-10T11:52:24.309Z",
+ "postProcessHash": "6f37c2307d8d4b7d9ea432074b54640b0dcb90a26ff786389098147eca9069da"
}
}
},
"acd364418189abd287db9f16ad05f144016c9d43a16d00ff4160a27fc8b83cfc": {
"0e820f03ab7344bcc41b929122a426482a264fa86934ea5b3984342ca55c4613": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.783Z"
+ "updatedAt": "2025-12-10T11:52:24.291Z",
+ "postProcessHash": "c205bb803658aa8ccdd4da401b24ffdc4b16b871311042652b4ccab6a9f1b3af"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.785Z"
+ "updatedAt": "2025-12-10T11:52:24.294Z",
+ "postProcessHash": "ff18da197ba73674c345dc993bbc3b09e5e13e8863f045182fcb7f15eb6efc7b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.789Z"
+ "updatedAt": "2025-12-10T11:52:24.314Z",
+ "postProcessHash": "5473cde5b8f2e346b862155c50671ca8e6198d27df5a2eb8df0639e1c1950cc0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.792Z"
+ "updatedAt": "2025-12-10T11:52:24.317Z",
+ "postProcessHash": "efa161ebaf63ab370ce7befecea31a0f96ca756fd9efdbd7b48508fd14db497c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.795Z"
+ "updatedAt": "2025-12-10T11:52:24.320Z",
+ "postProcessHash": "fabae7f8059d01f13b1fcd39bbb74c29ac8489f8dad883a01b3b81113ea3f20b"
}
}
},
"6421dc967b2696fcae96e76106da5650fc0defec64ae8cd1261de6e1b8a06a11": {
"b15dbbdd3db5ba6521f731ea225631b5aee1c0ed00836eed85f413b599d9489a": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.784Z"
+ "updatedAt": "2025-12-10T11:52:24.312Z",
+ "postProcessHash": "4587cdc5182ac340bca538e31c6bd8df49f5b09ad93bb50db868c557568b1c88"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.787Z"
+ "updatedAt": "2025-12-10T11:52:24.312Z",
+ "postProcessHash": "83254776b167da2e34a858baa4dc71e64fd79d5fff41d9605073d28c2fdac7ed"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.793Z"
+ "updatedAt": "2025-12-10T11:52:24.318Z",
+ "postProcessHash": "ed58866d7312f60a772587618cc9fa1e9de475a09548af2816b72812ed4bfd26"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.795Z"
+ "updatedAt": "2025-12-10T11:52:24.319Z",
+ "postProcessHash": "8602bcd75b86d70993a7eab24ec0362cc062c4a76d3fdf0484834ef204cd14e2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.796Z"
+ "updatedAt": "2025-12-10T11:52:24.321Z",
+ "postProcessHash": "b3b8852b130aada6ead1f7c1bb472e7de16199cb85be3671abc7d0b82e75edfa"
}
}
},
"fb2175b9742ce7665c22b4591db4531e6219e51d65732cd3db4ec091a08c51dd": {
"0d221fc5caad7d8cec4e53248f90114417aaf17876e99845360251f680fecaa0": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.784Z"
+ "updatedAt": "2025-12-10T11:52:24.268Z",
+ "postProcessHash": "d3354851f876b32905ceb59d6f342e9ff0bf704266ea2a23026ad82d282220a1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.787Z"
+ "updatedAt": "2025-12-10T11:52:24.273Z",
+ "postProcessHash": "aa8f430718f89cbe948652f4477dbac3360a4697c4fb7e54b013cd85c144e234"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.788Z"
+ "updatedAt": "2025-12-10T11:52:24.271Z",
+ "postProcessHash": "01a886ea2f1e696f5cbd18a162b15255e3d6e4b5104472929e8fe4cad02ef0b6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.791Z"
+ "updatedAt": "2025-12-10T11:52:24.264Z",
+ "postProcessHash": "618a69478460a6b3efac65f7632e06a48e159e52e87f9089d6a2ed6747dd4154"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.796Z"
+ "updatedAt": "2025-12-10T11:52:24.265Z",
+ "postProcessHash": "319a3658156f700f4b64bd90b54b51dd9785cbce3daaa2c10d60fbb91147790a"
}
}
},
"7c44c14cd024bdfa8c239655f9979bcdd5e951c7f0ad962e4908c463dcb7ff2a": {
"06523c190fd57a3511208a1eccf5629e50f06bf896f877d2e423d441404b2c0c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.785Z"
+ "updatedAt": "2025-12-10T11:52:24.312Z",
+ "postProcessHash": "de84fa07bf188e7e0c8e92ec6e0cd25899f743ff1cc4347073770d42ecaba256"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.794Z"
+ "updatedAt": "2025-12-10T11:52:24.319Z",
+ "postProcessHash": "213abcd461f36b41e2786d0b2b3e072edf580bb07d9914cd3d52daafe3856381"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.795Z"
+ "updatedAt": "2025-12-10T11:52:24.320Z",
+ "postProcessHash": "16b096231b943789bd109fc2d03d0f792fe177aa06551347578f460b3ee340f8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.796Z"
+ "updatedAt": "2025-12-10T11:52:24.320Z",
+ "postProcessHash": "3605a220a4e74f6d8b59926656596373770a6902de4d928c29ec4e5f505e36b1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.799Z"
+ "updatedAt": "2025-12-10T11:52:24.328Z",
+ "postProcessHash": "0c4eb98a509df3ca73ccf7ecc37a7893c6b242a63879f0e4d6628db7c47c7e72"
}
}
},
"80d50bb850c2ccbf674d9fd64c1c052b5a65d8d8efd440120c27947c74851f45": {
"72570f8f710b3ad2875f5ac0730e5840e2483fe195e6231c830b167cb0d53803": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.785Z"
+ "updatedAt": "2025-12-10T11:52:24.294Z",
+ "postProcessHash": "6f3a2ea6d0a5e0e5553d133e9e0ed5da8667249c064b7af2b2aa1ae5dfa364a3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.786Z"
+ "updatedAt": "2025-12-10T11:52:24.295Z",
+ "postProcessHash": "88462121973a479f42b8b207c83ab2308cb70bbaea34736ba5fcbd9b0a471c12"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.786Z"
+ "updatedAt": "2025-12-10T11:52:24.295Z",
+ "postProcessHash": "4927da2fffafa8fc419a5aaa53102aba0cfd23c2e8ab2f45e663b9496950ad67"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.793Z"
+ "updatedAt": "2025-12-10T11:52:24.318Z",
+ "postProcessHash": "6cc7a07c9aa6fcda3f76c3308a368f76dde9f38050fa22a1effb8f118f34b071"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.802Z"
+ "updatedAt": "2025-12-10T11:52:24.336Z",
+ "postProcessHash": "f53f7af80839c67b43297c292396b710e12bccfaeb3d4c9704e91f4a1316fbfe"
}
}
},
"226d3d709d7e4e9b62a2525dfcb47158888777b270bcc5ca7df74a157baeae71": {
"11f8fc77880e04df0436842207675cb9d98874e44052c5f1f3a686d79f489835": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.786Z"
+ "updatedAt": "2025-12-10T11:52:24.295Z",
+ "postProcessHash": "6b46c463b2dae90ce378726bae48d7204d720ef4cb4a316086d96d4b0e42cf5f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.794Z"
+ "updatedAt": "2025-12-10T11:52:24.319Z",
+ "postProcessHash": "221d03e7a929ebe0a57697acb17aecc4fd93f17904750711af09b26693f5463d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.796Z"
+ "updatedAt": "2025-12-10T11:52:24.321Z",
+ "postProcessHash": "c5a7f5ce769675ca7c0816da49507a24c83d180208e2e6ab0b701af1967abc40"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.797Z"
+ "updatedAt": "2025-12-10T11:52:24.322Z",
+ "postProcessHash": "4038b514d96691c49f156392f8678a50fc7de23609399677263d12f250384ac8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.803Z"
+ "updatedAt": "2025-12-10T11:52:24.338Z",
+ "postProcessHash": "282cb80ac3280028832b77c2b56d89deb2f9412de7569cb0324b2fe104f3701a"
}
}
},
"68956fb53b28cd5c7a28fe4c34d55da2d9d248cecd8a2b951f0178fb7a7faafb": {
"37f4508d29e28f20f0609659fec9f50dca783cf6f73cec4021d64237fba0619d": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.764Z"
+ "updatedAt": "2025-12-10T11:52:24.296Z",
+ "postProcessHash": "9087ea2766e6f1e85bff6f6e89e7477aa2e508f0cd16c7abe7611c0d06ce3e93"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.765Z"
+ "updatedAt": "2025-12-10T11:52:24.267Z",
+ "postProcessHash": "7a080a93b2844c6db456eed0b2509b31ebccc37cbd805bcb787b7451ce24f2ad"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.767Z"
+ "updatedAt": "2025-12-10T11:52:24.259Z",
+ "postProcessHash": "ada433b4d020d5ed8b12c98e02aa44abd5cfb387b211e23da8c04510fe67d950"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.787Z"
+ "updatedAt": "2025-12-10T11:52:24.258Z",
+ "postProcessHash": "cc218bd752307812c51518d411c68828aeeeae5494faf446692d8fc8cd245125"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.790Z"
+ "updatedAt": "2025-12-10T11:52:24.261Z",
+ "postProcessHash": "dedeaf4849b65a029bc5adc4064f01c11da36f1488afa0544a7d7da5e48155a5"
}
}
},
"80007ead86c029fd89cef2d6526091e7f196622ccc35dc04369a36055c7d6763": {
"92e2e9a60d4accaae197e9f622ca368cc4ebc3d6ffb2a460e44b512c76d96fa0": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.769Z"
+ "updatedAt": "2025-12-10T11:52:24.334Z",
+ "postProcessHash": "ffbb17c3ce1d0fb20c39909657c548bdb75af41b1c823ead3527e25709134cfc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.770Z"
+ "updatedAt": "2025-12-10T11:52:24.334Z",
+ "postProcessHash": "84fa300ea7bb96660ae78362412aa8f7a1ace2334e6176c76ae73bb869200332"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.770Z"
+ "updatedAt": "2025-12-10T11:52:24.335Z",
+ "postProcessHash": "39c08fbdcade3f46ff516fb57338cedcce617e3f8edd77113c0f904262015624"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.770Z"
+ "updatedAt": "2025-12-10T11:52:24.335Z",
+ "postProcessHash": "2d806fdca939e2ecbbf8607f43734fa02752c13887d54657796af22315d6e68b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.771Z"
+ "updatedAt": "2025-12-10T11:52:24.338Z",
+ "postProcessHash": "7165807c08c5d2dd6a96deae0d83e7488928f07a4d19037f985b2ff2161a386e"
}
}
},
"43450b8d5cad81dbed5bd3f0f84ab6ecea0059ae503bfc7f042db9f227d1aa5c": {
"c2348cac20bd18bcc68b267a3ff9d32d0b10d6ac07978aa876c6e535da8c866f": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.772Z"
+ "updatedAt": "2025-12-10T11:52:24.297Z",
+ "postProcessHash": "1b64e8c42e112540328a734c5ee2b8e371845348c27288bb688610b93ccba7bc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.772Z"
+ "updatedAt": "2025-12-10T11:52:24.297Z",
+ "postProcessHash": "ca8e393602b548971c9c5d5783c397d9af7724d04ff23ef15f1421b163de27be"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.775Z"
+ "updatedAt": "2025-12-10T11:52:24.301Z",
+ "postProcessHash": "1c215be8d262ca2ca10315d423b2a7262b14b33e11238e59d34af60d31f7dc59"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.775Z"
+ "updatedAt": "2025-12-10T11:52:24.301Z",
+ "postProcessHash": "698f3db0f9c81ad93728f7277c1138945440b5cd93547cca4ef1e748ad54c295"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.776Z"
+ "updatedAt": "2025-12-10T11:52:24.301Z",
+ "postProcessHash": "8f53cf487c9f469e386463afb7af94b750d83c4e0826f267362bb84b97a7fdbf"
}
}
},
"bc37e26111fb53170382d184ec4103922edb3ae1f3d34ebd94138a48731ed5d4": {
"3c693a9416c98cf065e9bb6fa66922c5d430c2660220987ac4715e1ff674f589": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.773Z"
+ "updatedAt": "2025-12-10T11:52:24.297Z",
+ "postProcessHash": "40fed1ea46f1f15ef18f896dc30bbde9e3e2366699d4d11c9b3e8e53289b8314"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.773Z"
+ "updatedAt": "2025-12-10T11:52:24.298Z",
+ "postProcessHash": "3f36c94fa402703273dea833f8d62399d7e1e887948104637c978c7f59e65a15"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.774Z"
+ "updatedAt": "2025-12-10T11:52:24.298Z",
+ "postProcessHash": "106be58da9c98f63432b5f047cdb6e2d258eac636f89c5c4947cbaa8ea2e4a42"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.777Z"
+ "updatedAt": "2025-12-10T11:52:24.302Z",
+ "postProcessHash": "66b9c3bd0e3311d405bc058a3862858cbc9dea643e03b8c3eb78714c53c4c46d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.778Z"
+ "updatedAt": "2025-12-10T11:52:24.305Z",
+ "postProcessHash": "0fcbb7ae3880f65a00274c6b59c75d475f59f257a42c07cc96a3ad01aaacd3e9"
}
}
},
"4ffa5a7b93d295bd6dd5606e1edeaf905bc12c4dc1970a5172a88518773c12b9": {
"778ffcdccdd87f3c35236921d82e33aff0d87239d8d59331450c50b87dee434d": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.774Z"
+ "updatedAt": "2025-12-10T11:52:24.299Z",
+ "postProcessHash": "ca06f844f539a560ad4602811fc974c4bba5e5eff2ef4944da9c89046e139694"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.774Z"
+ "updatedAt": "2025-12-10T11:52:24.288Z",
+ "postProcessHash": "25f8bc3f1bf5e20fb16a883a5b858fc796b4977ac6874bc0e7dccb60d23a293e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.776Z"
+ "updatedAt": "2025-12-10T11:52:24.301Z",
+ "postProcessHash": "c0f00022aabbba81ff35c3b9ab02a02bdc14a0a8a2c06cd5a37f140cbbcca025"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.776Z"
+ "updatedAt": "2025-12-10T11:52:24.302Z",
+ "postProcessHash": "6da5963dfb1e05ac825a380f040409e819332b7cf851b3c3e81c972bc292056e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.778Z"
+ "updatedAt": "2025-12-10T11:52:24.304Z",
+ "postProcessHash": "dbca268cc7ae3128a0ec71cde309a3a5d803292095708c881135ca7702d6931a"
}
}
},
"b697641714cdac1921aa0e243803055b2234d82c0d9ba33476971899a46f90f5": {
"b00e64aeb062a14ad504131cdef8a4783461b1ba1900a978e4766c6902476640": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.774Z"
+ "updatedAt": "2025-12-10T11:52:24.300Z",
+ "postProcessHash": "a1836c36e78d406bdb9a7c904c1c9bafb8de40c5d2553bad58d702744fa6b429"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.776Z"
+ "updatedAt": "2025-12-10T11:52:24.274Z",
+ "postProcessHash": "46046ba6d6165873fe49c6fdde2d4c89d72debf34abbfa0feb373fa775dab96c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.779Z"
+ "updatedAt": "2025-12-10T11:52:24.194Z",
+ "postProcessHash": "8d82f553523edcd05b19e2b6babe7d344418741a3c521d582d1016234d31c29e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.779Z"
+ "updatedAt": "2025-12-10T11:52:24.307Z",
+ "postProcessHash": "e11706f56d9add287151b1487c89745d3a1ff565c59b2a943c99240b8b860392"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.780Z"
+ "updatedAt": "2025-12-10T11:52:24.194Z",
+ "postProcessHash": "d4256614588e18057555f49aa6b4a726882beabc330f8adde2ac29fa2d68efa0"
}
}
},
"e0f105568ff656a1b37b2db965a3455781b2c1aca4ec146a8731a8149eb5f0b3": {
"053a2dc913042851fa0a3191fc2556c0fd3d92762ddfdda30b71639ebc9717f3": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.780Z"
+ "updatedAt": "2025-12-10T11:52:24.307Z",
+ "postProcessHash": "1e036448f8ace8ca8c3412bc87f36617d1f2eb7679cbde92f2c970f13730829a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.781Z"
+ "updatedAt": "2025-12-10T11:52:24.285Z",
+ "postProcessHash": "8e4f2a56ba0494ecb366601601923e85005bc63c344d6a17f72d2cbb355f6727"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.781Z"
+ "updatedAt": "2025-12-10T11:52:24.284Z",
+ "postProcessHash": "9b8610328ac77948d539bdc141ec4ce8b42637e2a75f51478152f5cc4be5ebf5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.782Z"
+ "updatedAt": "2025-12-10T11:52:24.287Z",
+ "postProcessHash": "84c005ff10711219d866866b1b644abe4f497af3810f8842bef54e7eb573efb5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.782Z"
+ "updatedAt": "2025-12-10T11:52:24.274Z",
+ "postProcessHash": "7be87bb6e04d70c188b8eb2a1aa118214664bea84e05c3b88f0ef1ad8c72568b"
}
}
},
"3dc47bfea9ffbb84b7b58ef80c88297f44855a73d7707e5814ee5c871c5ab51a": {
"f0b6b3dafb154a8098955fb53b94698eae2d28a862c7310f977e7a596de6874d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.805Z"
+ "updatedAt": "2025-12-10T11:52:24.311Z",
+ "postProcessHash": "3356cde752e5b942af4e09c076e4a2e9a50727b726f6f7dec111e3b5fe5e889c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.806Z"
+ "updatedAt": "2025-12-10T11:52:24.323Z",
+ "postProcessHash": "6714d5bde2c321c5f109356c2ba726a74174d00230d3da476db45b639d5c5184"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.807Z"
+ "updatedAt": "2025-12-10T11:52:24.324Z",
+ "postProcessHash": "457a0bda13d1121c532b4791ff6799c1904ddb0b4906e61ffd2856b7908224d8"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.809Z"
+ "updatedAt": "2025-12-10T11:52:24.326Z",
+ "postProcessHash": "bdb1cab86cd5aea7f6d23eeeedd13a67a81348e4b0428a4d32318bbbce2789bc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.810Z"
+ "updatedAt": "2025-12-10T11:52:24.327Z",
+ "postProcessHash": "b591c92e0112109d0aaa9a0e6dd518e70ef4b2eaba053f6735fc25248bff488f"
}
}
},
"c844627fb58e8978734d227ef5e5dac3db59fe89d9ee75337f0cc6b085b80b8f": {
"5a6fd321bec7935ebb9e8a91236b36f4753440dcc87193db14de4dd8b759db28": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.805Z"
+ "updatedAt": "2025-12-10T11:52:24.311Z",
+ "postProcessHash": "121333ce6dc1aa2f68a05634f69c1587fa1d861748a14dd871ce11f8bf84d97d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.809Z"
+ "updatedAt": "2025-12-10T11:52:24.327Z",
+ "postProcessHash": "5a80694e744e30d0c0187a5c065ed1a03a0d9292390f833b1af74dfc1e8c3c97"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.810Z"
+ "updatedAt": "2025-12-10T11:52:24.328Z",
+ "postProcessHash": "8bf197f891b8e9d66150d3c3f3131da72ff88a79484f28f3a938cee104ed79e2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.810Z"
+ "updatedAt": "2025-12-10T11:52:24.329Z",
+ "postProcessHash": "7217d903633d14a087aeafe08141304bf7264d595550dc02790477c143b767b1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.811Z"
+ "updatedAt": "2025-12-10T11:52:24.329Z",
+ "postProcessHash": "5ee7270310091b319f90b3ab0274cbc82163bf688027197a2ed5383b7c402539"
}
}
},
"013ebfbfe19cb8e15cac1bd561521e54632813d9fa8654711ae52b5cf4607bb6": {
"a8375e50698df2ffdadf25634ab281ffa765f4e515094e0b0ed5361b0edbd14f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.788Z"
+ "updatedAt": "2025-12-10T11:52:24.313Z",
+ "postProcessHash": "2efc5d27e0d247ef3387853d9f2734e9c35fdd7525f50bbc6ee4f5b4801223ed"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.790Z"
+ "updatedAt": "2025-12-10T11:52:24.316Z",
+ "postProcessHash": "81f125799179cd01b6dc8d9ffe3b5f1a14080aa82de6628cd09adb0cec96d205"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.792Z"
+ "updatedAt": "2025-12-10T11:52:24.317Z",
+ "postProcessHash": "a6cb969cc29d30d23fce268416a794fbdf6fd65980d1f7d8e32608f6ae4b1741"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.793Z"
+ "updatedAt": "2025-12-10T11:52:24.318Z",
+ "postProcessHash": "681182b69fdc1010a137ef502e6782220d1fc55ae477b5ebb4cf991599b49073"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.803Z"
+ "updatedAt": "2025-12-10T11:52:24.337Z",
+ "postProcessHash": "6734b60fe8e8a4011faee4ab9e0eaffcd917a675db1284fc075fedfea579f36e"
}
}
},
"0a45eac53c222f89a3e81d3763fd8b6a7ce349f6f1efd23644b0516034892a83": {
"d54c2565811c7218130a06acc20e0bd4fd02ae44464b635479b66c1996d7c4d4": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.788Z"
+ "updatedAt": "2025-12-10T11:52:24.273Z",
+ "postProcessHash": "8c03615db64bb9bf5b25c6cbb50e38bb7c9d0de43d7c8b550c2a6a5e083de13a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.789Z"
+ "updatedAt": "2025-12-10T11:52:24.314Z",
+ "postProcessHash": "a3261bc71ee29af8d388e5627771787c2c72467b6704e04d284bd3ea6c6ca20a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.791Z"
+ "updatedAt": "2025-12-10T11:52:24.260Z",
+ "postProcessHash": "88a33cbf41d3c798d89365591566200a031605379db12dd4c57644c235b74424"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.791Z"
+ "updatedAt": "2025-12-10T11:52:24.262Z",
+ "postProcessHash": "86651ce031230788f46a78d5cf68ac49bfa2c3b8c1274870f62ed67d191c11ec"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.791Z"
+ "updatedAt": "2025-12-10T11:52:24.270Z",
+ "postProcessHash": "f1371dbd03afb3279d43e065b162f177d3352112e87af40c6a0d78c95e3f1cec"
}
}
},
"2cf9bbba900cead73f449eb41b7b1e1c43549dad41c046d393050ceeaaac7da8": {
"858b8794b956f345efdcc07fd699f6f43f44adc2fd1a097a24ea097994e0b4ff": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.790Z"
+ "updatedAt": "2025-12-10T11:52:24.315Z",
+ "postProcessHash": "e9d11401607d7fae09250c9b5235ad9e2b34e411c869d595ffa2bf3adbcb866c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.792Z"
+ "updatedAt": "2025-12-10T11:52:24.317Z",
+ "postProcessHash": "a714ee59590ec02843f78befe9930b454d630bd47a51ee70bb5cef7f85775ead"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.792Z"
+ "updatedAt": "2025-12-10T11:52:24.318Z",
+ "postProcessHash": "9d612ebb52096ef46ec378eadd00afc1ab0148402354ee6708c390a19d080361"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.800Z"
+ "updatedAt": "2025-12-10T11:52:24.330Z",
+ "postProcessHash": "84a691eb10844fabc5c3739fc98377520f4336da30b02eff9a80d72ecb45c860"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.803Z"
+ "updatedAt": "2025-12-10T11:52:24.340Z",
+ "postProcessHash": "3c5b626b7676cbdb83182a69b5d0536dddb871fc43a80b7a759d03d34dad4b80"
}
}
},
"8ff66bdced25d61e18b17da49232829ebf382f44eb36187d068e9bc53bfd59cb": {
"ccfa5d646fde57b9ff6be1c5670cc867d400900832ceb8ec8290036907eca9c5": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.805Z"
+ "updatedAt": "2025-12-10T11:52:24.322Z",
+ "postProcessHash": "239556e35c11910f9081889ffc939b16dc4d154436f303719318a733891a5ce3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.806Z"
+ "updatedAt": "2025-12-10T11:52:24.323Z",
+ "postProcessHash": "30589f6639ffb626b352b3bc2305709fea65ad2828de797b86059968e133361d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.808Z"
+ "updatedAt": "2025-12-10T11:52:24.325Z",
+ "postProcessHash": "42ed6de14bdc69f29c89f622f43ae368ae939d5db80f5d1325ea22425dc290eb"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.810Z"
+ "updatedAt": "2025-12-10T11:52:24.329Z",
+ "postProcessHash": "b5f057962447b438aa5ca83c61102ecc86c4cd652db4af024f4009a824c59e35"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.821Z"
+ "updatedAt": "2025-12-10T11:52:24.337Z",
+ "postProcessHash": "92cb96b49811413ce26bc185f88f801b53b824a55020dd7a3016108f6bbcd706"
}
}
},
"1825b74afdf74f89a1bd5e6ea876dbb92f139e5689ad4bc5c957d88dbe86cf1a": {
"e561433861d7c832afde731fddf15f475a3fba956ec2c1b494dcb1fae7961f19": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.806Z"
+ "updatedAt": "2025-12-10T11:52:24.324Z",
+ "postProcessHash": "8b07a11bc74242ebe1c6b6781a4ccac5c4c3dd4db76aeeb598dd0d364f48ad3a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.807Z"
+ "updatedAt": "2025-12-10T11:52:24.324Z",
+ "postProcessHash": "8265f11a7bd5b6a3c383715bf792e0eda11900a63e3868f1ece77aa10ac0292d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.807Z"
+ "updatedAt": "2025-12-10T11:52:24.325Z",
+ "postProcessHash": "ac844d8eab6b5ff580694ca1818d8b8e743927928c826c20bfa8f02be2643ae6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.808Z"
+ "updatedAt": "2025-12-10T11:52:24.325Z",
+ "postProcessHash": "5cd0d5e005fe7797ef058d9ba3f6ba6bb6514f22882164f2382dbf3c8d4d1cbd"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.820Z"
+ "updatedAt": "2025-12-10T11:52:24.336Z",
+ "postProcessHash": "a9577720053c7061a1125f1629e310e3fb673fd143b859cddb052cfdc035ca34"
}
}
},
"8f7e83cbfe67a9fcd076d9588f21d01182c8134d2f74ec24504b8233933e824c": {
"080353382f2d572acd4649c22671713ea534e0e82be977342ef9e193183ef0c5": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.798Z"
+ "updatedAt": "2025-12-10T11:52:24.326Z",
+ "postProcessHash": "247e61a8f062b9bea6fe858c68b060472524a0dfb245e4c4a4694da5994b574b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.798Z"
+ "updatedAt": "2025-12-10T11:52:24.326Z",
+ "postProcessHash": "fcf3be8cae3b001898e1c50c06d5a7722a58d9bd883c4d0e814bd3c31b48037b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.798Z"
+ "updatedAt": "2025-12-10T11:52:24.327Z",
+ "postProcessHash": "c1031c41bec40c672b177b6a5f792748cc918a8756ba11739f7888fd619e9dee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.798Z"
+ "updatedAt": "2025-12-10T11:52:24.328Z",
+ "postProcessHash": "2f87a741a368c319e5598def202df806ec2dbcce6e92073458acb975f21c6f61"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.799Z"
+ "updatedAt": "2025-12-10T11:52:24.328Z",
+ "postProcessHash": "8b186d5431a84f8f48182e3827dddc7c43047f62d618e1b4cf111f2c54424955"
}
}
},
"ace8b314ee8981d65b6ddfe58a520168b16e836507d8feb83382316503de7632": {
"c3bebabb37f02f695353a684f4c1a1cea61e54e64ef48c1e82697bb71ea4ad36": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.800Z"
+ "updatedAt": "2025-12-10T11:52:24.331Z",
+ "postProcessHash": "3fa2aac823658c203d02e51ce2a3e1d0e942882d8c19656aaa2e7e05072dc99f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.801Z"
+ "updatedAt": "2025-12-10T11:52:24.331Z",
+ "postProcessHash": "725ee95293ed56aba206aaa2ee67b0cfc76de779733781adfaf05a4cd01ae1f8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.801Z"
+ "updatedAt": "2025-12-10T11:52:24.331Z",
+ "postProcessHash": "766c2636a0ff54e346ef4da9062ff6426b1462f20c8df6264c5e6732f9fdb7cb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.801Z"
+ "updatedAt": "2025-12-10T11:52:24.332Z",
+ "postProcessHash": "e6ba28d9442b8523b47da9048018169a8298fe8c762cd1dde00fd8b15ce071e1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.802Z"
+ "updatedAt": "2025-12-10T11:52:24.332Z",
+ "postProcessHash": "2d09370822c71eeab653abad6a4cd5e83b033f727fb631599f2a0e34c7846de0"
}
}
},
"44300dab250e56074b5979e32e3f5184f5fdcb291f15279528895439d5dab604": {
"1d7fc3c041de94d6dc0122669c87238fd3cf36606f7b5c6287a5ab20af924088": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.801Z"
+ "updatedAt": "2025-12-10T11:52:24.332Z",
+ "postProcessHash": "d71f2a14c53567069f09593b28cb970376211a439a94ccd067d97adb3475a544"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.802Z"
+ "updatedAt": "2025-12-10T11:52:24.333Z",
+ "postProcessHash": "20fc6cb9947eefb30384482d46f196c0abf34c1f54c78b0206915ec44dfbdcfc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.819Z"
+ "updatedAt": "2025-12-10T11:52:24.332Z",
+ "postProcessHash": "cbd6d554dc3bc60c4ebcaa45af04e271b2f8456a4e57590979c9a4c8339e8395"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.819Z"
+ "updatedAt": "2025-12-10T11:52:24.333Z",
+ "postProcessHash": "973c9578f326fca067e30b8ea5f3248f584fbd6195c4ff232f4f231d16d66f28"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.819Z"
+ "updatedAt": "2025-12-10T11:52:24.334Z",
+ "postProcessHash": "46d278bca322e2dcb2b4f05a8b94dccfc7f2ca6d7bcfe9a0153481115c523321"
}
}
},
"35b55487b1a30fbd5c4dcd24ef9acffebd7189de1d46f0087112ac5a7791c045": {
"eb00b27b1c690a6048525a3ddd2bc252b25866c28331cd2bcee68d4f11519a51": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.824Z"
+ "updatedAt": "2025-12-10T11:52:24.340Z",
+ "postProcessHash": "77cfa09a50e4de2a4dbe5736d99544008ab7bb4a7cb1d7343b7fb46030e6a5d6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.813Z"
+ "updatedAt": "2025-12-10T11:52:24.344Z",
+ "postProcessHash": "121846a00a23d4305a0f23d3c637396511b703344267c42b78b4a33a9fc4dde7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.826Z"
+ "updatedAt": "2025-12-10T11:52:24.310Z",
+ "postProcessHash": "ad9136f802f8112597a1c5fd9593026084fa6b744f03897a2bec78aeb18fa7a5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.826Z"
+ "updatedAt": "2025-12-10T11:52:24.309Z",
+ "postProcessHash": "07e95404326ccaf8c14162b5e4e3173a05a43f19e9ea30605a529d6080286d09"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.826Z"
+ "updatedAt": "2025-12-10T11:52:24.308Z",
+ "postProcessHash": "86b3fd0d115945c7f5d7289e98180c1704103cb4d5fe160e990dcc9b0f9bd112"
}
}
},
"a09cf26980e486c48ef816795581670ce5e9e9765c1c891eb32117116bfeb0d1": {
"adcdbb7c8da9dc70267e347327f2966402951e08c7400419fe6731157a2e8bff": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.825Z"
+ "updatedAt": "2025-12-10T11:52:24.341Z",
+ "postProcessHash": "a3fa71330920c52271b56b2ee765f6abe79b3f276072ec2a667a6f9c883d8df0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.840Z"
+ "updatedAt": "2025-12-10T11:52:24.362Z",
+ "postProcessHash": "b0c141935f2b28a2cf79e0669cc8e3e4c86cb89f9b9f9836385712fc2ccf1d9e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.842Z"
+ "updatedAt": "2025-12-10T11:52:24.365Z",
+ "postProcessHash": "6191f1ddb5c4aabb8dcf02725db6b4944164a64ea004a3bd89b2ba818501b53e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.842Z"
+ "updatedAt": "2025-12-10T11:52:24.365Z",
+ "postProcessHash": "a85c1d62a924e9bf8da7c49a67b00ce869a5761a4b5f86faf87962fdcf4cded4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.852Z"
+ "updatedAt": "2025-12-10T11:52:24.377Z",
+ "postProcessHash": "940209b66fcbcde7ceae54107e1f4f63e75ed4c558520ae8db6e5f817af1d690"
}
}
},
"39545dc69e5e65aec48a3f2fd60ae983e858f72aa563f35ae894c99ee9d2b423": {
"022d006894e93dd891ecc6a9be49672e095d79790373c7404ec05f73bf8fbdfa": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.825Z"
+ "updatedAt": "2025-12-10T11:52:24.341Z",
+ "postProcessHash": "134a43672b13ce7758242e0b78c749e82dc34016799c150fd14d9974f676d5bd"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.830Z"
+ "updatedAt": "2025-12-10T11:52:24.353Z",
+ "postProcessHash": "785b7f5336c5715813bf205d8134ff27ba9d2e04d75b5c5c5808c13972a005b3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.834Z"
+ "updatedAt": "2025-12-10T11:52:24.356Z",
+ "postProcessHash": "982dcb25e4f42bc2446e5c200ddacb3021a8bcf95619940fb31d965d4f41ef02"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.834Z"
+ "updatedAt": "2025-12-10T11:52:24.357Z",
+ "postProcessHash": "936e444e0ec6ecbbd54a6de3093237139717c12081d53a8d6ba5130a3b0314ec"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.835Z"
+ "updatedAt": "2025-12-10T11:52:24.357Z",
+ "postProcessHash": "502c23d08a5968241360efab6c7ef68f81c49a67e5759981954541eda40ab099"
}
}
},
"2cbc88fe5252a2b0e81812b14d4d8629c4741905cd0f5dcae138aea618c78be2": {
"92ccc7187bf6db2886b099ed7095e7a84469130f02fb91022b348161d975725b": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.809Z"
+ "updatedAt": "2025-12-10T11:52:24.327Z",
+ "postProcessHash": "87c9d12f94028088572fc37bd46a78c5ea92e9316829850bdf18408d171cec06"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.811Z"
+ "updatedAt": "2025-12-10T11:52:24.330Z",
+ "postProcessHash": "644247fc599f9ccb07b449897f0e777bb39dcb6a272be2a869db52ad28eae629"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.820Z"
+ "updatedAt": "2025-12-10T11:52:24.336Z",
+ "postProcessHash": "7219c2533201def9a475b67dd9ec499cca59c2f54947685564201fbf48ec248c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.821Z"
+ "updatedAt": "2025-12-10T11:52:24.339Z",
+ "postProcessHash": "94a2c54303d5c8b263b44a01bdae0cfe3f4c877e8569c90369f13b6b082728c2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.822Z"
+ "updatedAt": "2025-12-10T11:52:24.339Z",
+ "postProcessHash": "9b459c7c66e6c88424292c954ceb79f9d1f59a72689218ad209c082b17c6ae48"
}
}
},
"98ed0708456e21c3c9dd388dbb447496f9a94502a34c9eca44b7f1ecfff2f420": {
"a7360e88245afc6cfafdf9ed3b6278b7fb9f5ac996c9036802d692f148eb84b8": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.811Z"
+ "updatedAt": "2025-12-10T11:52:24.342Z",
+ "postProcessHash": "30d7b5a911897e1889f1fa50ea1a9049116e1ca3de7de4da3c134c1af908f803"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.812Z"
+ "updatedAt": "2025-12-10T11:52:24.342Z",
+ "postProcessHash": "d9f4658350d18f8c4ac5b1abb77d4ae843cd765638acf1a28081f46cbee40f61"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.812Z"
+ "updatedAt": "2025-12-10T11:52:24.342Z",
+ "postProcessHash": "72144b9f4abaf961f6515137e9248bf8bcb74fa7a12c48462a58cc55e1384d78"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.812Z"
+ "updatedAt": "2025-12-10T11:52:24.343Z",
+ "postProcessHash": "760b90c7a1f1b5cbd26a562bb6825fd225e735f5e1266c203bd795d74988cc73"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.816Z"
+ "updatedAt": "2025-12-10T11:52:24.348Z",
+ "postProcessHash": "9eb7bbce1ffb2624380b566162db640b6b95ec88c10ee68cc4d6b4ec8cb59f6c"
}
}
},
"c5950e84f44a2038c1ba5da608d51856272253100c65b9326c8ed090a39b3cf7": {
"be5e56f9d69e18ecb7f543c760c6ed69958b974b2b4c1bf8d724668d6174c152": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.812Z"
+ "updatedAt": "2025-12-10T11:52:24.342Z",
+ "postProcessHash": "b0bb97062df3b3ec765346784162c33898ac63571cbc40d7cd10dfa6e12d9cb6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.814Z"
+ "updatedAt": "2025-12-10T11:52:24.346Z",
+ "postProcessHash": "e1a42d892194beadbba82e8054f846314550e15a6f684252758038e5ec5d3cce"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.817Z"
+ "updatedAt": "2025-12-10T11:52:24.351Z",
+ "postProcessHash": "b39107e57f4766aa7b96f26139e4b8a0df23e9206118cd0984258fc76255fa5e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.818Z"
+ "updatedAt": "2025-12-10T11:52:24.356Z",
+ "postProcessHash": "8dcf70fd369fdaf2251d26e8e6ab6e38ef6ee92145b3041f65add748cf80fc0f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.820Z"
+ "updatedAt": "2025-12-10T11:52:24.378Z",
+ "postProcessHash": "b664bd4a8441092cecba18a08a8b924ef6a5864e160710a74c875d3708163bdb"
}
}
},
"454f4b1cc731be588acf14ba5df2d9a218275e00ff735436ee820f7e464491d0": {
"208d2a65d5a6ffdd114abb270ecaa82d49cd9d316494ad58c745abc9ac69d0f3": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.813Z"
+ "updatedAt": "2025-12-10T11:52:24.343Z",
+ "postProcessHash": "6e730c488d58ac6f56c1d4f67a3af1847e7c35ddd6ad301026f69d38fb9943b9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.813Z"
+ "updatedAt": "2025-12-10T11:52:24.344Z",
+ "postProcessHash": "8ee55623c4ffaec6c6e326ab9b04e1adeca1240320b91bcde693890b8cb8f1e7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.814Z"
+ "updatedAt": "2025-12-10T11:52:24.345Z",
+ "postProcessHash": "76e97a9598ec3a72d91d6db18adb144b3df1ecddbf962b16e1617bc7c4dde80e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.814Z"
+ "updatedAt": "2025-12-10T11:52:24.345Z",
+ "postProcessHash": "99a259ef4fb49491864ae84a5e524342fca3cec8896fa3d4389ed439a188144c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.816Z"
+ "updatedAt": "2025-12-10T11:52:24.310Z",
+ "postProcessHash": "fe18915ed7262a66b0e915ed8cda6a8a53cb0fc76066e7c2cd167aad5b9970aa"
}
}
},
"e790120c21b7303a105b8e41b2dc293db66032a6e913b62873431e4afea7afb4": {
"2536b8c634054458b6495b889467b3dad40b48fbc5f4dc9f74a2c91206b01b44": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.814Z"
+ "updatedAt": "2025-12-10T11:52:24.346Z",
+ "postProcessHash": "3d00cc26128bba48ab82dcecff58c869a636fdc9349c0cd2ff8c1b1d364c69ef"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.815Z"
+ "updatedAt": "2025-12-10T11:52:24.347Z",
+ "postProcessHash": "dd2098c96e89e147f7233d351c8bc4d4c017f9c3f6dfac36c86cd219e8fe871f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.815Z"
+ "updatedAt": "2025-12-10T11:52:24.347Z",
+ "postProcessHash": "3ce65d83211fcbaf825867abd3db9d56eea06e21fcd903a311262f0158d3ca01"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.816Z"
+ "updatedAt": "2025-12-10T11:52:24.348Z",
+ "postProcessHash": "70740329be3b338acc467a93270006931cb04e16470692cb1ba904e7437498cc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.817Z"
+ "updatedAt": "2025-12-10T11:52:24.352Z",
+ "postProcessHash": "fde3540c83475ac48ed6ab40a99de4f5b06d4d40bd1b89e9eb65650d48a27597"
}
}
},
"d40d37b2f9c3362a3f59e3cdc4903175763e55077040411854a899dece7f00c9": {
"d9e78ee2439a034c1f291269643caf10fa44bbbc07df8d9a2cafd3a7b8a6bc34": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.815Z"
+ "updatedAt": "2025-12-10T11:52:24.347Z",
+ "postProcessHash": "114e526c4284d1825efe6c74216b0ba59645de33f717fc960d53c0655e0625aa"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.817Z"
+ "updatedAt": "2025-12-10T11:52:24.352Z",
+ "postProcessHash": "4124aef59ecd58bf36d4845950e3b02e87090f3c1991574939b3ae628866cfac"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.818Z"
+ "updatedAt": "2025-12-10T11:52:24.356Z",
+ "postProcessHash": "b5126043f7a70cd7298038ac683b316edf71889a43dd4e7ce9047a773c9705d9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.818Z"
+ "updatedAt": "2025-12-10T11:52:24.363Z",
+ "postProcessHash": "d2a8183d957dc55b7e9bf7706dac53b142956048240ac358233ddbe2a73a53a8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.822Z"
+ "updatedAt": "2025-12-10T11:52:24.339Z",
+ "postProcessHash": "c6a47727dc6a17ad9a2363a000a25b43e32b2b1979d260ed5dd4e55b2d63d32a"
}
}
},
"09e1b5c8217b295f8ae5147f079b1e469c73036fdbba8c42550cb22542b89b42": {
"5c1e726b394db9779ce6d14565ba6ee8a2beadf931430c833ce76d4b76b4ac10": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.827Z"
+ "updatedAt": "2025-12-10T11:52:24.349Z",
+ "postProcessHash": "305cf913e52ebb2148ea5211694136dbbbf55e1d674eee600195b209710cedf0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.827Z"
+ "updatedAt": "2025-12-10T11:52:24.349Z",
+ "postProcessHash": "305cf913e52ebb2148ea5211694136dbbbf55e1d674eee600195b209710cedf0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.828Z"
+ "updatedAt": "2025-12-10T11:52:24.350Z",
+ "postProcessHash": "305cf913e52ebb2148ea5211694136dbbbf55e1d674eee600195b209710cedf0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.831Z"
+ "updatedAt": "2025-12-10T11:52:24.353Z",
+ "postProcessHash": "305cf913e52ebb2148ea5211694136dbbbf55e1d674eee600195b209710cedf0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.831Z"
+ "updatedAt": "2025-12-10T11:52:24.354Z",
+ "postProcessHash": "305cf913e52ebb2148ea5211694136dbbbf55e1d674eee600195b209710cedf0"
}
}
},
"94692aaa3dcbf23bd3b5559c22faf734afd549c58d6a4caf72ec002cde26f244": {
"8dcf42f0df4ab729a3bc3e354229f887929dd1058eb4cee742481433dc5110d3": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.828Z"
+ "updatedAt": "2025-12-10T11:52:24.350Z",
+ "postProcessHash": "b9f52a5a820d2b5037b3beea9f54a81af8a688ac002475151abc0be8bc5ed59c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.828Z"
+ "updatedAt": "2025-12-10T11:52:24.351Z",
+ "postProcessHash": "b9f52a5a820d2b5037b3beea9f54a81af8a688ac002475151abc0be8bc5ed59c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.830Z"
+ "updatedAt": "2025-12-10T11:52:24.353Z",
+ "postProcessHash": "b9f52a5a820d2b5037b3beea9f54a81af8a688ac002475151abc0be8bc5ed59c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.831Z"
+ "updatedAt": "2025-12-10T11:52:24.354Z",
+ "postProcessHash": "eedfe58b0d5d76b24e68ff5a5dfaca845b60ff3d6bf12f355642b8003879eee8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.833Z"
+ "updatedAt": "2025-12-10T11:52:24.355Z",
+ "postProcessHash": "b9f52a5a820d2b5037b3beea9f54a81af8a688ac002475151abc0be8bc5ed59c"
}
}
},
@@ -20674,7296 +21574,9216 @@
},
"2fe318721bc0f0691bf06241d670ad45b2f043610471e87f177eda6a7454f75c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.803Z"
+ "updatedAt": "2025-12-10T11:52:24.307Z",
+ "postProcessHash": "ca2f5f558d31e033e028e81e2f4cf9fb852b9ba26bfc2646137fbebe5d021203"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.804Z"
+ "updatedAt": "2025-12-10T11:52:24.308Z",
+ "postProcessHash": "e482188855d232fc03b53ecfc5d07c4f73d930ef51c2a54376f6fb503cdff6ad"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.804Z"
+ "updatedAt": "2025-12-10T11:52:24.308Z",
+ "postProcessHash": "7ab6a7d868f9d2a1d893d1be1d9d5018145c925434d21fadb2cb6070f7b17b4b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.804Z"
+ "updatedAt": "2025-12-10T11:52:24.308Z",
+ "postProcessHash": "ce5bbd54a647bbbb38b1dee6a0c48b5f5cf769a4f40d9f69ed001a6e7cd5bdcc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.804Z"
+ "updatedAt": "2025-12-10T11:52:24.309Z",
+ "postProcessHash": "8fe3cf7bd0c70630f240bd6f56ee552a606627ff2fd8f1d8e6ed775e40d050cc"
}
}
},
"78dbd5388cf954a92c53f1c8d7a694c6e428bd5e03f43065c4303750697b697f": {
"a06228d5bafe79368644e5fc1993477b7ad455b50fa4c953d1430aa46ab1f1c0": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.822Z"
+ "updatedAt": "2025-12-10T11:52:24.263Z",
+ "postProcessHash": "e935b34f347c3722bb453e06ae9ca381fd44dbb15e3a31637b0d74a782ef2480"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.823Z"
+ "updatedAt": "2025-12-10T11:52:24.311Z",
+ "postProcessHash": "01e668d275883aaba21a9676cbd967e21e28ef057f737f4cd385d948aabb60d0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.823Z"
+ "updatedAt": "2025-12-10T11:52:24.310Z",
+ "postProcessHash": "8c8c1db6e725b974f03d50a1a6d469ba9e59d0562cfb961cd3c42b2d89c3f695"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.824Z"
+ "updatedAt": "2025-12-10T11:52:24.266Z",
+ "postProcessHash": "0354120cedc2170c9b6901f6fa99fb3f03b43e1a65811cf23ad9d0e4163e9128"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.824Z"
+ "updatedAt": "2025-12-10T11:52:24.261Z",
+ "postProcessHash": "3a91deb7e70d6b5f69e45837fc1d03b19c24bc69e2ba8d91ceca8cfc14717e30"
}
}
},
"3c46dadf0ac4ebf9777492a50fcd1193fa433d1e216ed3c1924243d4724fc2fe": {
"29d6c2488bde78ad944576247ef4f5098a7360c180a32419f1c7d8cd171cccb6": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.852Z"
+ "updatedAt": "2025-12-10T11:52:24.341Z",
+ "postProcessHash": "aa149ba756c7c879cf8e14693f7c4e7143599ea036643f63fbd53d3d32ad87be"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.854Z"
+ "updatedAt": "2025-12-10T11:52:24.367Z",
+ "postProcessHash": "6e3460ebbc37902ec9632de5143ea1810f723f423f9d71a9b3f87fefe09270d2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.858Z"
+ "updatedAt": "2025-12-10T11:52:24.387Z",
+ "postProcessHash": "e89e7553ca036d875500ac4627f80a0c3dfbda9a34009be4699b7c633847ea0d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.858Z"
+ "updatedAt": "2025-12-10T11:52:24.387Z",
+ "postProcessHash": "650b9eb3c9c7d173246e04e237eb7a7d25934e95ece9299a50058d1715814534"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.859Z"
+ "updatedAt": "2025-12-10T11:52:24.388Z",
+ "postProcessHash": "35ed8a467bbb33ebf51e5395648f15222d9be581be126af6a0ca455dc38fdd12"
}
}
},
"54703e18804814364ac46216497adf402696c9467a5818df9b5785af5064f328": {
"16727b13e74497a85a0dff2005052a5bd6750a081e63dd1f50b391b718a75087": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.829Z"
+ "updatedAt": "2025-12-10T11:52:24.351Z",
+ "postProcessHash": "ba7fd158897a290b8f8c72737fb96ebb78121b6eb31600237e16b93adcd7fd3e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.829Z"
+ "updatedAt": "2025-12-10T11:52:24.352Z",
+ "postProcessHash": "cffd1601a041f341503b20060a18793a786c619161faea6d9f3c93c8baef7b08"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.830Z"
+ "updatedAt": "2025-12-10T11:52:24.352Z",
+ "postProcessHash": "925e0df690a189c7685068929f62199f6790aaca0ea0c1effdc344733213315c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.841Z"
+ "updatedAt": "2025-12-10T11:52:24.363Z",
+ "postProcessHash": "565eaddc0f8b43816652ba2ec1550c30499c97f146a2afc19799567febd9e4a8"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.852Z"
+ "updatedAt": "2025-12-10T11:52:24.378Z",
+ "postProcessHash": "6b6fc91148653fc713c4c64fc17e61f7880f7dd31df1a4c5dcc7855cc6bd36b1"
}
}
},
"3c2e490a9897a148973e17c16f61cd58132105563411cc48e2efacae54e128f9": {
"4894dd706592b6ff8c06239bf520993dd4a834eb163ca15771bf82457d93db42": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.832Z"
+ "updatedAt": "2025-12-10T11:52:24.354Z",
+ "postProcessHash": "bae0d44189b467fa1fe4cedba43973681d2a238de1fffa3ade5fbf68db9c6df1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.832Z"
+ "updatedAt": "2025-12-10T11:52:24.354Z",
+ "postProcessHash": "bae0d44189b467fa1fe4cedba43973681d2a238de1fffa3ade5fbf68db9c6df1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.832Z"
+ "updatedAt": "2025-12-10T11:52:24.355Z",
+ "postProcessHash": "bae0d44189b467fa1fe4cedba43973681d2a238de1fffa3ade5fbf68db9c6df1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.836Z"
+ "updatedAt": "2025-12-10T11:52:24.358Z",
+ "postProcessHash": "bae0d44189b467fa1fe4cedba43973681d2a238de1fffa3ade5fbf68db9c6df1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.843Z"
+ "updatedAt": "2025-12-10T11:52:24.371Z",
+ "postProcessHash": "c3fce44870e8b96e3c4997fb12a1de80aaa678412c8ff1b181c2132fcfc05269"
}
}
},
"360d95cf7c011257c99dad19cd82581c2af8d2044f97b31c5031e7da37969366": {
"fe122c6c1e32f9bd3c5ff3e6aa6d7558590346e285d1e2f09de8e7e56d80b2a8": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.833Z"
+ "updatedAt": "2025-12-10T11:52:24.355Z",
+ "postProcessHash": "10e65cd902c0b3d4b8f7f1dc99a54f0fef7cc89d57e7b1029ab7db5135f66aad"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.834Z"
+ "updatedAt": "2025-12-10T11:52:24.355Z",
+ "postProcessHash": "a952a29435bc8afaeb3f3d9905d52fe32b9c06a3f7fe388737f37a2848e91c27"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.835Z"
+ "updatedAt": "2025-12-10T11:52:24.357Z",
+ "postProcessHash": "737d92906dc2a57b017a0a2fe667ca475279ec39fe6c9ed34378d76999091632"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.837Z"
+ "updatedAt": "2025-12-10T11:52:24.358Z",
+ "postProcessHash": "5784e655f2deb83ae86df59fb1d1905229e59b3993d67098e32fc78a11e0adfd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.838Z"
+ "updatedAt": "2025-12-10T11:52:24.359Z",
+ "postProcessHash": "d433e9d1b704713ec1c8d801b399cad1be49d69039c9fb306ffa0107bcbd062e"
}
}
},
"8f6b6b1d4966d23e89f5e3d39d43124db1406c051bcc0804055e4b9995f7a0a0": {
"b684dd2d214dd0b02e0309ff25bdec0f196f954f7d4d745e0555e47cd8dfac2d": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.834Z"
+ "updatedAt": "2025-12-10T11:52:24.356Z",
+ "postProcessHash": "773af8f817d8cc074800f84ed192c22d2959c3f5e2c60ab96cc9b7ca972d2140"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.838Z"
+ "updatedAt": "2025-12-10T11:52:24.359Z",
+ "postProcessHash": "af5c9ed1c943d5d46fb9021cce397c33e0a3dae76eff46a4fbd1a4ce3f4f642c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.840Z"
+ "updatedAt": "2025-12-10T11:52:24.362Z",
+ "postProcessHash": "ddd09fc9fe03e5d898420e9094568d331531f460c34651d9f4a5bf0392a9c41c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.840Z"
+ "updatedAt": "2025-12-10T11:52:24.362Z",
+ "postProcessHash": "2ab02c8a6a577baf6d7c5e15f66eb02c6c2a8cf83a522cda63c99f4ddcfb43b3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.841Z"
+ "updatedAt": "2025-12-10T11:52:24.364Z",
+ "postProcessHash": "6b22bfb17503f47d9bbb41ad229419b7f665ee378b71fb40dc324a5c6d834c0a"
}
}
},
"f1f3e97243b3a5871e070bd455eca6fd2bb91bc0f9e35b968a82d72afa5332c3": {
"7a83233c5a7865ed319bb780fdb1037aa86bb7c0878e72fec3c6dccabcc6a727": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.839Z"
+ "updatedAt": "2025-12-10T11:52:24.360Z",
+ "postProcessHash": "7c1a91fa0a53155a3b0ab469208d82f2dc901cd51d64c162e58ce2b12c13e83f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.839Z"
+ "updatedAt": "2025-12-10T11:52:24.361Z",
+ "postProcessHash": "35165b629e81e6fde94b2bf21b1bd34e2e18ed7b1ccc71d03c6619c26d4841f7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.840Z"
+ "updatedAt": "2025-12-10T11:52:24.361Z",
+ "postProcessHash": "40c39ee1a3b5c5de576de72155ef88e4a0c4a407d8b3faa7beb39bd1ced36556"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.845Z"
+ "updatedAt": "2025-12-10T11:52:24.373Z",
+ "postProcessHash": "8b7e4e377b2c23e6a21396085244efa0fb4e6db2706c1d8a21d37ec81b11c7bb"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.846Z"
+ "updatedAt": "2025-12-10T11:52:24.375Z",
+ "postProcessHash": "1247e999a5642f7637e9462ce824dcf25a7274fec7d64666a286bcd24c7064a3"
}
}
},
"00ffcedef05b5e1d23aecdb19ee39971b929c3584672726b796caf3d57fe0836": {
"c77c60903bb7a84bb711b0f3ad16c45989c87445c922595a3702c4a2ef4b397a": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.839Z"
+ "updatedAt": "2025-12-10T11:52:24.360Z",
+ "postProcessHash": "cdb41797935bc1fc2965605903456a2f5836bec9fe9e928d85b8ca3f1be16046"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.843Z"
+ "updatedAt": "2025-12-10T11:52:24.371Z",
+ "postProcessHash": "3348ec222e4d906c5f9d7612f2031ee25bf841479296f369a62d5f77f3078a67"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.844Z"
+ "updatedAt": "2025-12-10T11:52:24.371Z",
+ "postProcessHash": "206ad4628b9f1f4d7c30e87c867cc871f8f1a7f10e64510a4665f65be6f4fbb2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.844Z"
+ "updatedAt": "2025-12-10T11:52:24.372Z",
+ "postProcessHash": "4b983c817562190143425e9e2dd74f6b1f5f1dcb390df5605ceed59c125445ce"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.845Z"
+ "updatedAt": "2025-12-10T11:52:24.374Z",
+ "postProcessHash": "3ea0b83a95a3bb0e710aa3e310e8a1c63bf08b6554dc130a3b0fcfff407f3181"
}
}
},
"0a1deb2557697df7dac599130d8c3c16c9534baf51d2307653f8fbec61e3bacc": {
"501815caf35c4af73690df2e0de954fdffb7b6d3ee9f33b18da5d9bca669b16c": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.842Z"
+ "updatedAt": "2025-12-10T11:52:24.364Z",
+ "postProcessHash": "a4e15f77b159a8fd2ada5138071cfdbef521339e71ff7cafa5e5a6924085e802"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.844Z"
+ "updatedAt": "2025-12-10T11:52:24.372Z",
+ "postProcessHash": "39790afb14c74d47faf3eb5faa6d279970a6838f58e77a48437eb7c41ccc0395"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.845Z"
+ "updatedAt": "2025-12-10T11:52:24.373Z",
+ "postProcessHash": "1a58debbbbdf9942a8d979e5c94c72648e1d526eca672380d7fb831c26fdaa00"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.846Z"
+ "updatedAt": "2025-12-10T11:52:24.374Z",
+ "postProcessHash": "1f16366cc38cbbe779a0ceb644f2332515f5d35b3414c3c1fe65a4fe5a7dfbf3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.850Z"
+ "updatedAt": "2025-12-10T11:52:24.375Z",
+ "postProcessHash": "a12522f873c1856b40ad70d9d0fb714d32043758120266edf8a1b5af70e4b1e6"
}
}
},
"323dfcb2ef6dda2189ae466a043369f20aaaac621b8782cfc04a16cd31f39344": {
"8e10911719b390fa582ab724e54ea95acdd356d9977a8f8d787a57893800824c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.853Z"
+ "updatedAt": "2025-12-10T11:52:24.366Z",
+ "postProcessHash": "86c4c8752ddff361a7b98c368098b53f4cbc446aa5e73c97fbf922efcd4cb4b2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.856Z"
+ "updatedAt": "2025-12-10T11:52:24.370Z",
+ "postProcessHash": "6152fd19a27264f6c7b7fa7724f35604c5284591f30d40ff6915bb3d0bb71b22"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.856Z"
+ "updatedAt": "2025-12-10T11:52:24.377Z",
+ "postProcessHash": "40df43e1b9d7c765fb4218360f5dd7f46c06a833a2282f61c63be9fbd0cbe6c3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.857Z"
+ "updatedAt": "2025-12-10T11:52:24.378Z",
+ "postProcessHash": "077377822c90e87e22d46bf66977b42bef74ab0ff1ee4e9940bc00e1651d3154"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.857Z"
+ "updatedAt": "2025-12-10T11:52:24.385Z",
+ "postProcessHash": "118ba6b7b42b2dadc88235bb778833682191837211ff1a6be755c02c45d85f49"
}
}
},
"3f0739326908b84acdbfaf0f18300ec15d88b01690890ec93123801b2b492754": {
"887466f534dd862fdbe9fa6bc79ac38e079bb0ce053c3040f754c3db732171bb": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.853Z"
+ "updatedAt": "2025-12-10T11:52:24.366Z",
+ "postProcessHash": "b0742e1e80c6e1c22188556b51077fadaeb9bf25ead49eba84ba677cc0b0f7be"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.853Z"
+ "updatedAt": "2025-12-10T11:52:24.367Z",
+ "postProcessHash": "29975672d38e16dd1fba487b7a531a71c678108cf2a9ac18d7be754fae7fe6c5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.854Z"
+ "updatedAt": "2025-12-10T11:52:24.368Z",
+ "postProcessHash": "4cd88f0de2e4249d4270538073174fd0e739544df0d0a132cc288107905d909b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.855Z"
+ "updatedAt": "2025-12-10T11:52:24.369Z",
+ "postProcessHash": "ec48e347788740310e4a6b3e30fc605808c9967ad7bd2be5bbcc6d422d004dde"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.860Z"
+ "updatedAt": "2025-12-10T11:52:24.390Z",
+ "postProcessHash": "806390bdde2c0d8cfb331e1f483609ddc8c8fd9eb4cf0cc42e027c6de9aa4ee3"
}
}
},
"01963976ac7e7dc250667b8c6b60139d95d47f2930979ba741dc8b587e98823a": {
"7b4c2c4184fae7e334b37629b0b9f57d66fc87b0d0d43895c90642cb512c5c42": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.854Z"
+ "updatedAt": "2025-12-10T11:52:24.368Z",
+ "postProcessHash": "2a5027fe81eb7612ffb9d05dea1500ee4f0c1a9816a9ca506b2e794fcb078959"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.855Z"
+ "updatedAt": "2025-12-10T11:52:24.369Z",
+ "postProcessHash": "8c8f85b9f2db265a84ec7efbc561a15ec18b5895099b18d4487ea6329f5b1c6b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.859Z"
+ "updatedAt": "2025-12-10T11:52:24.389Z",
+ "postProcessHash": "62c8a2a7fac99ca004eb13a20750a9ca6a35f8b7496273f4bbaf623a67b428e9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.859Z"
+ "updatedAt": "2025-12-10T11:52:24.390Z",
+ "postProcessHash": "fc5d786da597c00fbc5632acccb0af743eed769f70571aa3c985a56487a09de7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.860Z"
+ "updatedAt": "2025-12-10T11:52:24.391Z",
+ "postProcessHash": "67711ca84b7bb9d60437ce790a85bfa6d2c7ac395b655a6c3c8fba9b117944f2"
}
}
},
"7254562218e5292bba63d44b2081beaa33aab1ca86a1e16643c1757bb9bf3bb5": {
"865c6199ce5b9faf8f137d4f726ef358400af57fba5106226929df77aa2fb855": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.855Z"
+ "updatedAt": "2025-12-10T11:52:24.368Z",
+ "postProcessHash": "598ba7923e0af2c9342cb3fc8b97b9da816eb2ae83931544db14b0f94edb32c0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.856Z"
+ "updatedAt": "2025-12-10T11:52:24.371Z",
+ "postProcessHash": "75657c500c0943ed44d1909701426d0efd7b0cef23cf7a45a88ae78621efe939"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.859Z"
+ "updatedAt": "2025-12-10T11:52:24.389Z",
+ "postProcessHash": "933eb55d161833b874898fc76ff83fbb38c768d4fd45d7051799558f212ffd20"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.860Z"
+ "updatedAt": "2025-12-10T11:52:24.391Z",
+ "postProcessHash": "94cf26739cbae6a6ba81694bb43806f58f39df6318e2a65119c054dd4809c7e0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.863Z"
+ "updatedAt": "2025-12-10T11:52:24.396Z",
+ "postProcessHash": "3e4914d950c2bedfb9bb3fbc9a0714f97df08d62a2afe1aa770b63cfa60f6bfe"
}
}
},
"b78b17624819108ba161bfdbbb02b16ef1376d17322f99d76265c8cf454eca10": {
"92e57b466edb42bdbece450b2d645767321c06ece03d92cc1d14fce4dbdd63cb": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.851Z"
+ "updatedAt": "2025-12-10T11:52:24.375Z",
+ "postProcessHash": "d715339538fed2bcec6f89991edf1666281758bd75cf1c3c5db3f428d56d231a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.851Z"
+ "updatedAt": "2025-12-10T11:52:24.376Z",
+ "postProcessHash": "ba59190f0a582ced3175dd5ecc100bc9ef0ea0bf5faff4c9f2058794cd84e867"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.851Z"
+ "updatedAt": "2025-12-10T11:52:24.376Z",
+ "postProcessHash": "a129c4b760ae6b62933906e90f8c538a104c3c2f21399ca73e1d3b2f4d5afdd9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.851Z"
+ "updatedAt": "2025-12-10T11:52:24.376Z",
+ "postProcessHash": "ba59190f0a582ced3175dd5ecc100bc9ef0ea0bf5faff4c9f2058794cd84e867"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.852Z"
+ "updatedAt": "2025-12-10T11:52:24.388Z",
+ "postProcessHash": "d1f89179705b579f2d9b782b439e64a5d66c273df6659c4802d1473f05c4339c"
}
}
},
"bf96a4729a68ef922f278eaf8c02a7c35d600c0a9a6b1b2d8b7334c03803516a": {
"96520ec466dbde5f957a8e7c3771f07f1b208af9b9459ad375e9f3f4fafbc20d": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.870Z"
+ "updatedAt": "2025-12-10T11:52:24.383Z",
+ "postProcessHash": "5bd6980bd055c8ed51df71dac03994411971d2019676d04e18b0779f2fb2605e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.877Z"
+ "updatedAt": "2025-12-10T11:52:24.432Z",
+ "postProcessHash": "e5d6d85fd9f7078c4b3d4daae0361d31eabfc407c02e96de3d1b8f30cd8c0cbd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.879Z"
+ "updatedAt": "2025-12-10T11:52:24.435Z",
+ "postProcessHash": "afb177bcd4aa7431eeb894ff56235779533b9ccac127ff7425259319ef83af68"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.879Z"
+ "updatedAt": "2025-12-10T11:52:24.435Z",
+ "postProcessHash": "5a846bb3342329a136c97ebccc35dc4a4b14cea2003bbb49b62fc244a25c05d9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.879Z"
+ "updatedAt": "2025-12-10T11:52:24.435Z",
+ "postProcessHash": "59f8d1f541b5645fd5d60550b433895721a79bb20e7322ae25503e87e7fa0a8e"
}
}
},
"ac756a753179f7ec00234f84f4f0a6b54e57a54c7ffe2f1e06f9e7b4219e5c10": {
"ebba2668ba93ca46acc94756dc5850802447829530ab62dcadd5b52be357a8f7": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.856Z"
+ "updatedAt": "2025-12-10T11:52:24.377Z",
+ "postProcessHash": "93055974684a54232fda249a0e24cbc2a1179b93cbc14fb195f745cc8c3a7dee"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.857Z"
+ "updatedAt": "2025-12-10T11:52:24.378Z",
+ "postProcessHash": "de9d7a53e52dfe81bf9336c016d07bfdd675cd5298e1f87c6df3df17d9379f5c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.857Z"
+ "updatedAt": "2025-12-10T11:52:24.386Z",
+ "postProcessHash": "8af77c5eb677155296ec3b26bff0ea831c388b5d26a2fd35d2c4652c92c636b7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.858Z"
+ "updatedAt": "2025-12-10T11:52:24.386Z",
+ "postProcessHash": "a01d6fb6b3b9fbac5fe97cc3f8997f1941d1f31da560b36fc26d5f3beb1f05c6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.858Z"
+ "updatedAt": "2025-12-10T11:52:24.387Z",
+ "postProcessHash": "3f972dc683b9054a688fdc4e7da76eb9957baedfcb22361aa42457090b0428f1"
}
}
},
"011c86d9467ddb91577408cf209f00c5044eccf7fb3ed63b8ecc0d6669cc44a2": {
"317c487b9ac9e03c8d4798b07c7b90f287017f90e5d4667b573b034f69028e02": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.870Z"
+ "updatedAt": "2025-12-10T11:52:24.381Z",
+ "postProcessHash": "ebc1feb8563115555dcc601e56c769d160fe9ecf4f08abdfadfd7d4f47ec33f4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.877Z"
+ "updatedAt": "2025-12-10T11:52:24.381Z",
+ "postProcessHash": "1fbbcbe6fe4bf605426271bd968a58892392359a5bab226303d09dc2a43b8489"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.877Z"
+ "updatedAt": "2025-12-10T11:52:24.384Z",
+ "postProcessHash": "4ce334425ac6244b76c9895798c54652aae18d3a0f291f17ffcff2f0f0563ea7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.882Z"
+ "updatedAt": "2025-12-10T11:52:24.382Z",
+ "postProcessHash": "87cd22dc67038c62d36b0b043ecee54f1e1c47ad45d63430b20b3a14466befbe"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.882Z"
+ "updatedAt": "2025-12-10T11:52:24.439Z",
+ "postProcessHash": "ce9f788d5fbc94de2351205a708464f9a6eb4cbefdd61b86594b597453fb8968"
}
}
},
"001de32b90f7695bf2649682e7b4e29309b43719759432507628312f75a81fca": {
"3757997a815a2927e264c1e9d663b128b11a22e70c1adef53a510095e6b886a5": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.860Z"
+ "updatedAt": "2025-12-10T11:52:24.391Z",
+ "postProcessHash": "18f7b6193ecd505215af89752e16133cb9daba44d57815a37336a4e2ac59b58e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.861Z"
+ "updatedAt": "2025-12-10T11:52:24.392Z",
+ "postProcessHash": "f98febda11c22b194fd99f4554aeb0d122922e17a0ea60b3eb12aba1285acff3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.861Z"
+ "updatedAt": "2025-12-10T11:52:24.393Z",
+ "postProcessHash": "94f6d40c21293fe4d17c609031b777093973ef68f9e83c34f36db38ed192f2ce"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.862Z"
+ "updatedAt": "2025-12-10T11:52:24.393Z",
+ "postProcessHash": "30d6de9ecb43a0ffccf80fb38a460e9eb8018ba8b12053114912808355c01557"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.864Z"
+ "updatedAt": "2025-12-10T11:52:24.397Z",
+ "postProcessHash": "9da648fa9251e9c7f19db2e56fd3f3a3c5760d6b3467f693866cfd69f54bb613"
}
}
},
"52b4c118fda5c72e8e7753a15df0cddf6d0ff1464d0e72aa36a1bcde209ee497": {
"44dbd7bb9571e415fbe55e43893382fb9b2c5fa54bd525be19af594f0d1479ea": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.861Z"
+ "updatedAt": "2025-12-10T11:52:24.392Z",
+ "postProcessHash": "8fd46820fc63faad05cc949e27a40603f614b1d9026fca0f40040dd29e72d514"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.862Z"
+ "updatedAt": "2025-12-10T11:52:24.394Z",
+ "postProcessHash": "b6995e4322e28745828c6973acfe0b598f476c958611abefcda6f4fa0f72fedd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.862Z"
+ "updatedAt": "2025-12-10T11:52:24.394Z",
+ "postProcessHash": "521b21305a6a3382e613141915a69ff2f66f36227d16df25190bcf8a9657c668"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.863Z"
+ "updatedAt": "2025-12-10T11:52:24.395Z",
+ "postProcessHash": "bb395677a9b974fb435d14d679c28ceb6843b5e0ff932d43a918e3947b847c4c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.864Z"
+ "updatedAt": "2025-12-10T11:52:24.397Z",
+ "postProcessHash": "1a49f656c2e55db9f92208c3c7b56767e18fb1dc34ae9820e6384e48356cc5e2"
}
}
},
"500c8d794ed9f5ff4c9bc5657fe789a96b1fbae8b413f3bb05326f3252578b82": {
"b61c58db6c0f38eea247b84e671622c9f69dca5a1e569e1553d3b39bfab4890e": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.861Z"
+ "updatedAt": "2025-12-10T11:52:24.392Z",
+ "postProcessHash": "a80def4780e6ca43524f0c1b09a7bc732458fa6790100c6965225a0ae4c8cfa8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.862Z"
+ "updatedAt": "2025-12-10T11:52:24.393Z",
+ "postProcessHash": "9998cc33f28b190806a857b2ec4d927deb1dad1ffd605c3d508f6e127403b191"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.862Z"
+ "updatedAt": "2025-12-10T11:52:24.394Z",
+ "postProcessHash": "71006ce3e6dcdbf7bacd46d36f509560168267cc972ace4189bf9dcc856b887a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.863Z"
+ "updatedAt": "2025-12-10T11:52:24.395Z",
+ "postProcessHash": "91bc59d55b74800c5459d5b6e40c001be2f44e230fd44c088f8921aca335e239"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.864Z"
+ "updatedAt": "2025-12-10T11:52:24.397Z",
+ "postProcessHash": "c6b0755997606f7b8a98aaf3e4a2603c62118a99e2f537448d09022a18bd41a0"
}
}
},
"c95316862e680f1f414566d7bc669f8ee2265b5d405b01d24766bb042169b1d3": {
"b19e63502674606a4e0a8b953c9020f4943803f5efa9e0b6ab989a36a3967061": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.863Z"
+ "updatedAt": "2025-12-10T11:52:24.396Z",
+ "postProcessHash": "640b556880852d3c3ddbb750ebe34791ddb5ae5e4b534f9300c423b812eaac8c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.865Z"
+ "updatedAt": "2025-12-10T11:52:24.398Z",
+ "postProcessHash": "0f33b434d1c15da5f994a1c34691afb371e1df5ebbbf68ad43f115c05074f90d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.865Z"
+ "updatedAt": "2025-12-10T11:52:24.399Z",
+ "postProcessHash": "3886eeb5f4bf03fc6a4a4d729487ab78f254f3b4f5a4038f071b1423a95b728d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.868Z"
+ "updatedAt": "2025-12-10T11:52:24.408Z",
+ "postProcessHash": "39473c1020ff57384828c6b253c41a9709e7eddd7f6a6b7108d904149dbf7073"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.869Z"
+ "updatedAt": "2025-12-10T11:52:24.414Z",
+ "postProcessHash": "c433b213be1c23bd4257e950757c9705acc089f4bc3c6c5293fefb46b25939d2"
}
}
},
"06cc8b82030bcffe3f963ba6041195e2cb33b1998d98ffbe3c232a635c5063c4": {
"695abf0e777354c4c92c798700f4903b0df6e591ebb5be83b96bd4f775c60c75": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.864Z"
+ "updatedAt": "2025-12-10T11:52:24.398Z",
+ "postProcessHash": "5ab3766ac89e22149d6b2d3c0914ec88d64ce2ff83f89b75fa6f680de255a047"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.865Z"
+ "updatedAt": "2025-12-10T11:52:24.400Z",
+ "postProcessHash": "5d077f247d876e44d22cd43473d3cd19f3f585abe994b9d48616e7ea7d01106b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.866Z"
+ "updatedAt": "2025-12-10T11:52:24.401Z",
+ "postProcessHash": "d106e1180e8fbdd427bfdf3a850f9b29860c8d8a3cb8d329bb084e3db5acff47"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.869Z"
+ "updatedAt": "2025-12-10T11:52:24.412Z",
+ "postProcessHash": "f0050fd39655726a303e43a050566477af730cc2ef3f7f0a7125b80a2ad9e6c9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.876Z"
+ "updatedAt": "2025-12-10T11:52:24.410Z",
+ "postProcessHash": "f65ee7b8342c2e3b7d984ddd5fac87b77924d365fc8cf6f14eb7ab2346f86659"
}
}
},
"233af7a151fe03e15fb75c6507ff9b515fd0865108003088fe1268b7209fb06d": {
"ac56724ed5b2b05e8c20bf2f3e81864d52cb4b61c722bfae513a77a9eb2a77b4": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.865Z"
+ "updatedAt": "2025-12-10T11:52:24.399Z",
+ "postProcessHash": "cf6071920225695d38306e6e2ea5786b21e68dbd1dfb5a48243e6b65da119529"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.866Z"
+ "updatedAt": "2025-12-10T11:52:24.401Z",
+ "postProcessHash": "85d8992aeef45587d9450041f4a028b053bca18a8eb2c227d171a4d61d511449"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.867Z"
+ "updatedAt": "2025-12-10T11:52:24.404Z",
+ "postProcessHash": "14df492687947dad62c3cc4fd4ff2dd20e47b2287a3a081e6b2bfee6419a273e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.868Z"
+ "updatedAt": "2025-12-10T11:52:24.406Z",
+ "postProcessHash": "b340e13944a0489f8e391be6d38d3f202119b67c40cf0d6fab571cd8bdd52e84"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.870Z"
+ "updatedAt": "2025-12-10T11:52:24.414Z",
+ "postProcessHash": "e11046a12e571e2af87d34a77354299374dba0e492485e1ece4eb46ef5037b66"
}
}
},
"4da39f06a5748526530098e9af95e332e2213cceef46051b20b336f90baaa845": {
"94668d977945d288958fefe4b5975d6ec53d367b0942d1aadf3ddea672713ecb": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.871Z"
+ "updatedAt": "2025-12-10T11:52:24.400Z",
+ "postProcessHash": "19610408653a43c8e8c3a812b698f5d0f72dc89136cc4b08b1cd2a3c6469db18"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.871Z"
+ "updatedAt": "2025-12-10T11:52:24.400Z",
+ "postProcessHash": "fc1eb0859a67eccda05c4e0266c8175e6df5c6ca8ba1b92e06ea6559bc2c45d4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.874Z"
+ "updatedAt": "2025-12-10T11:52:24.406Z",
+ "postProcessHash": "2bde14968b7963905f32aa7cfabcaeee82c496b0358b01d11e5354b13af3cde6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.875Z"
+ "updatedAt": "2025-12-10T11:52:24.408Z",
+ "postProcessHash": "0b52ec1bd305f5cdf1fbb90c4175a542c194558d111643f2b64537ec5375affd"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.884Z"
+ "updatedAt": "2025-12-10T11:52:24.415Z",
+ "postProcessHash": "cdd7b78e390cb143842b744fe8819f0086f3d9edc7de6a44ac4913edfd0d6a65"
}
}
},
"6ab60788a676f4b5c595c015615d2f7b9ea6bc63c38c6c06ffc1867e91eda737": {
"1b8f0aeb77d9b72ae7755202669ba0764383cf3b7a4b4b05ace88364eb05ae58": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.866Z"
+ "updatedAt": "2025-12-10T11:52:24.401Z",
+ "postProcessHash": "183306ddd03f12712c3eaa38ef1cad6148782a86a8cc6a9ece35acae79ac3bcf"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.867Z"
+ "updatedAt": "2025-12-10T11:52:24.403Z",
+ "postProcessHash": "f547d0435dab72b592fa5eceb5ca09c01499638abe43f6b9a7660d53c17abe04"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.867Z"
+ "updatedAt": "2025-12-10T11:52:24.404Z",
+ "postProcessHash": "e90fabd71f122b579e3689da5e55c4f422e4256dcb83134eeb210d0eedcca1e8"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.868Z"
+ "updatedAt": "2025-12-10T11:52:24.405Z",
+ "postProcessHash": "c048e44f39c2988b8cd802b505d6f74250689b83a081480f0e27a95022e4e855"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.869Z"
+ "updatedAt": "2025-12-10T11:52:24.414Z",
+ "postProcessHash": "0efec07fabfdf4f79ed2444a345c105b09f5410db915795378a9725ccac2bcd6"
}
}
},
"a46a1a84833a9edb20fdf72fb0f3a4cc1aa735e291a8fa86db53cb413c580314": {
"3bb489f048a7a101de4aad68733f54f0bf9c18ed179ed1b992e5334d539c7557": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.871Z"
+ "updatedAt": "2025-12-10T11:52:24.402Z",
+ "postProcessHash": "312789e6ecdeedb8561ff278f6c0acb3e383a06d11ae59d359a6235b393596b8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.872Z"
+ "updatedAt": "2025-12-10T11:52:24.402Z",
+ "postProcessHash": "66a397c9739de0875832e4e7162f2a09dd4ba1ab653920258121568f0bad1fa1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.872Z"
+ "updatedAt": "2025-12-10T11:52:24.403Z",
+ "postProcessHash": "4fbe5bc371f933163bcf9642191d8f8d05ea36e44c9840c9f8455958a50fb552"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.872Z"
+ "updatedAt": "2025-12-10T11:52:24.403Z",
+ "postProcessHash": "0d8db8ff1cab39f94062a72d1cfa8908d17b01059de7fb7860a945dd68dc8398"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.877Z"
+ "updatedAt": "2025-12-10T11:52:24.411Z",
+ "postProcessHash": "e020b5de1c77c03c638e76fd2913ef7a48a6201c30ae54442cf077f4639b038b"
}
}
},
"bae5da556fcdb4d60769c66cab26c38aec89873d704e2b222243dd158a35dd5d": {
"2a1568eab4377e4e930b99734f26b39156f5a2f8d369329b9a2d3d8af01b67ec": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.872Z"
+ "updatedAt": "2025-12-10T11:52:24.403Z",
+ "postProcessHash": "e8203b0e45a2e78919a10bd18b8cb552b1219af095427cd35d97266e610f1c9f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.874Z"
+ "updatedAt": "2025-12-10T11:52:24.407Z",
+ "postProcessHash": "88b8935ba958f044d7eb7bcfa7a8025961e5e035cfeb25993c318c38bcacd183"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.876Z"
+ "updatedAt": "2025-12-10T11:52:24.410Z",
+ "postProcessHash": "ea759fbaeea1e3493b238ae9dab7735cca2c3a00fad4fdb10637917e06dd28d4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.883Z"
+ "updatedAt": "2025-12-10T11:52:24.413Z",
+ "postProcessHash": "7dc2da99d678899260b067da84d01c2557039188da03f120f7df0f0d593947d2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.885Z"
+ "updatedAt": "2025-12-10T11:52:24.416Z",
+ "postProcessHash": "4c9e4ea530f3dc51c322246f878e112257482298047d8215d83569ab6547a6bf"
}
}
},
"d4438a2b7cf9cb61b618608d0869260bd4136e3863bb0aa44b3f645a94a5a888": {
"cce24dd1d30bdfc0b0d50fa82b0f001372547522fb754e3ca597b33b7aa22096": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.873Z"
+ "updatedAt": "2025-12-10T11:52:24.404Z",
+ "postProcessHash": "59d173cdf4a3eff92be69640cb62cb4aa9f6b169d5405dcbf0080b9497379c50"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.873Z"
+ "updatedAt": "2025-12-10T11:52:24.404Z",
+ "postProcessHash": "7da2df0d0295f6ce2b63d55f55ac2e9c397d408fea2b0bb38540a89a5c855823"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.873Z"
+ "updatedAt": "2025-12-10T11:52:24.405Z",
+ "postProcessHash": "3373238a48e4430aec46fdfca6955dee5b017236adb0cc320a1b31938afcefd0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.875Z"
+ "updatedAt": "2025-12-10T11:52:24.408Z",
+ "postProcessHash": "3f5addcf67a6a6973106aadcc53f64f6123182242ff671377e6ee0359b57b5e4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.884Z"
+ "updatedAt": "2025-12-10T11:52:24.415Z",
+ "postProcessHash": "f3d3b40a4aae4ce76d6c26d2874b10704405ee3eb7ee085554a9054b6977740d"
}
}
},
"e5451f6b5f832d3bd7a0e592178417a5a493985340a5e38274d32278372ab1eb": {
"7d641bb2a87f9221685890de924abce1ee484add81a6bcfc6138aec3a1d65352": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.886Z"
+ "updatedAt": "2025-12-10T11:52:24.383Z",
+ "postProcessHash": "10505270639a3bdee53c6d98c7ec02f8eda47e3ee8ca35c617d8d815dfaa0eb0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.889Z"
+ "updatedAt": "2025-12-10T11:52:24.384Z",
+ "postProcessHash": "6042ed436e1b607016c193eea7ea61db6358602dbe5cdfc8cbc3e178aa4b6c47"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.889Z"
+ "updatedAt": "2025-12-10T11:52:24.385Z",
+ "postProcessHash": "4ac42a95e71bb40a093281eec01e662cc8c0e6af16174887bf7d980d759ed971"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.890Z"
+ "updatedAt": "2025-12-10T11:52:24.385Z",
+ "postProcessHash": "b29e8474156c191ba54adb7b90b6b63c0a5b007aa211b71965d64986278a86f7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.890Z"
+ "updatedAt": "2025-12-10T11:52:24.385Z",
+ "postProcessHash": "6c1423e1453a996e8fd1ee1089db48b23a157fb83e713d0d41bb42b7b03e2323"
}
}
},
"18c4768dfc8507d36e8ed4d81c0c0dd1514c2787d6416879413c948c9700542f": {
"6aff491d3f46cf79f8fbcf7e1bcb2c7e52851a95fa6bc656ac2ea1d4d0d06677": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.886Z"
+ "updatedAt": "2025-12-10T11:52:24.384Z",
+ "postProcessHash": "a59174e3798bb867889630eb7a2d6819ec23fe6f3f5f8c0a65a81415455a7804"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.890Z"
+ "updatedAt": "2025-12-10T11:52:24.430Z",
+ "postProcessHash": "a0b83cc5cb7a2004bf0808043b3c51f6045cea8af5d1093f6cb2189afa37e3ba"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.895Z"
+ "updatedAt": "2025-12-10T11:52:24.442Z",
+ "postProcessHash": "97811a0d23955a8cea94a7f18ed620eacbf64a23a1dfc0acd430a4868c69ac4d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.900Z"
+ "updatedAt": "2025-12-10T11:52:24.445Z",
+ "postProcessHash": "e4fee75d7e31f01e88ae9a3584a56672f490ba0453965f2208c7283479e50186"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.907Z"
+ "updatedAt": "2025-12-10T11:52:24.450Z",
+ "postProcessHash": "1c9d2b6896a452b57dea18d9ecaa5b652ce8673f8a1ff3ceed14cdfc69c16e78"
}
}
},
"85e177f44bfd9b2c3575bd054c9cbc08acbfd601cde2e499ae2e4cdeb9877446": {
"74fd66d4af12b6a9ba68e8963e8e8decba8f3f2f36a4b799560c5ac79da941b0": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.887Z"
+ "updatedAt": "2025-12-10T11:52:24.428Z",
+ "postProcessHash": "28b69effda97375d627c6b9946667f658478d8a57f83d82edb48402c323c9eb5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.900Z"
+ "updatedAt": "2025-12-10T11:52:24.445Z",
+ "postProcessHash": "30f30ca0872ac03d702c1bf90352b5696ed3edf02ec69f2f1bf4c6beb50a9286"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.901Z"
+ "updatedAt": "2025-12-10T11:52:24.421Z",
+ "postProcessHash": "e9cd431735613e0e8153006cdbf5f5a067690665f38aedbc90b602ec45c6c62a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.903Z"
+ "updatedAt": "2025-12-10T11:52:24.448Z",
+ "postProcessHash": "cd674d0446b05fe1b03226217ef7a02d8b16dffdf62d5c5858687061e17b50e2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.907Z"
+ "updatedAt": "2025-12-10T11:52:24.380Z",
+ "postProcessHash": "ca5911a42b4dcb18b3ba74a9bb7ba7a160aff6923ab6d0d05349aa48428664c0"
}
}
},
"3e28db28d39b699d92edc9e76788079dc49fdadc53536a7cee319e9c7b30f0f9": {
"1bc27d8dc3f290a213351137d50a08057cc163a8ab4a83e2419068f1c50001f4": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.887Z"
+ "updatedAt": "2025-12-10T11:52:24.426Z",
+ "postProcessHash": "3da602bc8c6d1a90355738dd79ef8489138ed3048d1b665f5701dca31f969353"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.888Z"
+ "updatedAt": "2025-12-10T11:52:24.427Z",
+ "postProcessHash": "b22c043e011ef027c973d18d1e63af292a99dd80cabd5db95b0913bcf8bef9c8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.897Z"
+ "updatedAt": "2025-12-10T11:52:24.425Z",
+ "postProcessHash": "e755eeec3353934ce37fd2e692fa8dde67f9c84c1e437d11819b9dc69954c118"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.900Z"
+ "updatedAt": "2025-12-10T11:52:24.445Z",
+ "postProcessHash": "5fed5e56cef214b1f3d3b73620112c310f4c99d23af81353a21f5711d6fc61c6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.901Z"
+ "updatedAt": "2025-12-10T11:52:24.425Z",
+ "postProcessHash": "59ad520034bf807dfc0add86e424fbe23f3ba974a2a93f577048b1d2499506c3"
}
}
},
"c99079a7d71f8fdc2873e24d135ec4b0a060a69ec0515765839d38cf24af77a6": {
"80f7e5e55bb5f74b12cc89b001f21e80c820e672c15a71e94ff200b182499d99": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.888Z"
+ "updatedAt": "2025-12-10T11:52:24.424Z",
+ "postProcessHash": "bc4edfd5957e3647b7696d182a60bc8ed6c287935402f33f1f23bbc89ba04a1c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.888Z"
+ "updatedAt": "2025-12-10T11:52:24.428Z",
+ "postProcessHash": "d1741e64d3b2118f10c09ca82cf49d0587d147105cd6f5e79c49db89ab0a69d0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.897Z"
+ "updatedAt": "2025-12-10T11:52:24.424Z",
+ "postProcessHash": "d6f9999b29e3f8af729673c16e50d73ed9690ec7a600b65574e02cc638c6f4e5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.900Z"
+ "updatedAt": "2025-12-10T11:52:24.427Z",
+ "postProcessHash": "0bbc8c78ef8a7dcb8a677ccdc1da719966f2349a6c17af127f2dd9b6174989e0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.901Z"
+ "updatedAt": "2025-12-10T11:52:24.445Z",
+ "postProcessHash": "42a5faca2e73a26816bcf7e4420b5f44ed267821925ce5baaadedd4fc0f1a987"
}
}
},
"c9d302c499ed566f6c53cdc8719c4b64bf25cb2d352b2db1498330fdb92a49c2": {
"0512d6dcf4c20d10ec897f69f28e8ca319ef900950d7aa3d4e44d6f9f948fb04": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.889Z"
+ "updatedAt": "2025-12-10T11:52:24.429Z",
+ "postProcessHash": "982ef1909feb0f990c2facb5f1942bda44cdebd79bf475faad62afda456fb48f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.889Z"
+ "updatedAt": "2025-12-10T11:52:24.429Z",
+ "postProcessHash": "b15dca62e01c7428c713cf3a613a5788eb7d730ba9122cc9dbcf2047dfe77275"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.901Z"
+ "updatedAt": "2025-12-10T11:52:24.446Z",
+ "postProcessHash": "5ac63dfe7b6ce8468dff15c82be244831297c9ce92a7524a4ca4c3dbc4cf6340"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.903Z"
+ "updatedAt": "2025-12-10T11:52:24.427Z",
+ "postProcessHash": "95f9cca525bb555207d90874eb6437a0827e0c0f791809cc9b218a72f66a4e5b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.905Z"
+ "updatedAt": "2025-12-10T11:52:24.456Z",
+ "postProcessHash": "d6da1504f3ec18fa681a54d35ac0eb20aafea1fedae2987820493e180a9c0021"
}
}
},
"dc9f58d7b1774c99b63a6e6df794f3227596f3c50efc348f6731914a61fd9865": {
"5ee7701472e46277b2bf368ba8a70d8e3d9af0a4463372249b43be0f228bd23f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.873Z"
+ "updatedAt": "2025-12-10T11:52:24.406Z",
+ "postProcessHash": "6986cc723e27d086ef02cc97b7d346ea9f4298b800e449600eb3cb672f2bb42b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.875Z"
+ "updatedAt": "2025-12-10T11:52:24.407Z",
+ "postProcessHash": "e8aa0bbb82f566489bd35b9c13417dd4e031b9b906de250f16751ce5440e4228"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.876Z"
+ "updatedAt": "2025-12-10T11:52:24.409Z",
+ "postProcessHash": "5f63fd98539631937fd0be16887f1df268c481d43d36efedc84c37fc8b7a3cbc"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.878Z"
+ "updatedAt": "2025-12-10T11:52:24.412Z",
+ "postProcessHash": "aecb945bea49cfce942994d92200421fa7ef6bd488923265019da3c111d24e9d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.878Z"
+ "updatedAt": "2025-12-10T11:52:24.412Z",
+ "postProcessHash": "b967525b527e45a2c21269fd2c27f360ab3bc22074858888bd2b6bbd2728c913"
}
}
},
"737aad5309ad686f8bb1a3e3266557ba4e3627e02ee82218ef0a19a6fce276d0": {
"9c709341afa567610de31a8eb9a65f8e3cc9d69c0ca1ec1c1b8505e409738dd3": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.874Z"
+ "updatedAt": "2025-12-10T11:52:24.407Z",
+ "postProcessHash": "009c0d3eecf0a48b718a827cf64c3931524592a3c6a6cb60a18b8e8beba8fb19"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.874Z"
+ "updatedAt": "2025-12-10T11:52:24.407Z",
+ "postProcessHash": "a2b1450668076ad583d61faabc059bdcde4bed1f8887bab917d672b226b2bd6e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.875Z"
+ "updatedAt": "2025-12-10T11:52:24.408Z",
+ "postProcessHash": "ed04b50ac4ee418c50d7213582a821ed7b3bbe2e9d9d6e166c676d35bc40429c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.876Z"
+ "updatedAt": "2025-12-10T11:52:24.409Z",
+ "postProcessHash": "7dbcc50981310355a260df077142010b3b34e035a0ae3f3cc242baeae56fdf2b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.876Z"
+ "updatedAt": "2025-12-10T11:52:24.410Z",
+ "postProcessHash": "242edad69ff3690e2ec51255905888efcb1e1407b968c02092d35627e6fb494c"
}
}
},
"7ea35946f1f2bca19b7c4e9d624e24c4875a0682aea7c0fa7a00c722512a86c7": {
"86417666353a5a998fcc830b8b3172b493f95ae13a75766fefbe302b4ffc17aa": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.878Z"
+ "updatedAt": "2025-12-10T11:52:24.433Z",
+ "postProcessHash": "21646ec80476f476d9c045d694b3a16f1e41de76cd7a9190a34fb56b5ae21a28"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.880Z"
+ "updatedAt": "2025-12-10T11:52:24.437Z",
+ "postProcessHash": "bbc48e22fd89b7ad831ef06dca74061d287e64f8956d1dc6e36c0a6aae54f3d4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.881Z"
+ "updatedAt": "2025-12-10T11:52:24.437Z",
+ "postProcessHash": "03d6e32e202d1b42643a5c6f0427a4234851f4563d9ab03bc3f63229979a56a4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.885Z"
+ "updatedAt": "2025-12-10T11:52:24.451Z",
+ "postProcessHash": "8fdd277215e194bcb9f042f04661b42f85d0224e17c82d3aef290e90034ba560"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.886Z"
+ "updatedAt": "2025-12-10T11:52:24.451Z",
+ "postProcessHash": "97d94af9d0d2febc29cad890bfed1218c2c6a6462a9f0d1b18c950e896c4605b"
}
}
},
"09126a7362fcfdd43668d751f3036ebfd2bcc4d1da8a194a18cfba63e6e3e659": {
"a387eeb396f3e18d3da25159ce881d0bd0a70bcebe6dcb1045f9687f46097726": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.878Z"
+ "updatedAt": "2025-12-10T11:52:24.411Z",
+ "postProcessHash": "4087fc573452ff823e35758440492c799969ec35528e783c53710affe8976b52"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.880Z"
+ "updatedAt": "2025-12-10T11:52:24.437Z",
+ "postProcessHash": "afb88251f5f290256c94511af8916d69d84b0e939ebb4b480d92d16d527bcffa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.881Z"
+ "updatedAt": "2025-12-10T11:52:24.439Z",
+ "postProcessHash": "ebd2315a19061f5e386796e163ceb52453e6b72edc681446a387af074c75593a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.882Z"
+ "updatedAt": "2025-12-10T11:52:24.413Z",
+ "postProcessHash": "d0c11189ef7dc8e3dc290bdf7c47d118e074f2609cd19ac0afd55a5ab283dfa2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.883Z"
+ "updatedAt": "2025-12-10T11:52:24.413Z",
+ "postProcessHash": "64786d51ff3dc65eb1dda2362c0019ad44acf631835fc3fb6af85743ad804330"
}
}
},
"b549f9163243ac2b9ea3af64e60476d2d5462568418fea77dad22d5c7b3e0b98": {
"1823e2fffbb1083bd35225ef599563e8d2a278195144f97ca6d2be4cf8029a99": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.879Z"
+ "updatedAt": "2025-12-10T11:52:24.433Z",
+ "postProcessHash": "9a46a49f866be5e9efb529f61b36f39bbf019291b1a8e5cc0f337dc5281df6b1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.880Z"
+ "updatedAt": "2025-12-10T11:52:24.436Z",
+ "postProcessHash": "9238e0afa761b633bf4cbb1b8b408c5173893232a46cec87af9d7333258d8bc8"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.881Z"
+ "updatedAt": "2025-12-10T11:52:24.438Z",
+ "postProcessHash": "5c148893681388979b9b7a55927b0c00f83821e78a65880751219d53bba1fa6c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.882Z"
+ "updatedAt": "2025-12-10T11:52:24.440Z",
+ "postProcessHash": "ea811c6e9a1c8240032b153d447be0275eb09400e57fbd296f79a475fae7d67e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.884Z"
+ "updatedAt": "2025-12-10T11:52:24.450Z",
+ "postProcessHash": "18e3985ad48950a74849fce599e810974df482fbc817082e035d6b03c253f912"
}
}
},
"98068ff7ee2c81dee29cb63a7f6db14a58f4ee8b8424f8229bb54d49322aca0f": {
"74dda50940d70cc62116496ae11ed60299f94aa19615a8d1569da2910f9efeb1": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.879Z"
+ "updatedAt": "2025-12-10T11:52:24.436Z",
+ "postProcessHash": "6cdf6ea1cde20c73db8ccaa122784baca0d59a247e390cc2f4b5451fc2e1a043"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.880Z"
+ "updatedAt": "2025-12-10T11:52:24.436Z",
+ "postProcessHash": "bbdd5cdd7d5b6087e12f038873094513a78a4a3729eb7102b015eca319ee6542"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.881Z"
+ "updatedAt": "2025-12-10T11:52:24.438Z",
+ "postProcessHash": "e2f0975569420664bc1fa8a465dc1798ee71a56a4f209756b61258f5076f6185"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.882Z"
+ "updatedAt": "2025-12-10T11:52:24.439Z",
+ "postProcessHash": "32c7e6632ac286bdc306487a53b793af233dcfc7f40b1edfb302f5595afb787b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.886Z"
+ "updatedAt": "2025-12-10T11:52:24.452Z",
+ "postProcessHash": "a28b177bc0b2bc40fb1b6eeabe4f9a88dffbdebab9c6cdde8f4857fe765e7740"
}
}
},
"080e9e2275c60d42b25c7d3a42c38babdc389c3a6d01dea651d0a5f654b482f8": {
"865d45e058ee2dc074b3d79d51a21a127d1bbd3af4b958bcbdd3d149a3f10938": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.883Z"
+ "updatedAt": "2025-12-10T11:52:24.441Z",
+ "postProcessHash": "95b4617536142705cfe4b66eacb47b40d6bc5ec5c2da30493b32ace60f2dee66"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.883Z"
+ "updatedAt": "2025-12-10T11:52:24.443Z",
+ "postProcessHash": "bc9b5b36a1d90426393bfd0b19151aa55467616fae4185db52531a4542e5f68c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.885Z"
+ "updatedAt": "2025-12-10T11:52:24.451Z",
+ "postProcessHash": "c934f0d507bc458870e86321e7fe63e5a979591418bdae5ca9e1ebe0fa11baea"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.890Z"
+ "updatedAt": "2025-12-10T11:52:24.431Z",
+ "postProcessHash": "0fa66d55bf401b964779e5b6fad2290a1508550f4f482b511860932b26b3e523"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.892Z"
+ "updatedAt": "2025-12-10T11:52:24.434Z",
+ "postProcessHash": "6646174a836044ed8318e8ec8bd548a38d0e0507093c8d3f528d981ecf543bcf"
}
}
},
"af49fbaa2a555043e4d81eebfa65486c7be9a264ace1bafa756c7856ffaead62": {
"604abc5b9cad364e3798e74e490b84541e8cc631a60fb2a1177fd607607ffe9d": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.909Z"
+ "updatedAt": "2025-12-10T11:52:24.420Z",
+ "postProcessHash": "5997900290f420320ad2d0b69ee1132809edd9218b31d90357656d2f81ae0537"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.914Z"
+ "updatedAt": "2025-12-10T11:52:24.379Z",
+ "postProcessHash": "50b2acfab2eb55237e20b76cafe144b92527365c46ef4358ac559760b3956e7d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.914Z"
+ "updatedAt": "2025-12-10T11:52:24.419Z",
+ "postProcessHash": "9b9e6517598f2f8b198598c475887dea7efd611b88ce28c09106f11d4924b01f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.916Z"
+ "updatedAt": "2025-12-10T11:52:24.419Z",
+ "postProcessHash": "e734ff7b1894218c6d929a170751bd31652d24a2609517e16f10f5ce9af5cd74"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.918Z"
+ "updatedAt": "2025-12-10T11:52:24.418Z",
+ "postProcessHash": "c1847a7074007acaef1378b43e51b57f0183dc7560b2c289a8e24d218e9d0443"
}
}
},
"654b798886b8d8a95471b8159040ced8259ea9a060c546e4a03a43614734633f": {
"2a3825b484776a8cc9d69c91f16670c8a4e6a35d3217e4047b584bbaa3bc5378": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.909Z"
+ "updatedAt": "2025-12-10T11:52:24.423Z",
+ "postProcessHash": "4841bb3d8e6d4abd58b091e4ef814aa3136fdd7b5c33e11953c2e52ef8d35bc5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.911Z"
+ "updatedAt": "2025-12-10T11:52:24.380Z",
+ "postProcessHash": "efd08bc4d7c8c1ffaebc890bfa48488763fa63a82bef2ceed1836fa7d23fb71e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.916Z"
+ "updatedAt": "2025-12-10T11:52:24.422Z",
+ "postProcessHash": "1e5ee337bf14badbc692eb3ba3bab13a679263be8d8f8ed0eccbfb4285bbd439"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.919Z"
+ "updatedAt": "2025-12-10T11:52:24.422Z",
+ "postProcessHash": "9b9e103dbeaed505ea9530af0b0dbb61463df70029a7209b6ffbb99b5b80264b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.920Z"
+ "updatedAt": "2025-12-10T11:52:24.464Z",
+ "postProcessHash": "de0d08d5a5fabf3ccd840cfa22af7fe982a3c8151b42e78ba20f4ea01462b7e6"
}
}
},
"c93efd216e26b7981e63cac7ffa0af5b0c0ea9d29de601ae1b7fb3c2a88fec7c": {
"42509b581f611a34f065c33782da7f816f34a56f59d93f141e29d140dad11836": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.909Z"
+ "updatedAt": "2025-12-10T11:52:24.430Z",
+ "postProcessHash": "18dcfdfbbdcbc4014d1b317485378a8c1d4ce0a115b08ed16cecb3007a7790a2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.918Z"
+ "updatedAt": "2025-12-10T11:52:24.462Z",
+ "postProcessHash": "ec907e15077c8a067ccd61a4f2d91d602301975505e32e7ed15ad9f61cbdf662"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.919Z"
+ "updatedAt": "2025-12-10T11:52:24.463Z",
+ "postProcessHash": "cddaf93b48f556ef192c9bf18c08c5e3d9baee32947dc6e054322c7fb2a95f54"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.919Z"
+ "updatedAt": "2025-12-10T11:52:24.463Z",
+ "postProcessHash": "d9494805687eb7100ea8f0e3613e33897179df6dc7862ed2527ba0de42c3f223"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.920Z"
+ "updatedAt": "2025-12-10T11:52:24.464Z",
+ "postProcessHash": "5c428eb0cf46e68b982d92403defebcfa65be19d687430d1f407df68e3daac09"
}
}
},
"942d13d3962dd5fdc5ab2a7b1574432cd5374c2ca3f070f9a35c37cbd4442e2b": {
"2602bbcd3ac5e1bbb881e313c430f9c13e0835786c0edd5279cfb5415b27a15e": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.910Z"
+ "updatedAt": "2025-12-10T11:52:24.380Z",
+ "postProcessHash": "e9342d28370cd952f43f9d8db7f35ae84f1847a9d5be925045bd289b8efae3f1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.919Z"
+ "updatedAt": "2025-12-10T11:52:24.420Z",
+ "postProcessHash": "f7ccc7da3436f9f8fc37864464e46fa33eb01540b7c6ad84991acc2707bd9de5"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.921Z"
+ "updatedAt": "2025-12-10T11:52:24.420Z",
+ "postProcessHash": "8dea08032c8d922063b90c10cc91ec9cb91f4bc49e405b8671e5159d3fc38b87"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.921Z"
+ "updatedAt": "2025-12-10T11:52:24.465Z",
+ "postProcessHash": "737b8fe149e717b88fed0cfa4c43f261ab2887a2ec23819f82d88332b882b3ea"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.922Z"
+ "updatedAt": "2025-12-10T11:52:24.466Z",
+ "postProcessHash": "00056eb3c6864d84723ae7ba487ffa2c2ffac86257c0e3f5cdf2a290e733ebbb"
}
}
},
"aee66e2e299b1d92bdcad7b20522e0bd1c1462128f1d4dc1b694cbfaf087b6bf": {
"dab84ddaae43f703650c89770729f6ca5fbfd3a40a8e37fb9965a2b13d20953a": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.910Z"
+ "updatedAt": "2025-12-10T11:52:24.453Z",
+ "postProcessHash": "e2fdb9d67220c165fbd2007b2b8130a340011e0eeb23417587f077ef71e23bda"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.911Z"
+ "updatedAt": "2025-12-10T11:52:24.430Z",
+ "postProcessHash": "84401c632fdc6e19c39fde5abbe84e36cfc76977452064155df47386d7e77cbe"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.911Z"
+ "updatedAt": "2025-12-10T11:52:24.454Z",
+ "postProcessHash": "5f70b4285435914724dd495759ca36b0ca003a822da4b673a352ca8461971d94"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.921Z"
+ "updatedAt": "2025-12-10T11:52:24.465Z",
+ "postProcessHash": "b03664f40d17d88077fd12be358830609c9776b9daf0b52cc1e8bf00b84246cd"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.928Z"
+ "updatedAt": "2025-12-10T11:52:24.473Z",
+ "postProcessHash": "9655ede8f060104b6cd19f7001e1aef22c916757b401e192ffcee99d04ca6408"
}
}
},
"5e545735a0c99c1f2e151e8ab50394e6934fdd565324107d385040db60e4765a": {
"9b098ab1a95803b888e576c11d518c294d1e857602ce565a6ae6c8d98950f054": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.910Z"
+ "updatedAt": "2025-12-10T11:52:24.422Z",
+ "postProcessHash": "0e3bcdfeba2ad92572cf6825bb73411ffe990ddfa42ebdd62a29a00dd13f49b9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.917Z"
+ "updatedAt": "2025-12-10T11:52:24.457Z",
+ "postProcessHash": "bead1c87114799195b726b5b94762875321b9f0e70208500a5e2ac44c4d8a7e0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.920Z"
+ "updatedAt": "2025-12-10T11:52:24.423Z",
+ "postProcessHash": "fd88ad1972079022f151bfa2ce961ac5237dceccc2f7d53556e4597bcff36be2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.922Z"
+ "updatedAt": "2025-12-10T11:52:24.379Z",
+ "postProcessHash": "b2af0a5d73cfcb249c0c5143bda2336fc70c0dc6d92bf64fb35ba24deb6c1218"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.922Z"
+ "updatedAt": "2025-12-10T11:52:24.466Z",
+ "postProcessHash": "18a5269f5ed6e8acb1d8d9b3d563e6bcb84441eed88cb662a4ba41a024ff52e2"
}
}
},
"9b97f2e017159314690015b7f3a0801c1ce6dd1e3d6c0c42f6431ec7393d560a": {
"69704b9fbdb9a299e4bd387b7175ca7836f935179f82bb1e738c4805646cfb50": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.891Z"
+ "updatedAt": "2025-12-10T11:52:24.431Z",
+ "postProcessHash": "bd5e669c0df4497adc3744008c66fb1158a3be746c170d434ab498aca96e9e16"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.898Z"
+ "updatedAt": "2025-12-10T11:52:24.443Z",
+ "postProcessHash": "3481bd8bb647dbca575503de549eb1b401c75fefaf6da549c9831986da829afb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.899Z"
+ "updatedAt": "2025-12-10T11:52:24.444Z",
+ "postProcessHash": "e3dda20cfc82a6cc36de2cb9530ef272769fc009befb177999d672e140223474"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.906Z"
+ "updatedAt": "2025-12-10T11:52:24.449Z",
+ "postProcessHash": "fcec4d8e45a0668ef366c088be8d3955097baf4ce1e12d13a60a252e2389c676"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.907Z"
+ "updatedAt": "2025-12-10T11:52:24.450Z",
+ "postProcessHash": "63de2b4711b23ebb9d0760de7670bbcb73f85bdb008cae00c08434723ccf8c6c"
}
}
},
"a8d9a994a49398650a11af2f9d14d5f01f817afb4cb02d47df6c5cb7ddc586c9": {
"54315efa57fac40eee410db7c102cfdc47b8a437620f21c75560d66cf81cc71c": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.891Z"
+ "updatedAt": "2025-12-10T11:52:24.431Z",
+ "postProcessHash": "ce6a589e77bcf5d5db12420be1ca99b23ef46ad9d89192e45520b856cc3641f3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.891Z"
+ "updatedAt": "2025-12-10T11:52:24.432Z",
+ "postProcessHash": "261e2ff574a4ebe84314f1984b25933a55157b23dbd29c4c146813ef5e8a52d1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.892Z"
+ "updatedAt": "2025-12-10T11:52:24.432Z",
+ "postProcessHash": "d6137ec13129cdb9693257d423511b244230b0cdfe53e343b3d703b36683317a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.902Z"
+ "updatedAt": "2025-12-10T11:52:24.447Z",
+ "postProcessHash": "4322745ec66e7c5e71301f2a04720381493510bcc57a1225d93f9470bc84fa81"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.908Z"
+ "updatedAt": "2025-12-10T11:52:24.452Z",
+ "postProcessHash": "d106bbff487517e18347a8ff935df64855d978e4aae22eeaa259799bcfd01c41"
}
}
},
"4eb40d2fa1e9e4f9861c3c1d496c11b103ee1268582bb3240c1f0c55265ae61a": {
"ba06f5b99fcdf530d8268246cafd1d9a851907d931c8d1cc9aecbc61a7320168": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.893Z"
+ "updatedAt": "2025-12-10T11:52:24.434Z",
+ "postProcessHash": "40aa58ae72384f251349bc3e4c78a59d631bbbd3e6d2c791072b6e070a115ad3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.894Z"
+ "updatedAt": "2025-12-10T11:52:24.441Z",
+ "postProcessHash": "0dc5674ad227a11f171e51a919783026b3f7db5ce6e93a8ab782a7fa369f71e9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.898Z"
+ "updatedAt": "2025-12-10T11:52:24.443Z",
+ "postProcessHash": "3d3c3a712c99a216165ed56ee506f6d65ce6a8e4a87a1989ef31d0889c6799af"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.898Z"
+ "updatedAt": "2025-12-10T11:52:24.444Z",
+ "postProcessHash": "47c89bad49e38e79c6de084eb30b0f89a68a38fd52ec23bbb382802ccb534a09"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.899Z"
+ "updatedAt": "2025-12-10T11:52:24.444Z",
+ "postProcessHash": "780614f52c0ae9eb7d218e25134bf08c2fa12c9054a1a14663d91640ab704270"
}
}
},
"f59be9eeaf2f6b0b6f94c147961c83944433738bdbd24882826668f0249ef9a2": {
"d20babdb5079122b8210a9c5e528f1379b80476d4a074542050f3194b61f5d5f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.893Z"
+ "updatedAt": "2025-12-10T11:52:24.434Z",
+ "postProcessHash": "d7189ffe7812e50e8c4da20a87572bb785e16f27b407a3582daa090d1340220e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.893Z"
+ "updatedAt": "2025-12-10T11:52:24.440Z",
+ "postProcessHash": "e95cdea8ed51bfb58fdace358a41ef9745916c39e2605a3df79b6c06e92cd1fd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.894Z"
+ "updatedAt": "2025-12-10T11:52:24.441Z",
+ "postProcessHash": "d838ecaa3968093de216fcf30be6df73b8296ccae150fbe2cd8e850561d43e07"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.895Z"
+ "updatedAt": "2025-12-10T11:52:24.442Z",
+ "postProcessHash": "f1f964c5be1f96606242df66b2114512f270952629bbf071e53d74e41577ad0a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.908Z"
+ "updatedAt": "2025-12-10T11:52:24.451Z",
+ "postProcessHash": "73243f0e45ce513352170da3366135e6261996bd629000593481348702eee3a0"
}
}
},
"bdef105a0806c76b3793c22039f7bc5c58937a9dcfff24f75d0d0f7770531541": {
"61d29ec29a2d49236cc43f8c06cbe6187ff7d578dcef86429c07f496e593ac38": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.912Z"
+ "updatedAt": "2025-12-10T11:52:24.418Z",
+ "postProcessHash": "89190fcb3400499783de8366a946a5508849e66965bce04a7e7df9505c0889aa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.925Z"
+ "updatedAt": "2025-12-10T11:52:24.469Z",
+ "postProcessHash": "3a4968d818cd36b8fc0e86f6507ad2550b409e3f0eeb8ae50d259de8861233f1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.929Z"
+ "updatedAt": "2025-12-10T11:52:24.452Z",
+ "postProcessHash": "51cb751d92a1cd0eb3ba71c4307631bc65f58fe64b970f7a2848fee273b9fae2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.930Z"
+ "updatedAt": "2025-12-10T11:52:24.421Z",
+ "postProcessHash": "af46639e93179c388ccc22cdcd6053bbaf75295c03a754318b1c5fa04afa6fde"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.931Z"
+ "updatedAt": "2025-12-10T11:52:24.416Z",
+ "postProcessHash": "20f5914ac5fc35854c4522538e4a425bbf2f0da7bcbf0b71ca3b8e0325249e1b"
}
}
},
"231def73306a5f12bd4cbc5d075ecccb9c34501f84867cbdd7f5dbe75575c116": {
"b4cbc723056d34434418b6e9050bc0c2789020d3cc415b3ab814cb2df11da7b1": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.896Z"
+ "updatedAt": "2025-12-10T11:52:24.442Z",
+ "postProcessHash": "29664d8b8cb5f44816d14d4bcd6ee126d7edf59f2f35219e307a40ac96e4a4af"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.896Z"
+ "updatedAt": "2025-12-10T11:52:24.382Z",
+ "postProcessHash": "bcb81772fcf9c10eca6aca4b61774167a604fc68591d4c6e236e8bbfdb0a77d2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.896Z"
+ "updatedAt": "2025-12-10T11:52:24.443Z",
+ "postProcessHash": "af456df2c39cc76687d7c973e37fda8d70119f415069f54e399be6ab6d144a35"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.897Z"
+ "updatedAt": "2025-12-10T11:52:24.426Z",
+ "postProcessHash": "5c7eeed4fff48579a49b337c5c0ba38df105863212f30b6e703c8eff9831b545"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.903Z"
+ "updatedAt": "2025-12-10T11:52:24.448Z",
+ "postProcessHash": "05db29801a46cd807bbd6a63715e6d04df1389d7b79f814afa52228d08977c0d"
}
}
},
"f60b83603ebf0fa9067348ad814d410f5e62608776f7cfb6cb390a4250ee7d81": {
"300b3b2cf4b577b648e3ddd5dcf851c9ff74dff779e68891beb61ba52bf920cb": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.902Z"
+ "updatedAt": "2025-12-10T11:52:24.448Z",
+ "postProcessHash": "3a75d490f26ead8ba0d01cd639782289d3dde45e6e767b707156bb0567a29810"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.904Z"
+ "updatedAt": "2025-12-10T11:52:24.449Z",
+ "postProcessHash": "ef33f392f51012d93a080cab6e18adbeeeff0aa74eb12ad8b539ea22cafb9813"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.904Z"
+ "updatedAt": "2025-12-10T11:52:24.449Z",
+ "postProcessHash": "d8c301b9b45fde70ea5890d895272d472a43d42e58a57e87c5f00e7f4c7771c8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.904Z"
+ "updatedAt": "2025-12-10T11:52:24.449Z",
+ "postProcessHash": "11ba1cabb3337a55fc14ab77bbd639229e471a72063620df5ead75dc72d49b6e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.904Z"
+ "updatedAt": "2025-12-10T11:52:24.456Z",
+ "postProcessHash": "2083c133b79e37c1aad3707a499883097acf5c96023b190e5cf5ab0897e7fb10"
}
}
},
"9269d53e165b3d6f64aa94258e6cb4b4487dfc6d6661512e26a4e0fe9508e78d": {
"c3ceb07eb2d92e6a7cbc945241d6650cea056f3c4c5aef41d8d32d86251018fd": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.906Z"
+ "updatedAt": "2025-12-10T11:52:24.456Z",
+ "postProcessHash": "f81597e7be5ce177f35ea50da49b9744371bb100ed9dc5e1268d68211b4d0567"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.906Z"
+ "updatedAt": "2025-12-10T11:52:24.424Z",
+ "postProcessHash": "8ca54ea066b80592f529e6dc5d89f71d6bbfdb0494b74ed53178dca4baaa038a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.915Z"
+ "updatedAt": "2025-12-10T11:52:24.447Z",
+ "postProcessHash": "ed5cc0ab98c7d809f07fe122924d822b79ef73e7ed769a8b12fcde669ef254d8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.915Z"
+ "updatedAt": "2025-12-10T11:52:24.418Z",
+ "postProcessHash": "dae38a9471220e11c95b3ca9fb64e54f54456619bdaf47fa0cfb29ea5287848a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.915Z"
+ "updatedAt": "2025-12-10T11:52:24.456Z",
+ "postProcessHash": "b85aaf26f12e3ac15609f2f6bb1594284deda99827e16f1661623dda5e56cbc1"
}
}
},
"d9aa55a34dca59c727f0e2a046cbf3b9107cc48fc7f3be6ba953529674a4121f": {
"8bce1abf3cb6ff493450635ef52387ab63597ce23c99cf3c9de3cd4b4db034b1": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.933Z"
+ "updatedAt": "2025-12-10T11:52:24.453Z",
+ "postProcessHash": "b35cfe0223f15c010b8140e6a411c0904851cbbc8474e2c3b1b088234b95b602"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.934Z"
+ "updatedAt": "2025-12-10T11:52:24.455Z",
+ "postProcessHash": "1639c9899dcd437a3bf44cfcb7f5b3836e21bd09a4cc734c30d35f1ced290a09"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.912Z"
+ "updatedAt": "2025-12-10T11:52:24.455Z",
+ "postProcessHash": "654b125672cc535a1b1dd239906cd1f37fce0326ec27ea6cdd3753971d8d1fd0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.934Z"
+ "updatedAt": "2025-12-10T11:52:24.455Z",
+ "postProcessHash": "4096669ce6ffcc73f6273097a72322bb2a1bd7b29d4f5b0cefeae8eb0eabb143"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.945Z"
+ "updatedAt": "2025-12-10T11:52:24.471Z",
+ "postProcessHash": "a85a1acb63688e426af276a2dfb066750dd74191c32e61b729e672fb65da1663"
}
}
},
"78fd0859b9ef67d75e102e6eccb48f4d10a521a818c9876c52ea794a5429f7e2": {
"1f5114fd0ca596b3c07b7e906b0497ec45ecd62f95089548eb770c190b35f4c6": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.934Z"
+ "updatedAt": "2025-12-10T11:52:24.454Z",
+ "postProcessHash": "c2c776abb09989ffb646d1b5c1136a7540e7c6298118b8b5ec6204cec34304c0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.944Z"
+ "updatedAt": "2025-12-10T11:52:24.470Z",
+ "postProcessHash": "f8cdb889d0536465cf4b455d58b0edf48ad2d3a43edb7acc1d817068fd0313e6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.947Z"
+ "updatedAt": "2025-12-10T11:52:24.474Z",
+ "postProcessHash": "fe3a1a70c9581bf4d47099ef25c1fc835d9a7eaad3add64d22d71a110e63a57c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.949Z"
+ "updatedAt": "2025-12-10T11:52:24.477Z",
+ "postProcessHash": "96d8512b8a47a25391ab617c8a0db742fd3bfd0935c31b368e089099f5f8e15e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.950Z"
+ "updatedAt": "2025-12-10T11:52:24.477Z",
+ "postProcessHash": "d09b5fec1aa959e6dcea4c0d1c1e196962b9580a3dee94ec48e8bf1a5f29817c"
}
}
},
"f552a70004369d44fe84a7e31600b7a14d1ebbf6edee5200b342e181cf04cee9": {
"80efeb3f0c445a232aaf22475e008c275df259e143fb4a6b24c8655a6774c74c": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.912Z"
+ "updatedAt": "2025-12-10T11:52:24.454Z",
+ "postProcessHash": "eed61671113c215723607e9f9b16d29e406a78d16bc587953ebd013afa0f8e75"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.926Z"
+ "updatedAt": "2025-12-10T11:52:24.472Z",
+ "postProcessHash": "25eba28d7a08cd7a9180cd1656770f18c828c16a44b585490d6a12c0949e9d65"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.926Z"
+ "updatedAt": "2025-12-10T11:52:24.472Z",
+ "postProcessHash": "ccf24aa799897d6993ffd6b9e25155a4d57778b93e6ce7eeab2eb5220a736ab5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.930Z"
+ "updatedAt": "2025-12-10T11:52:24.475Z",
+ "postProcessHash": "c56027df64f1ce66be7de10cd618cd5cc69c54656d1f7e07fc2e3fa743b63db4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.931Z"
+ "updatedAt": "2025-12-10T11:52:24.486Z",
+ "postProcessHash": "ae078531134e4f7bf6d088aafad5b6e9cfe5369bb63ed333c209c25022933b90"
}
}
},
"133b8dfd524e3963d57d1468ecc88facc39706203200ca77dc151c240d017e5b": {
"bca3d4e09eeb9f8375dc026b3c908b066cb2d46d7981e3dccfcacb2b9611be5c": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.913Z"
+ "updatedAt": "2025-12-10T11:52:24.446Z",
+ "postProcessHash": "16e0acb2190c46c4b5bb4927fc9e8ee69df3c65d41d2c6a28a2b96405b3c4206"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.913Z"
+ "updatedAt": "2025-12-10T11:52:24.447Z",
+ "postProcessHash": "978893c75e810816eb1f741d360754dc0084498625e58571ca5b476a11d010d9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.916Z"
+ "updatedAt": "2025-12-10T11:52:24.457Z",
+ "postProcessHash": "cfe7a91df8b5d3e40173d2c007fe9673276bccdb329b507901952ba52935bc69"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.917Z"
+ "updatedAt": "2025-12-10T11:52:24.461Z",
+ "postProcessHash": "c0b328b26a7fd7211d24268b9692979c65343e77d52f0a22abed34d093e76983"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.918Z"
+ "updatedAt": "2025-12-10T11:52:24.462Z",
+ "postProcessHash": "9172ffc8700ad972ba747dfc93fbac4bb9c75f0faf13cf1452a2c109b5a81faf"
}
}
},
"2138e99ef624259028c5aeac293c5d1a9cf5052fd226bb54566e81f73e38ae6b": {
"d8d270da5da8a273682369347c167be2766d09fdf02faedfe4e9a995ecd54812": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.935Z"
+ "updatedAt": "2025-12-10T11:52:24.457Z",
+ "postProcessHash": "6769e2ccfbfe811a5929803b4634265546842255d0f33e0eb917dbea78904019"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.935Z"
+ "updatedAt": "2025-12-10T11:52:24.458Z",
+ "postProcessHash": "36ff92dec9059d4aac1e49e9bd56b1fdd32f4746ff4a90adc366de17a6e4165e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.935Z"
+ "updatedAt": "2025-12-10T11:52:24.458Z",
+ "postProcessHash": "affadf76d8db1fe8f61643e88150bfcecaf996d347f85acfb251f873bafd89a6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.942Z"
+ "updatedAt": "2025-12-10T11:52:24.460Z",
+ "postProcessHash": "27700915d85f38f7d6c76bcd98b2905c741cef96e4702efd7dd01ab02cf746df"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.955Z"
+ "updatedAt": "2025-12-10T11:52:24.483Z",
+ "postProcessHash": "aa00381498b974c47b5fb5951996ef5ad2a008680fc2bebc8c282613afc87877"
}
}
},
"38280d0507620be24c5227e86eb692c9dd4b36a0067c98ed05553d5fa993abf7": {
"514210080e6d835cf83b588affb1da2d24d1d588ecdb62d67d9c499f18280c5e": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.936Z"
+ "updatedAt": "2025-12-10T11:52:24.458Z",
+ "postProcessHash": "b8ea7946e2836e3f7a81daff16dbf7496598f075b8ec46edac8a416afbeb8360"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.953Z"
+ "updatedAt": "2025-12-10T11:52:24.481Z",
+ "postProcessHash": "b5bedf00de14d46515047a41652aa81695cba374f34e38869169c1e53211ce33"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.953Z"
+ "updatedAt": "2025-12-10T11:52:24.481Z",
+ "postProcessHash": "da1944b374d2d1e047299a0a7c90a847008829159c0d7ad94f7aac30a707ed1e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.954Z"
+ "updatedAt": "2025-12-10T11:52:24.482Z",
+ "postProcessHash": "38ff942eea1bf94198a37de9f7db70fdd9e299d44d81fa23b3720c268abb9ce2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.955Z"
+ "updatedAt": "2025-12-10T11:52:24.482Z",
+ "postProcessHash": "c83c5f8d29eb299f6e953dcb848de838903c92c05ba0a10a4335c1474f0092f5"
}
}
},
"cebe29ba12e1172e526208a637ac7389d995fd8288fcf8908bc470cb9169b3e8": {
"a1dbe542754e63eb60571290755f26d80ff23e61fcf355187bf3b874d13231bd": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.936Z"
+ "updatedAt": "2025-12-10T11:52:24.459Z",
+ "postProcessHash": "17338f18a4fad578d99709ac4fc6470e73e5b8ad86d5e521ad0e76d328a9b288"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.942Z"
+ "updatedAt": "2025-12-10T11:52:24.460Z",
+ "postProcessHash": "06c9a4feca956148f4ec02fd31bcd4780068f0125c223a517d26590ca5a00d5d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.942Z"
+ "updatedAt": "2025-12-10T11:52:24.460Z",
+ "postProcessHash": "a9acd565854e01799a73c0cc918f877ddaea02e15af0895cee77b2876e40e704"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.955Z"
+ "updatedAt": "2025-12-10T11:52:24.483Z",
+ "postProcessHash": "54b7b201f881501ac986fcef6cb18daa067356d498a218a70f8259eadcedb879"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.956Z"
+ "updatedAt": "2025-12-10T11:52:24.484Z",
+ "postProcessHash": "d53cb9bc3f1f60890c08ac536b68d4d6f984a26c7c0093565c3a235243832a50"
}
}
},
"78b88d2f412b9ba40c942c4f8e853894d49d3349002aa660f1c1fdefedefa768": {
"cf519a608cc058c9d79d57c124ee8de21496d02fe8737bfb1ddddcda97d62100": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.936Z"
+ "updatedAt": "2025-12-10T11:52:24.459Z",
+ "postProcessHash": "1b4e699384e425f97752116275ba22877dca336785d8b67c255b756ef5ed98b7"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.937Z"
+ "updatedAt": "2025-12-10T11:52:24.459Z",
+ "postProcessHash": "0bac4161ef34f6649f6ae129ffbc8ba464ab247efe144b979d09168306c8e40a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.943Z"
+ "updatedAt": "2025-12-10T11:52:24.461Z",
+ "postProcessHash": "9a0c892e93107970c89616564beae323dc48862aa8058ba1921cdf92e1ea8c44"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.961Z"
+ "updatedAt": "2025-12-10T11:52:24.494Z",
+ "postProcessHash": "02a79d3974916fa4cfeb337fd288dc659356ce39cf33529a91a813ea3670b4ab"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.962Z"
+ "updatedAt": "2025-12-10T11:52:24.494Z",
+ "postProcessHash": "9192ee5d4c0104aeef4b8f999328b4f50faa33e984f6fc815162f48e12fe43bb"
}
}
},
"70d06212474e441dac1941746ac58957c8ebda57bc8eba22627cf6d45e1c460a": {
"5d0e071301daaa93809d7a0b357a909709b75e3724ef800a2b782f8964e692fa": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.923Z"
+ "updatedAt": "2025-12-10T11:52:24.467Z",
+ "postProcessHash": "b4935541dda901e606637283ad32fa834ff5ce074fd1182c474c127201b1d873"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.923Z"
+ "updatedAt": "2025-12-10T11:52:24.467Z",
+ "postProcessHash": "13c9947cd2ef336806ada2ca09ac5005387cd6d19b3fa88fd2f779ffa624e71b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.924Z"
+ "updatedAt": "2025-12-10T11:52:24.468Z",
+ "postProcessHash": "cf79e3ac5b911d8ce660aac1619f1362191439091a0920c7a9f8ee799b6c63dd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.926Z"
+ "updatedAt": "2025-12-10T11:52:24.472Z",
+ "postProcessHash": "a88a14f10b9492a79e0045ba6c90c2ebbf0f809ebb9ea2b38125e4d2043a7ad9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.927Z"
+ "updatedAt": "2025-12-10T11:52:24.473Z",
+ "postProcessHash": "9ef690be783b3912cbe8dd38f27b4ffa0922b5125da4f9f9c22393c08314e1dd"
}
}
},
"ab476e5fc0f544de9dc61f7d1b0f23520e5f873096a5aaae94e365f9e2e4ccac": {
"b448f9bdab4b71636e776a47a0dd2049fddd90c9959c045623bd0dab67902042": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.925Z"
+ "updatedAt": "2025-12-10T11:52:24.452Z",
+ "postProcessHash": "e464c0efaccfb6cf3e13871ec9967281933fd0343be54d4aa232d57f928c20f4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.927Z"
+ "updatedAt": "2025-12-10T11:52:24.473Z",
+ "postProcessHash": "13952cd97df65fa4c9895c55236ed1b2a03a95b8e00886394717ee663c7d1ad5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.928Z"
+ "updatedAt": "2025-12-10T11:52:24.417Z",
+ "postProcessHash": "0e5728034fd32426d994ec70d46edac0150b68e513d5e61099a85d02f152e6f4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.928Z"
+ "updatedAt": "2025-12-10T11:52:24.453Z",
+ "postProcessHash": "bd32cea006efe981bbc0f822bd6b1ede00af4d74ea4b80f72267c798dcdec3db"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.929Z"
+ "updatedAt": "2025-12-10T11:52:24.417Z",
+ "postProcessHash": "b8f67eb96cfaa8905cc01a048c2010cd3f9575fe48d42e47d0af4b48aee73b65"
}
}
},
"557af20914bd33bb2877101eadecb31eb95671c60964be00c2625695e5639738": {
"f5e77bf9b18993aa15c3ea440d218725a080c58d40f3a5a7c2a7e84442cc52da": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.932Z"
+ "updatedAt": "2025-12-10T11:52:24.487Z",
+ "postProcessHash": "68b35408da122ffe67d234eef84a73e534c0cd81c23b9ff0a34a957587100344"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.932Z"
+ "updatedAt": "2025-12-10T11:52:24.487Z",
+ "postProcessHash": "15d2e2e3d1da3cf57cea4b96d50bbb0ba7828b6e2aad485d11e9cab6a24f59a1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.932Z"
+ "updatedAt": "2025-12-10T11:52:24.487Z",
+ "postProcessHash": "41f557afb1ff2295a8d14d5b25b8de939f78ad9201d9c4c79f6cc0631a4526bf"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.933Z"
+ "updatedAt": "2025-12-10T11:52:24.488Z",
+ "postProcessHash": "52fa2e14a39f25a01ee5202aa1fbafc766313f89e7c091146cb59452961da5c0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.933Z"
+ "updatedAt": "2025-12-10T11:52:24.488Z",
+ "postProcessHash": "c85b2dce4598a0c4ed4de40d17ebf732a5a29ef4561fee6234e583402dff44cf"
}
}
},
"8a662dbe6addc17aed08c78adc1589876714e37f552e289e6e79b0bec4d3351b": {
"b314f1fa54f8a67fdeba7e0ce5cd96856dddda655b142ec5f687c17d5721d58c": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.943Z"
+ "updatedAt": "2025-12-10T11:52:24.461Z",
+ "postProcessHash": "78db354d420f991224c55a6a01698efc21bf306a352737c1ce362677c768c946"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.956Z"
+ "updatedAt": "2025-12-10T11:52:24.484Z",
+ "postProcessHash": "7be0508e93497ec57b4d6cca4bf4bc00cd4ec097cabab11ba36974a2ca15bfe0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.957Z"
+ "updatedAt": "2025-12-10T11:52:24.484Z",
+ "postProcessHash": "6d68444d4e7a89061a1867ce60fa9dd8e3fc26288750892dc317074134994301"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.957Z"
+ "updatedAt": "2025-12-10T11:52:24.484Z",
+ "postProcessHash": "a996e9edacbd1a7f7e04013e4436f1790b33fc7821096a41c5db14d84aed26cc"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.959Z"
+ "updatedAt": "2025-12-10T11:52:24.492Z",
+ "postProcessHash": "25bcc7330accd2029aee5fb6796f8a083d56d13b8ceb89baa05a23ed5b8c7edf"
}
}
},
"0e066a6fff080da2cb8a769ff9f502525401d78376b477ddf270ad0f3cdfc6e6": {
"0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.943Z"
+ "updatedAt": "2025-12-10T11:52:24.468Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.944Z"
+ "updatedAt": "2025-12-10T11:52:24.469Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.944Z"
+ "updatedAt": "2025-12-10T11:52:24.470Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.946Z"
+ "updatedAt": "2025-12-10T11:52:24.473Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.946Z"
+ "updatedAt": "2025-12-10T11:52:24.474Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
}
}
},
"d9bfbcbb33ead35a8ad549442009cd06674bd2233434b0dae7b25336f2e01927": {
"f64b33fc7293a8bb248f0339668256889de6d552caab098ce63ab09cc54f03a1": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.945Z"
+ "updatedAt": "2025-12-10T11:52:24.471Z",
+ "postProcessHash": "fa27d9e6cab4461fc138aa53d5e077fd076be0d67b5c9548ac8f4976c87de265"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.947Z"
+ "updatedAt": "2025-12-10T11:52:24.474Z",
+ "postProcessHash": "35545f7e6184f65b8e6e9643aca07c27bd253fe17c51a807c21858676a89497d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.948Z"
+ "updatedAt": "2025-12-10T11:52:24.476Z",
+ "postProcessHash": "a5555c18d421648a84d868e126d1c398f040f2afd12bd9cc4a2d547c2f62eb66"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.949Z"
+ "updatedAt": "2025-12-10T11:52:24.476Z",
+ "postProcessHash": "20faf51344d82472a883046f6f259adb9fd3c44c3e30d6af1bd91941eb1a9924"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.949Z"
+ "updatedAt": "2025-12-10T11:52:24.476Z",
+ "postProcessHash": "fa27d9e6cab4461fc138aa53d5e077fd076be0d67b5c9548ac8f4976c87de265"
}
}
},
"706a393c1ddcfa44bfefbf286c4194d507b39322f660a901734f42c06839f3c5": {
"972836d3d4ca127037594d65357629c4fdb6e2e0f5d1d06c5aa6865ab9dc192a": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.945Z"
+ "updatedAt": "2025-12-10T11:52:24.471Z",
+ "postProcessHash": "e74454138e3856ea185883d156ea40539424c7833020d118e65826654c3c8a73"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.948Z"
+ "updatedAt": "2025-12-10T11:52:24.475Z",
+ "postProcessHash": "66cc210a1013fc1f4f0802de20c1c0956d84fbc51e78e2e017784d9b85cb7be0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.950Z"
+ "updatedAt": "2025-12-10T11:52:24.477Z",
+ "postProcessHash": "0bc863132bfb1ddb0022bfeb5f485f25518ca5e41f1a7321c0992851a495bf45"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.951Z"
+ "updatedAt": "2025-12-10T11:52:24.478Z",
+ "postProcessHash": "d7849f5ac2e0d99f17f2a6013a6f240f8fcb6968339e2c8b4998dc8cb83b7aab"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.951Z"
+ "updatedAt": "2025-12-10T11:52:24.479Z",
+ "postProcessHash": "44235579458a5a4a1a23c79ebc7251158b2fa1746625b6d3b10fd9b11a962e7f"
}
}
},
"5f9394c806ef390b45ac4e2c755f17b96a6cff611586d2213b0e8d559f20a508": {
"0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.947Z"
+ "updatedAt": "2025-12-10T11:52:24.475Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.948Z"
+ "updatedAt": "2025-12-10T11:52:24.475Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.951Z"
+ "updatedAt": "2025-12-10T11:52:24.478Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.951Z"
+ "updatedAt": "2025-12-10T11:52:24.479Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.952Z"
+ "updatedAt": "2025-12-10T11:52:24.480Z",
+ "postProcessHash": "0790d722d29b838f4b1c127154fecdd761ead9baa765f0b315d40386603407b4"
}
}
},
"65809705a9a40a92476d6bb023fa43339be3d49af5643a657474a35d4879afd7": {
"5704590d855c5872a6c53716016ca70f057e645d4b4badd1ad2f9936c6b33f51": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.952Z"
+ "updatedAt": "2025-12-10T11:52:24.480Z",
+ "postProcessHash": "9760a11a92c348785240aa9dc2a9064cc10ff1f4b86d4de65c566056277ab067"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.953Z"
+ "updatedAt": "2025-12-10T11:52:24.480Z",
+ "postProcessHash": "59b2cfb03a989799c96da6c359979737b849907d9ef871b064f3c6739db0e8bb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.953Z"
+ "updatedAt": "2025-12-10T11:52:24.482Z",
+ "postProcessHash": "2ef7e0870aff3df471902f499ff5903c577d775573f413cac790fae765fd57a0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.954Z"
+ "updatedAt": "2025-12-10T11:52:24.482Z",
+ "postProcessHash": "4cf6fd97bfd1e5e7105ce9cef6c80f7754e1f16aab7fd9d89588f724c6648d4f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.956Z"
+ "updatedAt": "2025-12-10T11:52:24.483Z",
+ "postProcessHash": "c06f3068b2cfe815b7a2a9066dbfe7a7994ea12c6c43800dfe0182efecb3a207"
}
}
},
"23483200fb061ac69252d1bf95ad70a444e2a564960d48515f3178575f3fee3b": {
"9b6d073cd4facf2bcf231310a39de13ba946751ff1a2e8b2093dbb3212818d9a": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.962Z"
+ "updatedAt": "2025-12-10T11:52:24.485Z",
+ "postProcessHash": "8405a637fbb2bf9fa0e4b08d619006382cf6b24cd60859050c2ebf0d95514b29"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.963Z"
+ "updatedAt": "2025-12-10T11:52:24.490Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.965Z"
+ "updatedAt": "2025-12-10T11:52:24.492Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.965Z"
+ "updatedAt": "2025-12-10T11:52:24.493Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.966Z"
+ "updatedAt": "2025-12-10T11:52:24.494Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
}
}
},
"d6112dde2ae704ee925238a1f8431f52a6ff2864128b1f003317b1953e7f53b2": {
"245c1a0cb887a3287fb143cdb213a796d35e3d0d8880375cc5ecaf00bcdf308b": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.958Z"
+ "updatedAt": "2025-12-10T11:52:24.485Z",
+ "postProcessHash": "e70eb06fe2355a7e5071c88b0f3545cabb902b1d35d4582f355456a6fbcacce5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.958Z"
+ "updatedAt": "2025-12-10T11:52:24.486Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.958Z"
+ "updatedAt": "2025-12-10T11:52:24.489Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.960Z"
+ "updatedAt": "2025-12-10T11:52:24.493Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.961Z"
+ "updatedAt": "2025-12-10T11:52:24.494Z",
+ "postProcessHash": "3bca8d44f0e053f36966ea19c67917fa342bb96e666c7f0e932fbf192de5cfe2"
}
}
},
"8f24a11f6f59845947084b5250dece1936e99b990203210146d4db2dee359972": {
"0338dc5383593e802d1ee4c6d43d0a392dd0fa9f25098614750c7ab59e80a3ec": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.962Z"
+ "updatedAt": "2025-12-10T11:52:24.488Z",
+ "postProcessHash": "119e4f532e605caef034aa8387dac3782d73f99ff20f792393fc955382becc39"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.966Z"
+ "updatedAt": "2025-12-10T11:52:24.495Z",
+ "postProcessHash": "b93f13eee0a83d6f30cf855e8a1f577e238e209761563c0b15230e8b2cc0a3fc"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.967Z"
+ "updatedAt": "2025-12-10T11:52:24.495Z",
+ "postProcessHash": "ac64129a18b9f7ef11cf96059bd6d036995e28fef5a3c0ed35dc1979820d2edc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.967Z"
+ "updatedAt": "2025-12-10T11:52:24.496Z",
+ "postProcessHash": "7aa8edd9abd90dfd8e789337c974367b580d6ec190b409c6edba42c95a07b485"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.979Z"
+ "updatedAt": "2025-12-10T11:52:24.513Z",
+ "postProcessHash": "972d4c0883aee41cc195c878f46c57c5ef9ab1d86ebc1c92a53d198a1bb4b554"
}
}
},
"c49a336e3af240d55840ed155e21cf605fe372d74ebc7374097fe8d9f13b34d7": {
"a60dfd40379599baaec784226b54ecd4573c376e7854802676358ce06919ba21": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.963Z"
+ "updatedAt": "2025-12-10T11:52:24.490Z",
+ "postProcessHash": "196f0502d5d5487a03f31d711346494c4fd24a23886e1a7c61a62232e52c6e90"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.966Z"
+ "updatedAt": "2025-12-10T11:52:24.495Z",
+ "postProcessHash": "5862743825eacff7c92457eef3d5485daa0fdb5b11454a3a496c37f3b893ce31"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.967Z"
+ "updatedAt": "2025-12-10T11:52:24.495Z",
+ "postProcessHash": "468f6a2509688f5d787ad2d042f5ffe344ce7d0ea2bd5e89b7a1832f2756889a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.969Z"
+ "updatedAt": "2025-12-10T11:52:24.498Z",
+ "postProcessHash": "0621c9661fbb7a9505b0dbb65fcf6abb15a129dd97a060b61b3e4ed3842389cf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.972Z"
+ "updatedAt": "2025-12-10T11:52:24.502Z",
+ "postProcessHash": "208bef106690b6a0c2977de9518e2b834f56f44fae357aac42a323bc92b3f624"
}
}
},
"07a826cc4855544db07d1c4cf74771ab48bf51221348d95ba4ef33af7205317d": {
"5c34148e86c678030516c07acc226cfa67b33eaffbf84d1a652645d1f6f5f5a3": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.964Z"
+ "updatedAt": "2025-12-10T11:52:24.491Z",
+ "postProcessHash": "51e3b93b641dd92fbbfd36692754b2622d229d7224d324b310ddea72354a40af"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.964Z"
+ "updatedAt": "2025-12-10T11:52:24.491Z",
+ "postProcessHash": "3d116efd607065665cfb0768eb686ca3b61fcf78b1aeb94dc3ad62950b4bf5d5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.967Z"
+ "updatedAt": "2025-12-10T11:52:24.496Z",
+ "postProcessHash": "4b3eb156f09d98ec5dc3784c567f955064a8c84f9de6f45c9a1c8a98d37c1e8f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.967Z"
+ "updatedAt": "2025-12-10T11:52:24.496Z",
+ "postProcessHash": "a17cba03a0887799ea5bc129cf619cc98b17128ca0f8a0a73814afa343c36a80"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.968Z"
+ "updatedAt": "2025-12-10T11:52:24.497Z",
+ "postProcessHash": "0bb94b285a003fd370f267d2ec5439582ca20f29174b9e7e1cb8c27c858f812c"
}
}
},
"07a52ed75c3c79a38feca98c0eb3710eeecbfa1a2e9d3dd45367949495d769b2": {
"18c90d7977d1cb118b290ec53d672322fa68450f09022a9ca39eadbff240d56f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.964Z"
+ "updatedAt": "2025-12-10T11:52:24.492Z",
+ "postProcessHash": "892fb02e4b8f171f1a05f7f7a2df433f8e0948a2fe74a67600c40e853b38cb05"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.968Z"
+ "updatedAt": "2025-12-10T11:52:24.496Z",
+ "postProcessHash": "1a595d782d16666a3ceafa10d1c0e7cb085f23e0cb2ec701505ef3d1fdf6fe42"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.973Z"
+ "updatedAt": "2025-12-10T11:52:24.503Z",
+ "postProcessHash": "c40c9c50f5e79960b4b3e3e05b7aee78f836c635b2b9a65e323a08c0a2337b57"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.973Z"
+ "updatedAt": "2025-12-10T11:52:24.504Z",
+ "postProcessHash": "781fc98824ddeba5f3aa484631f838301aa49cada80bfaf2c05360fa776b4c75"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.974Z"
+ "updatedAt": "2025-12-10T11:52:24.505Z",
+ "postProcessHash": "1be3c868329b40a6cd0bddf39cf00960ea68536ca6e2bb5b821ee62e5a229d37"
}
}
},
"4720065368d74b99bed2a06031f2ef616ea2fc0fe3eaeda0eeefab51e97fa802": {
"45028bb439ebe8492dc85924f0a97aa092c2d39dbf61ebc0b572ced35a076770": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.968Z"
+ "updatedAt": "2025-12-10T11:52:24.497Z",
+ "postProcessHash": "45028bb439ebe8492dc85924f0a97aa092c2d39dbf61ebc0b572ced35a076770"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.974Z"
+ "updatedAt": "2025-12-10T11:52:24.504Z",
+ "postProcessHash": "29e775b7f9ff772760a7b79a82372e299bb8b686b72dda80a0d179ec4166b2ca"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.975Z"
+ "updatedAt": "2025-12-10T11:52:24.505Z",
+ "postProcessHash": "45028bb439ebe8492dc85924f0a97aa092c2d39dbf61ebc0b572ced35a076770"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.975Z"
+ "updatedAt": "2025-12-10T11:52:24.510Z",
+ "postProcessHash": "45028bb439ebe8492dc85924f0a97aa092c2d39dbf61ebc0b572ced35a076770"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.980Z"
+ "updatedAt": "2025-12-10T11:52:24.513Z",
+ "postProcessHash": "e954c7d0e84975e2065a72e2194b9bd67aedecabab3e476ce84cbb5901773491"
}
}
},
"03c2376329b30203ae44b86d688623c462c8720803401f69cf954ce213b64fc9": {
"657e91810db467e2fded89d152314e5f2ae7eb9a4ebde3aa0c505e23b42ead94": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.969Z"
+ "updatedAt": "2025-12-10T11:52:24.498Z",
+ "postProcessHash": "900de9a362f8328eb0e05f527be69b0552b2311921e76f2fd96f07f72f674314"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.978Z"
+ "updatedAt": "2025-12-10T11:52:24.511Z",
+ "postProcessHash": "14293c1abba45b256187a7cfa5f6b65d2a42703943ac9aa92b9620f93d1f8cc0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.978Z"
+ "updatedAt": "2025-12-10T11:52:24.511Z",
+ "postProcessHash": "4142512996cd456a0dc17733fdd1113ee2a5532c6d65733d52f66a64867800e9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.984Z"
+ "updatedAt": "2025-12-10T11:52:24.519Z",
+ "postProcessHash": "1107b91365f2ec9a8d659e99ddeae8680472bca9768b1ab399f5c37aafe1c3aa"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.984Z"
+ "updatedAt": "2025-12-10T11:52:24.520Z",
+ "postProcessHash": "fe50a7e7ad2fb78487b65fae3e71223523e42e3f091195ee21142a6d1a78cb30"
}
}
},
"27b6c0cf4b9f771c4daa08a794f8008068fbd351f7df8018926fd560cb91ac34": {
"5c34148e86c678030516c07acc226cfa67b33eaffbf84d1a652645d1f6f5f5a3": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.970Z"
+ "updatedAt": "2025-12-10T11:52:24.498Z",
+ "postProcessHash": "2c7e18d27095ef13da29be893322dcc1d68ff10cbfeca9049b75630a76db5360"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.970Z"
+ "updatedAt": "2025-12-10T11:52:24.499Z",
+ "postProcessHash": "6be5d8bbe37753cfd90a8d3f0f798bff9dcec38f58dc103a3eb870df5801bc91"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.977Z"
+ "updatedAt": "2025-12-10T11:52:24.511Z",
+ "postProcessHash": "cf34a07e89cee76a04b2b7e7eedbd9fa30095f905af53e7b731274eb90d809d1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.979Z"
+ "updatedAt": "2025-12-10T11:52:24.512Z",
+ "postProcessHash": "501bf784cf3eaaba1144a9a6ab7f4a0422c313fe9c8a5eda5d6bf79d97662ef7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.984Z"
+ "updatedAt": "2025-12-10T11:52:24.519Z",
+ "postProcessHash": "342e8835cd92ffc03afcca8f529074b985c83cb9af5f3defd1500daae853000a"
}
}
},
"79d01e01560fe411d151c473b1954da06ec30b96281f4f1fa2e69bba960fed51": {
"534e79ea4aa486b39240280e57252303d1c7c7c7dec5026f8909f743d792554e": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.971Z"
+ "updatedAt": "2025-12-10T11:52:24.499Z",
+ "postProcessHash": "e39237ccbea1f7c5f5a717e281cf63c89d0098b9aabbd2cf305411868e7e9df0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.971Z"
+ "updatedAt": "2025-12-10T11:52:24.500Z",
+ "postProcessHash": "fa847349c98e5b18e674000afda3f782788f1b718ce48c993a0563de06678bdf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.986Z"
+ "updatedAt": "2025-12-10T11:52:24.501Z",
+ "postProcessHash": "bc2cac014043754b49864617968fe3ea771c8d87fe51b675fa725a3de5077196"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.972Z"
+ "updatedAt": "2025-12-10T11:52:24.502Z",
+ "postProcessHash": "fb430365ba9c17bb4725b88fe2ed98e2cd6ec3c9c2e975f4318f695b8f8fdfd0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.985Z"
+ "updatedAt": "2025-12-10T11:52:24.524Z",
+ "postProcessHash": "dacabfc5d138dde049b3e108127e6255f65c6324a19f5da8e83633bf21235f03"
}
}
},
"4a5aa81e610b0a70a8473a208ae7460966a60b2420a6213e4b1234d6f07712b8": {
"69505a12121d80fabfed25ca952374b0ea56ad172fe1a505c8040da894eeb8cb": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.971Z"
+ "updatedAt": "2025-12-10T11:52:24.500Z",
+ "postProcessHash": "87e6045967b45bf540a9b0c3fe7762ff5ac17d7c406542e1698f6782cbd72afd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.976Z"
+ "updatedAt": "2025-12-10T11:52:24.510Z",
+ "postProcessHash": "888d5954184a4e3a5122b7b767caf7a1d87dbf291b151a43242cb0e2cd31e1f3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.976Z"
+ "updatedAt": "2025-12-10T11:52:24.510Z",
+ "postProcessHash": "1ef5207af70a69c9cbfdb64898e1779685a8843043a938acf1d93c8672904303"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.983Z"
+ "updatedAt": "2025-12-10T11:52:24.518Z",
+ "postProcessHash": "b08082c6d8ee0635ec888f24642a4927972ab1ad73d39bce23a0fd3b110a4826"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.983Z"
+ "updatedAt": "2025-12-10T11:52:24.518Z",
+ "postProcessHash": "9c6f787f78804a5fb80fbad8a2ce0c5b742ac1da0b8819b7fa484a5b9e22fc14"
}
}
},
"ad1f8966c67814ec175a14b3b7d00915a9e0bb3cfbb64e22179d8615c94f9363": {
"47b770a68cbad973c376a7a43975044ebfd1f67e5a06b4f8116b2ba432df5534": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.985Z"
+ "updatedAt": "2025-12-10T11:52:24.500Z",
+ "postProcessHash": "cc0a05086b04d30d7e51369cb36a2547d0cb1f0b45c07c053401af4c090d1adb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.986Z"
+ "updatedAt": "2025-12-10T11:52:24.501Z",
+ "postProcessHash": "94c99fdaaa8d48adde92c0997c7abb5220a341d248458a1fe4f8bd9001339853"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.986Z"
+ "updatedAt": "2025-12-10T11:52:24.503Z",
+ "postProcessHash": "3226425bdbf0f95529dc806fa9dbe32de2440b2737b5bd6a0ad90e373b7bb784"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.987Z"
+ "updatedAt": "2025-12-10T11:52:24.506Z",
+ "postProcessHash": "6dd1e52f3694c72bf7c78bb2c5f031d075d3b3f1686ad5f8be2296e26d28b860"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.987Z"
+ "updatedAt": "2025-12-10T11:52:24.506Z",
+ "postProcessHash": "fc0f8c7ebc6d2d9e897ae8985f82830ab8854211fc8e8bf0d59ff0c17a732b8c"
}
}
},
"e78ce4b764648754834ac733218aafee0a2b21344fea6b56a8015a6b95181e5d": {
"9b6d073cd4facf2bcf231310a39de13ba946751ff1a2e8b2093dbb3212818d9a": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.988Z"
+ "updatedAt": "2025-12-10T11:52:24.507Z",
+ "postProcessHash": "8405a637fbb2bf9fa0e4b08d619006382cf6b24cd60859050c2ebf0d95514b29"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.992Z"
+ "updatedAt": "2025-12-10T11:52:24.520Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.993Z"
+ "updatedAt": "2025-12-10T11:52:24.521Z",
+ "postProcessHash": "a7fcf1d2e721c75fc3caff30fa6250147080e36bc686336f036a4ec9cb6b640e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.995Z"
+ "updatedAt": "2025-12-10T11:52:24.524Z",
+ "postProcessHash": "47b437eb615190cbb03f20574b26341f54483932211f84bbaf56a929e544742e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.995Z"
+ "updatedAt": "2025-12-10T11:52:24.525Z",
+ "postProcessHash": "9a9d87723b7fef29015c4ea0cfdaae9ec31f4d07480c36a46efd4e69efb8cfee"
}
}
},
"71893443a6c27e23129cbcd0d6fa59138fec0d072118d578a44dc3c543e6faa2": {
"e89d57d69d947c731e65e76f70a858c0aa7816d3fe2a9d8c42696736803acc5c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.988Z"
+ "updatedAt": "2025-12-10T11:52:24.507Z",
+ "postProcessHash": "d2f674650540040568715107b94d0292864c464efb4f796f81d806f50a8c587b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.989Z"
+ "updatedAt": "2025-12-10T11:52:24.507Z",
+ "postProcessHash": "32e6d1ad35ac6b05ded35fa6fa22327b7d46d95898e4b37767e842f761ddc68d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.991Z"
+ "updatedAt": "2025-12-10T11:52:24.509Z",
+ "postProcessHash": "608e8cfeb22b5f937be2cecc267d0f4452acb5e71f364f624b52d0f96ab2fdde"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.991Z"
+ "updatedAt": "2025-12-10T11:52:24.509Z",
+ "postProcessHash": "32e6d1ad35ac6b05ded35fa6fa22327b7d46d95898e4b37767e842f761ddc68d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.997Z"
+ "updatedAt": "2025-12-10T11:52:24.533Z",
+ "postProcessHash": "a7c54cc64e455d1ee4b3176ff69b1becd0ca3115e5ca4fbf133f967c5ccc2071"
}
}
},
"2356a5d64794f77efec865c70b41de806a74dfcbc6879d7acd3622fbf8e46820": {
"82b756f63b39c6152727f0e0ff4298c3b63b3e56d0dfb3f6b9afe3525c420c10": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.989Z"
+ "updatedAt": "2025-12-10T11:52:24.508Z",
+ "postProcessHash": "97fcdb8f8cb459b244df88f655b7acbd83d68d64e351a3f97fb594db2875b5d7"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.989Z"
+ "updatedAt": "2025-12-10T11:52:24.508Z",
+ "postProcessHash": "8a5d0ba2eccac932c46cdfe4b782dbc13d89e9b70522daf82e9e55e517663d25"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.993Z"
+ "updatedAt": "2025-12-10T11:52:24.521Z",
+ "postProcessHash": "dd75af64de1d4db2f8e3c834454065e8549b3c059bd23db63eb5e751759bfabe"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.995Z"
+ "updatedAt": "2025-12-10T11:52:24.524Z",
+ "postProcessHash": "cfc18b2983d6652610a62805008f6284324720815cfba79dc0bc7cfcd747b639"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.996Z"
+ "updatedAt": "2025-12-10T11:52:24.525Z",
+ "postProcessHash": "228f890eb8fa867999800a79d60ae69285ae73af47d3b5bb9fc9e77dfbf2be9f"
}
}
},
"d7babbf2894ea68aa3bcde367c1441777a2778b25faef11763c0fd9568274a6d": {
"3e0c1608d2d796f61d8f7fb1bf1e5c6f9189d8eda97becdc5224f3f74ee6b4cc": {
"es": {
- "updatedAt": "2025-12-01T18:59:35.976Z"
+ "updatedAt": "2025-12-10T11:52:24.510Z",
+ "postProcessHash": "a832821f51e2d4047157d16436b72b00277a55e70b19778b7d849a18640b2f2e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.979Z"
+ "updatedAt": "2025-12-10T11:52:24.512Z",
+ "postProcessHash": "f791e1aa2f066063cb239201dbd324ddb195f4bfa20e838c59c9d96ad2c4a1bd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.980Z"
+ "updatedAt": "2025-12-10T11:52:24.514Z",
+ "postProcessHash": "460eb3ba546fbfe8b5cd3adc583992686504dffbb51e25cf0ddfe5037285b64b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.982Z"
+ "updatedAt": "2025-12-10T11:52:24.516Z",
+ "postProcessHash": "c0b6bf2c6d2704e222f0752ba798bd5f43b70dd690434f2a6058e30cb69b7690"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.982Z"
+ "updatedAt": "2025-12-10T11:52:24.518Z",
+ "postProcessHash": "5e151ef599a3880f39658cf3eb8174005021b2ba071d7f8b2a97a5a32f70021d"
}
}
},
"153a59bdabc80d4df96985f73ffbce41b75c46cb073c288332a60086ea68626e": {
"083f47f7b2ba7ca71a755dd59bafb71c65d7e96e4247611eba3223d252cb884c": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.977Z"
+ "updatedAt": "2025-12-10T11:52:24.511Z",
+ "postProcessHash": "73b2f530d8d28f99385e3382649662867fc3d380df349865bc85fc7b4a8bd9cc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.980Z"
+ "updatedAt": "2025-12-10T11:52:24.513Z",
+ "postProcessHash": "658acf09925f0e3d9551e175b0a920decc5fc50b621a08ade72f08768c678987"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.980Z"
+ "updatedAt": "2025-12-10T11:52:24.514Z",
+ "postProcessHash": "936fe6dcb572633388e31ec859aa5d0b8ee50363b67c67d1c6e9fc9a22b1b4df"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.981Z"
+ "updatedAt": "2025-12-10T11:52:24.515Z",
+ "postProcessHash": "ab83ed847afdb88e8e1ecfd190de38d220aff709a062e7eb402c94c8299ca854"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.983Z"
+ "updatedAt": "2025-12-10T11:52:24.519Z",
+ "postProcessHash": "a1bce34fc75d78e7f67dad2dd76c120c1a931d12fdf317ec6d569b5b68c81796"
}
}
},
"885a317ead30f9ef04e1a6bd935dabbf243455a7f9222d8f7b67bb2799c1eba3": {
"72fc5463e266b4489fc38657a0f9e331caa653263f26fbfded75ba14918ca9ad": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.981Z"
+ "updatedAt": "2025-12-10T11:52:24.515Z",
+ "postProcessHash": "05111020c51730b3ebdbfcc3a613d8a93d66d236d271aa2999f32c42b47e01bd"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.981Z"
+ "updatedAt": "2025-12-10T11:52:24.515Z",
+ "postProcessHash": "b22d07f97570a7b8cf68f653f20b79a3e9e1a551951c8cf3139ee91d5d3dfcff"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.981Z"
+ "updatedAt": "2025-12-10T11:52:24.516Z",
+ "postProcessHash": "6f4c69921f6a95c4eff708e53362f3486db7e1ff95d50338334eefbc56eeb779"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.982Z"
+ "updatedAt": "2025-12-10T11:52:24.517Z",
+ "postProcessHash": "00ae45997fa2644d13b3bc71b40890f93c4e7b02812771acbdb13c0d027540a3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.982Z"
+ "updatedAt": "2025-12-10T11:52:24.517Z",
+ "postProcessHash": "e90c3a023d0d045d88980ec06acddf9c622f45ce4650bf50247b3ea5fa1bec8a"
}
}
},
"672002cf5d6b46c3c0887f45d7a5dea8ea6a2a56da88f0eef021b66b04528c15": {
"5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.990Z"
+ "updatedAt": "2025-12-10T11:52:24.508Z",
+ "postProcessHash": "5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.996Z"
+ "updatedAt": "2025-12-10T11:52:24.526Z",
+ "postProcessHash": "5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.996Z"
+ "updatedAt": "2025-12-10T11:52:24.532Z",
+ "postProcessHash": "5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.998Z"
+ "updatedAt": "2025-12-10T11:52:24.534Z",
+ "postProcessHash": "5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.000Z"
+ "updatedAt": "2025-12-10T11:52:24.538Z",
+ "postProcessHash": "5e3c7da07682da8747dd22b9b9632347258908763880b11e6da7b0e2c31ff495"
}
}
},
"d27646db356b4801d159603eb3aba98ebef55a9f4d756808534f2d867ec417e6": {
"cdd5b1b8d2822726ea5c332230c6e8499f4d5205bdfbcfed07728e2ddb1639c8": {
"fr": {
- "updatedAt": "2025-12-01T18:59:35.990Z"
+ "updatedAt": "2025-12-10T11:52:24.509Z",
+ "postProcessHash": "ee8b35f2aebaa1b74a102e717aacb30cab8ab33eb71f45d1ac58eb8c450b32e6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.992Z"
+ "updatedAt": "2025-12-10T11:52:24.521Z",
+ "postProcessHash": "4b4fd567fba112f77e26a336e49c371ff2422de10e9e4562bc7b3c639271a230"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.997Z"
+ "updatedAt": "2025-12-10T11:52:24.532Z",
+ "postProcessHash": "1d3bd8d87bb716fd458e87cda61f357e190f87ff3236f3166d3bafe1a43dfd85"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.997Z"
+ "updatedAt": "2025-12-10T11:52:24.532Z",
+ "postProcessHash": "a6a4dc577230ed7f72c909a7e4cedf9d4b739cbcaac0009cbc5385b739ce8405"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.998Z"
+ "updatedAt": "2025-12-10T11:52:24.533Z",
+ "postProcessHash": "1dc09144370939148c912f231bfcb3133bde1ba7eb278e76b88bec8c2a29b6bb"
}
}
},
"62c6d9fad127450dcb7338a510634e14250b36db7337c7466a18a8e012671bc3": {
"961437b0a8434f64e18f4dbca745a183b02a4baca80d6f8c1be38d68a4acba53": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.993Z"
+ "updatedAt": "2025-12-10T11:52:24.521Z",
+ "postProcessHash": "dc8d185beb7d1ec264e9e01d928e894dde1922bccbd2692d75ff858a66fd9403"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.995Z"
+ "updatedAt": "2025-12-10T11:52:24.524Z",
+ "postProcessHash": "88edcbfe6c513eedd401e5f105718bff790128c62948143c0ad6094b4db17c3a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:35.998Z"
+ "updatedAt": "2025-12-10T11:52:24.535Z",
+ "postProcessHash": "30330f07bc9a86d9beb99d9b5c62c7b35fcff610c8c74cba7e46718018aec491"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.999Z"
+ "updatedAt": "2025-12-10T11:52:24.536Z",
+ "postProcessHash": "97bca207928c0b2016717de938657c1bc2e5a44fd853b3251530c94d930b7fdc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.001Z"
+ "updatedAt": "2025-12-10T11:52:24.543Z",
+ "postProcessHash": "cabe43c20ae3397d362e9b57f21917b103d7ce3021fbb10f9c6ea684e8f0527f"
}
}
},
"ecc20b488850357a700fabd59bbf656d00ad582de8cda0b9f4089ca9340206ee": {
"690ecfd759f2af1f60fa8a7d33af637de6364f7f1f38aade81a42960b2f06017": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.993Z"
+ "updatedAt": "2025-12-10T11:52:24.522Z",
+ "postProcessHash": "cafb0ab08fe65ea7a2f4a10a31792de4149b7300bda5ade3a35171be5163eebc"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.998Z"
+ "updatedAt": "2025-12-10T11:52:24.536Z",
+ "postProcessHash": "4a83e9bd0f39f0855c31f6fa29ab710df47387907d7322b8a3da71cd44ca1e6f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.001Z"
+ "updatedAt": "2025-12-10T11:52:24.540Z",
+ "postProcessHash": "a15c19d2ed5b0baf5273b652efe01ccad2826aeb3625aa3b3ca90e53a893ca42"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.002Z"
+ "updatedAt": "2025-12-10T11:52:24.544Z",
+ "postProcessHash": "4b34f05529fd49754672513a2945e0700f1e73e3f4690936015a6bbd6e5be24e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.005Z"
+ "updatedAt": "2025-12-10T11:52:24.546Z",
+ "postProcessHash": "3f944bc0a1c6bb0b7acc3e4d9296dd6b596f1c54ab452b4f2730d330ee370f88"
}
}
},
"8e44d972390098d7b8b59a0e7aeadecc5f1f7e05f6e67d154ea8c0503c8e619d": {
"83628bb3b887e203b72fe05499d49955995913fc1047eb5c28c790be158cf279": {
"ja": {
- "updatedAt": "2025-12-01T18:59:35.994Z"
+ "updatedAt": "2025-12-10T11:52:24.522Z",
+ "postProcessHash": "7a0a173e1cc8cdcb10525e9129a0785e0aa3fbb23fc3ca25f879dd8ca6315db9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.994Z"
+ "updatedAt": "2025-12-10T11:52:24.523Z",
+ "postProcessHash": "20a38b7e12f1176992c372cd2a1a5bfd8354459c148d58d7087e57846ebb920e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.006Z"
+ "updatedAt": "2025-12-10T11:52:24.547Z",
+ "postProcessHash": "8d28c189fa5d06b1ad72831effcda655623357f676bbb8004f3c5a1736e8b702"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.008Z"
+ "updatedAt": "2025-12-10T11:52:24.549Z",
+ "postProcessHash": "756edb77441539be9cc5111549825553d3c77e1b7181b5d2bf73f08610c77b21"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.008Z"
+ "updatedAt": "2025-12-10T11:52:24.553Z",
+ "postProcessHash": "a3ebd6617444926773fdf762a32950a1c7f17700ef29969cbec25b8ebaaddb84"
}
}
},
"0038282129f5dcae446145cbd974f3189672475aeeb2deef1651fd496995e12d": {
"c18930a4cd08b6b244b580022cf9a315b2e61dc8420b00fbc38329697533a6fa": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.994Z"
+ "updatedAt": "2025-12-10T11:52:24.523Z",
+ "postProcessHash": "e8b672260afee9baded7774559b153e44a440fb9d7378213ebee494badbd5c3f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.000Z"
+ "updatedAt": "2025-12-10T11:52:24.539Z",
+ "postProcessHash": "e61e0c588278b973fae7ec1c67ad6d4c767097057c8863ccf70056f1bac12557"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.001Z"
+ "updatedAt": "2025-12-10T11:52:24.543Z",
+ "postProcessHash": "822dfaabb87cc5f2a50c00eed747dc75662f2617b6a73b95f3b326c4eec91130"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.001Z"
+ "updatedAt": "2025-12-10T11:52:24.543Z",
+ "postProcessHash": "f4b24fc7697683a4206641378218dd87e98ea557a191b7b45f0cc13df12cf958"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.002Z"
+ "updatedAt": "2025-12-10T11:52:24.544Z",
+ "postProcessHash": "43ab26f5ae547b9b48771677771265628e6b0e770c09db2bd8db961ade8e66f0"
}
}
},
"8feb15f102b5235f78814167adc6f3b98e4d156775c98acce375a81ae2a54f21": {
"a83298cad771931f921c73285d40ae83d0606c6f376dbd726630edba96f2756b": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.008Z"
+ "updatedAt": "2025-12-10T11:52:24.523Z",
+ "postProcessHash": "bbfb1572c5817e159f39dd09a8f259a9f317a87a98b48a81acfdfbc7acb9282b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.009Z"
+ "updatedAt": "2025-12-10T11:52:24.530Z",
+ "postProcessHash": "bbfb1572c5817e159f39dd09a8f259a9f317a87a98b48a81acfdfbc7acb9282b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.012Z"
+ "updatedAt": "2025-12-10T11:52:24.541Z",
+ "postProcessHash": "bbfb1572c5817e159f39dd09a8f259a9f317a87a98b48a81acfdfbc7acb9282b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.014Z"
+ "updatedAt": "2025-12-10T11:52:24.550Z",
+ "postProcessHash": "178afef5b6c7e8abb06f97603af57b8379fc1ef80ae8c4e90605c1e783868870"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.014Z"
+ "updatedAt": "2025-12-10T11:52:24.551Z",
+ "postProcessHash": "ab39da6436670f80f48480fff44c2fa6f2358ba46f5bca038e6b7849ec9f69c3"
}
}
},
"c32b4a357ba92575a33abcc6ec5f825088821ac6c81921e59d72d17ee629a3a7": {
"c73265082828f7f0fbfae521e9e5bf532fb703ef028be39702674b9b673ed83d": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.009Z"
+ "updatedAt": "2025-12-10T11:52:24.531Z",
+ "postProcessHash": "fc398f1bb085fe920e4c2c74e207507407e0b705932438f66386c12b3d252049"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.009Z"
+ "updatedAt": "2025-12-10T11:52:24.531Z",
+ "postProcessHash": "ed01d61f434248236c92bf681a856205f8553d6b872537380aa6b55269947e77"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.017Z"
+ "updatedAt": "2025-12-10T11:52:24.554Z",
+ "postProcessHash": "2a163b2cf3b024c9754b1f177d762b86fc01c89d717e0bc31d4eeb5775857ecb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.019Z"
+ "updatedAt": "2025-12-10T11:52:24.556Z",
+ "postProcessHash": "56568aac671837dcc6b59a4f9656eb57d0a25c541fb1ffd90cdc0cd8f04e237a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.025Z"
+ "updatedAt": "2025-12-10T11:52:24.565Z",
+ "postProcessHash": "62a3b038aa6f76cc1ae36f9155dfb757d2f82dbf154ce338300893bf0d05e728"
}
}
},
"9bffec7b70c2e782009940f3329a14ee5c111083b93f1613df1d6f7f5a9935a8": {
"4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.010Z"
+ "updatedAt": "2025-12-10T11:52:24.534Z",
+ "postProcessHash": "4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.999Z"
+ "updatedAt": "2025-12-10T11:52:24.537Z",
+ "postProcessHash": "4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.999Z"
+ "updatedAt": "2025-12-10T11:52:24.537Z",
+ "postProcessHash": "4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.010Z"
+ "updatedAt": "2025-12-10T11:52:24.537Z",
+ "postProcessHash": "4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.000Z"
+ "updatedAt": "2025-12-10T11:52:24.538Z",
+ "postProcessHash": "4bd881752c5f6124f0725896d1307577002fb27c0115b0690ff433b001c184b8"
}
}
},
"1f4d55f55edfaff346a0b21c3264cb3d72849d37bf5ae49e38a29656f137ff50": {
"0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.010Z"
+ "updatedAt": "2025-12-10T11:52:24.535Z",
+ "postProcessHash": "0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.011Z"
+ "updatedAt": "2025-12-10T11:52:24.538Z",
+ "postProcessHash": "0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.011Z"
+ "updatedAt": "2025-12-10T11:52:24.539Z",
+ "postProcessHash": "0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.011Z"
+ "updatedAt": "2025-12-10T11:52:24.540Z",
+ "postProcessHash": "0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.013Z"
+ "updatedAt": "2025-12-10T11:52:24.542Z",
+ "postProcessHash": "0bc732c86be4a463c11433427d60d952c449c48bca9d180195a1a2cc85919d07"
}
}
},
"9c8b71a7ccdb64d12fb6c4c49837a438df069452b9663d18e2f83369403317a7": {
"cc15e1e2bc6c3b5842b0a795567864ca569e585e7ae014c4f2023b422848f5d1": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.002Z"
+ "updatedAt": "2025-12-10T11:52:24.544Z",
+ "postProcessHash": "c330d391ee67cd8ab62682ac3a548cdca2a72860603d8c0db420fa0320545e6d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.003Z"
+ "updatedAt": "2025-12-10T11:52:24.545Z",
+ "postProcessHash": "cc15e1e2bc6c3b5842b0a795567864ca569e585e7ae014c4f2023b422848f5d1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.004Z"
+ "updatedAt": "2025-12-10T11:52:24.545Z",
+ "postProcessHash": "f9b9486629bbcc594d3351df5300e7e6a46f39f4a7d6df49da2634eb1043d384"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.005Z"
+ "updatedAt": "2025-12-10T11:52:24.546Z",
+ "postProcessHash": "979c07819bd5ac301a1935cf948e77393f6bb163d5dc8292587e8151d15cf657"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.007Z"
+ "updatedAt": "2025-12-10T11:52:24.549Z",
+ "postProcessHash": "c330d391ee67cd8ab62682ac3a548cdca2a72860603d8c0db420fa0320545e6d"
}
}
},
"d36bec4d4129d125810cddd8ffbd2d0327465bf378a2e6cb5fa3680bf1e5d967": {
"c9420c7cec798a78b0b79073b7a6b63841f4e36c3e54220fddb024cfdac80f2b": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.004Z"
+ "updatedAt": "2025-12-10T11:52:24.545Z",
+ "postProcessHash": "f1f66fe8857cad4248d4429b9caf3bfe89099245400c5cc3fccc8f48030df0bd"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.005Z"
+ "updatedAt": "2025-12-10T11:52:24.546Z",
+ "postProcessHash": "f1f66fe8857cad4248d4429b9caf3bfe89099245400c5cc3fccc8f48030df0bd"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.006Z"
+ "updatedAt": "2025-12-10T11:52:24.547Z",
+ "postProcessHash": "f1f66fe8857cad4248d4429b9caf3bfe89099245400c5cc3fccc8f48030df0bd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.007Z"
+ "updatedAt": "2025-12-10T11:52:24.548Z",
+ "postProcessHash": "f1f66fe8857cad4248d4429b9caf3bfe89099245400c5cc3fccc8f48030df0bd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.007Z"
+ "updatedAt": "2025-12-10T11:52:24.548Z",
+ "postProcessHash": "f1f66fe8857cad4248d4429b9caf3bfe89099245400c5cc3fccc8f48030df0bd"
}
}
},
"146a97d03025c5f3c00cca469a8ef09c2939689219c51f791f99024cff62ff39": {
"989bf8e2c8692b8871ab92bb7058cdcf374cd65060c1a3b75326ccfa3e94585a": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.031Z"
+ "updatedAt": "2025-12-10T11:52:24.526Z",
+ "postProcessHash": "e51a0edfd6e7890843852574d08e36f9ee617ac027f9e59215c36fb1c63ef7f2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.032Z"
+ "updatedAt": "2025-12-10T11:52:24.528Z",
+ "postProcessHash": "1dcb3980679a0e0e72cce61fa0b42f568969107b3a8ae11bbd93aa3a0835c512"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.043Z"
+ "updatedAt": "2025-12-10T11:52:24.585Z",
+ "postProcessHash": "d8102a633b0c5ff24ac342740d91c3a6bb9c144b6aa62df0c044c7dbe6358b98"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.049Z"
+ "updatedAt": "2025-12-10T11:52:24.597Z",
+ "postProcessHash": "1e0c03dbd1b7ec4fb361d79932a57349ca0d25b73aabc608afe42295c9ffb6ad"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.051Z"
+ "updatedAt": "2025-12-10T11:52:24.613Z",
+ "postProcessHash": "edbcc7e8162fad5eb6a4fdfc218a6cdccc0a7797f9d056d035a9d72b1607eea7"
}
}
},
"7854cea9bc2dd0aed23fa866b24788264ea3d7cb542a2455c882814f7b556905": {
"1b631487a3a75eb2655b532511e2d75b944075f33d81d05cdee3c7a1c9f33255": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.031Z"
+ "updatedAt": "2025-12-10T11:52:24.527Z",
+ "postProcessHash": "69593a411e44ad0c35751ad7dba48f83641d2ae65ed9ce15d75f3079f2f5409c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.032Z"
+ "updatedAt": "2025-12-10T11:52:24.527Z",
+ "postProcessHash": "6122fc52d865f7852de643f7413f998bd70693cda9640dafab1d6c253d56f642"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.033Z"
+ "updatedAt": "2025-12-10T11:52:24.530Z",
+ "postProcessHash": "ecdb0e82d0d90aea39364d17aa17a4ce1827b525616c83e8db83caa68c4a9fef"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.034Z"
+ "updatedAt": "2025-12-10T11:52:24.571Z",
+ "postProcessHash": "fcc8acf3dd8cc2698afc318d86c80cb252ed3570442b4503607a636951629f66"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.046Z"
+ "updatedAt": "2025-12-10T11:52:24.593Z",
+ "postProcessHash": "6c7f0d9da911051130623bb0663e691ec1d200cc13e1861ddcaa0e1acf06222a"
}
}
},
"5e2c0d1929ab8181d1862b9338cb724de4ece9ec35b1b0a95efbe5eec482d8e1": {
"7047e5c953239d3b5abcc99752e5833c0ee4b1c4fa5450ccd8fd2720901a3521": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.033Z"
+ "updatedAt": "2025-12-10T11:52:24.529Z",
+ "postProcessHash": "6978021d232a7515fdd7fe6098e8aedf43e8d39f2709d6e2bf8ea3bafdb31ea6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.033Z"
+ "updatedAt": "2025-12-10T11:52:24.529Z",
+ "postProcessHash": "274da176fda879b54a51cb04a6a32b568ed8151b73c3c73e4584bf8d76bce71c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.040Z"
+ "updatedAt": "2025-12-10T11:52:24.583Z",
+ "postProcessHash": "b6c694df1e9e138c400ad8f67e5d2d3e87d36399e7f335d7803798f27e77a03b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.045Z"
+ "updatedAt": "2025-12-10T11:52:24.592Z",
+ "postProcessHash": "09edafc56dc5a1f7a230b84d2cc61e4e946556a18d389cf3ddc767f4c39dbfe0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.050Z"
+ "updatedAt": "2025-12-10T11:52:24.599Z",
+ "postProcessHash": "60bd45eef65e0567302d307b8bcf51831dfe3c67502918a4e489a9ad9b63d08d"
}
}
},
"98176286a437027ab917f650fd984d11cdd0d5bedabc9547bdb8b53758efc28f": {
"058f212498311086bb68164c2ae46b7b7f63e174cd90435c3c671c8720e83a85": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.034Z"
+ "updatedAt": "2025-12-10T11:52:24.571Z",
+ "postProcessHash": "12148400500fe728b599665a10f873feb435e57853cad6809f31b8e9d14a9f60"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.041Z"
+ "updatedAt": "2025-12-10T11:52:24.584Z",
+ "postProcessHash": "ae8f156eb14a76b07999fe94ce4bd0e85d93f6276b19a52c1f08e74e19c289b0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.042Z"
+ "updatedAt": "2025-12-10T11:52:24.584Z",
+ "postProcessHash": "bac97b187f2e208a12619dadfffbf5e4873393b722695514df9455c3ab1e99f7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.043Z"
+ "updatedAt": "2025-12-10T11:52:24.585Z",
+ "postProcessHash": "dc4b31e9687f4bd6d4d1ef3ab155304580f69cd112118888773e31f6e39345ae"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.046Z"
+ "updatedAt": "2025-12-10T11:52:24.592Z",
+ "postProcessHash": "38b827576de60384ccb4cac82891538c204255032d320c7c46c9526a224708d9"
}
}
},
"27513f55a94dd7b5a9bab5f27f620cc8d86fa3578540b6f5c2275411c1742866": {
"5b73eee70a1d3387e94f2fe7269567ffc4d47009fe46255cb7c2aa3dbc8902de": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.012Z"
+ "updatedAt": "2025-12-10T11:52:24.540Z",
+ "postProcessHash": "726e8f23b6d1ce705bb9b875d0d31f402fd470a01f295d5774aa03b0cc44e0a3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.014Z"
+ "updatedAt": "2025-12-10T11:52:24.550Z",
+ "postProcessHash": "345ee0f323e5a2d961be946ae919ea6e7a3f59ce48dfaee1a0f0b1baf69f0dd8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.015Z"
+ "updatedAt": "2025-12-10T11:52:24.551Z",
+ "postProcessHash": "726e8f23b6d1ce705bb9b875d0d31f402fd470a01f295d5774aa03b0cc44e0a3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.015Z"
+ "updatedAt": "2025-12-10T11:52:24.552Z",
+ "postProcessHash": "6f72edd4e03b2c417713b2100fb7475d5e1afb69fe2ca05a9355c94d4b917310"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.015Z"
+ "updatedAt": "2025-12-10T11:52:24.552Z",
+ "postProcessHash": "18bf4ac5d238b1387f537ecadfdfb9955b1c88eb9f5c7f57e5a45ca1b8d7e751"
}
}
},
"6fdc69d8931e97dbc658f10d06e76bb546a7de063518836405740b0f04ded350": {
"12c7f8971d81c788552680da8f61b505a48bc485167fbc3e28c48a05a58b35a8": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.012Z"
+ "updatedAt": "2025-12-10T11:52:24.541Z",
+ "postProcessHash": "3b63174601a2d17dd8b1107e472967072bb57af79b2c6b4b37ac9697e3a88f87"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.016Z"
+ "updatedAt": "2025-12-10T11:52:24.553Z",
+ "postProcessHash": "3b63174601a2d17dd8b1107e472967072bb57af79b2c6b4b37ac9697e3a88f87"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.017Z"
+ "updatedAt": "2025-12-10T11:52:24.555Z",
+ "postProcessHash": "3b63174601a2d17dd8b1107e472967072bb57af79b2c6b4b37ac9697e3a88f87"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.018Z"
+ "updatedAt": "2025-12-10T11:52:24.556Z",
+ "postProcessHash": "3b63174601a2d17dd8b1107e472967072bb57af79b2c6b4b37ac9697e3a88f87"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.024Z"
+ "updatedAt": "2025-12-10T11:52:24.564Z",
+ "postProcessHash": "3b63174601a2d17dd8b1107e472967072bb57af79b2c6b4b37ac9697e3a88f87"
}
}
},
"95f04c83fbf90a2720ede50d2575635a7d436e3239e4e2c9946c81d82d74d3d2": {
"e2c575372edc89409d2002192f4586e4dfaded43508a3f674acae371085a34e3": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.013Z"
+ "updatedAt": "2025-12-10T11:52:24.542Z",
+ "postProcessHash": "3b8e87c4d1d456ca3f49bc142809a31de1f0a74f289c0c1fb46b8fdcab812962"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.016Z"
+ "updatedAt": "2025-12-10T11:52:24.554Z",
+ "postProcessHash": "ba8b0cb0eaa390008a40dbe5e41be0cfd9f6644b9c911910e929700a5119666b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.018Z"
+ "updatedAt": "2025-12-10T11:52:24.555Z",
+ "postProcessHash": "82bc871e74c4a7106ab69db6e39d5d12b87ba2c774a7be8590b825e93001bf15"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.019Z"
+ "updatedAt": "2025-12-10T11:52:24.558Z",
+ "postProcessHash": "886c2d1e199cef0c29460cdc7ef37831a4e659a20fa69762cbecf63a45696ee4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.027Z"
+ "updatedAt": "2025-12-10T11:52:24.569Z",
+ "postProcessHash": "c264e81174907238152242ba1341f2b5d003c9305794cd57548ad5b5e3cc2872"
}
}
},
"c3f4c3a8427e5729c505b06cef1b371c37b1a7b395e0d426cf04d8b302a398a1": {
"e955831731d74e3ef9fbcac1b7dd95bc26afc4a193b8745c6c08ddfc6e828ea8": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.013Z"
+ "updatedAt": "2025-12-10T11:52:24.542Z",
+ "postProcessHash": "c92d0b70e06addcfc701d7e598552f8c5abb82eafc7e5309c0a5cac77f8ba02f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.019Z"
+ "updatedAt": "2025-12-10T11:52:24.557Z",
+ "postProcessHash": "ff56b85c45488cc5787482aa3dbdb5a0a586de2d945e7c66f2b3a084672ed517"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.020Z"
+ "updatedAt": "2025-12-10T11:52:24.558Z",
+ "postProcessHash": "c93a38003a2724b50d49f8ed9a390b52bc99f5f6251bb047ae5092c8de98aa63"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.027Z"
+ "updatedAt": "2025-12-10T11:52:24.569Z",
+ "postProcessHash": "b79330371d56ca974c654818ac220fd3d196b267474f9e21829bc4ee3f173be1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.028Z"
+ "updatedAt": "2025-12-10T11:52:24.569Z",
+ "postProcessHash": "dd1fc80f3c2d0ae76e1720bb4ce80343a279787a342d266cbd85ea2a85735c5b"
}
}
},
"2a2e9773af401bffefdba29eb00bf75d8f161145bec7acf31f4a059c2fc00397": {
"a55c3a0e37554fc31718d674b0c065f600f01d15717f1953a472f7854b51a6b3": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.020Z"
+ "updatedAt": "2025-12-10T11:52:24.559Z",
+ "postProcessHash": "c30e24e68ce16e98e10ae231cb2f29c5241b781263185ba6700cb409a462a82a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.020Z"
+ "updatedAt": "2025-12-10T11:52:24.559Z",
+ "postProcessHash": "ba967759da150c083b043f70bfb4e1bba7d6cec3c75b0bf2316199f646b733d5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.021Z"
+ "updatedAt": "2025-12-10T11:52:24.560Z",
+ "postProcessHash": "3d1d76e4292f9252515ab8253db69fd28184da7e416ae18b7a48df61613ceeef"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.021Z"
+ "updatedAt": "2025-12-10T11:52:24.560Z",
+ "postProcessHash": "dbf19dd116fafe45e12a52981e4fb0d3ebea4e9bef158158bde487583e4962a6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.021Z"
+ "updatedAt": "2025-12-10T11:52:24.560Z",
+ "postProcessHash": "9393432d0c0435af1923693814712b3fde56acc2d48702aea9a147ba845e4138"
}
}
},
"579cfec3359f90f551ea74357b3ecca07a5044c601be4bc57531e7f29adf44f8": {
"0f6aa25038f03f5cfa9f68f87ad3e3f420231ddabe90c4c59afbd129e88d14b6": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.022Z"
+ "updatedAt": "2025-12-10T11:52:24.561Z",
+ "postProcessHash": "3cfcb83483500a5d1bd17a79d061fceb9e725375b922cb73c8107f20eb3ee5c6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.025Z"
+ "updatedAt": "2025-12-10T11:52:24.565Z",
+ "postProcessHash": "6304e60a034200c1507cfc482da8a5ba58dfeace9acb7be78daa1a93a3e1d0aa"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.025Z"
+ "updatedAt": "2025-12-10T11:52:24.565Z",
+ "postProcessHash": "2c7e40a7dabb4652a23aebfda1fb57fbeff81a8d737504ee4c22f2008e4e325b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.028Z"
+ "updatedAt": "2025-12-10T11:52:24.570Z",
+ "postProcessHash": "2c7e40a7dabb4652a23aebfda1fb57fbeff81a8d737504ee4c22f2008e4e325b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.028Z"
+ "updatedAt": "2025-12-10T11:52:24.570Z",
+ "postProcessHash": "2c7e40a7dabb4652a23aebfda1fb57fbeff81a8d737504ee4c22f2008e4e325b"
}
}
},
"ca1c465fc7128fa71c3dae37f83aa3eb965e6cc8bc465464c6efa9fb4afc89a3": {
"931abbdb79d54a0763cf1e36d9ff7f9412ed8ee73782f76a4e9c1f0f09af01ce": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.022Z"
+ "updatedAt": "2025-12-10T11:52:24.561Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.027Z"
+ "updatedAt": "2025-12-10T11:52:24.568Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.029Z"
+ "updatedAt": "2025-12-10T11:52:24.573Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.029Z"
+ "updatedAt": "2025-12-10T11:52:24.574Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.030Z"
+ "updatedAt": "2025-12-10T11:52:24.574Z",
+ "postProcessHash": "2fc14d109c0811876ba2748b3bde09e68cdfd5eccc21ed5d0a274f0406f94bf3"
}
}
},
"f2ba85d7ba221a732cb872c85a0e5fcbc497e1991b4023dd0f0ae44ffb04f329": {
"c1e129a04a4ea9aeb4394025fc4a782e60877a5876e7dd6f8091a0dd5be48207": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.022Z"
+ "updatedAt": "2025-12-10T11:52:24.561Z",
+ "postProcessHash": "ca4342097c5789703b1158327d81fd15a413f8106b1a59f851c0cc649986972a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.023Z"
+ "updatedAt": "2025-12-10T11:52:24.562Z",
+ "postProcessHash": "e2c346efc7b3b8416068cb9fa9a054333468f3bea640d8b5bbd35e3a559751bd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.023Z"
+ "updatedAt": "2025-12-10T11:52:24.563Z",
+ "postProcessHash": "5a949c813dc283009ac01a8b7bc89f87b4de489bc11890eb622fe369054f5b5b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.028Z"
+ "updatedAt": "2025-12-10T11:52:24.572Z",
+ "postProcessHash": "f34aa4a4e07b9c69d0b535ee186ad367caaaf0dae1d8697f91e0100624e3114e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.029Z"
+ "updatedAt": "2025-12-10T11:52:24.573Z",
+ "postProcessHash": "1047693b1bc8ecccd578b377f2c4a8ab4d8adb25234613abd9872eeb11e4c09e"
}
}
},
"e5faf70bcc5fa0f1258278c844a3b7cf78f02c28aa5a14a94e3f4bd2b72e3711": {
"3bdba5179e23b30c081411d6091f27d9e9e9ff0aacc162912e664eac2461f16d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.023Z"
+ "updatedAt": "2025-12-10T11:52:24.562Z",
+ "postProcessHash": "60fcb4f9b935d08f434b3ee750fbd16637061b0bd885d9de4028e9a3315faf2f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.024Z"
+ "updatedAt": "2025-12-10T11:52:24.564Z",
+ "postProcessHash": "4d7222f36cfa221356c2c8496a31a63d40b354d84f285e4d779e124e1708e524"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.026Z"
+ "updatedAt": "2025-12-10T11:52:24.566Z",
+ "postProcessHash": "60fcb4f9b935d08f434b3ee750fbd16637061b0bd885d9de4028e9a3315faf2f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.026Z"
+ "updatedAt": "2025-12-10T11:52:24.567Z",
+ "postProcessHash": "60fcb4f9b935d08f434b3ee750fbd16637061b0bd885d9de4028e9a3315faf2f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.030Z"
+ "updatedAt": "2025-12-10T11:52:24.582Z",
+ "postProcessHash": "8c85789eda5fdf96fc06d3567414d6a7a1b896260ef9f530795f3ac3bba7a7ad"
}
}
},
"210f01c3b5ef7c45297b8291e7dc3db949725c792ea89c1e2b86b8460b005ccc": {
"9c9b5b179b68291450d797d665d5c69353d7f0f7ddc26acae7d3b224538b3cb6": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.034Z"
+ "updatedAt": "2025-12-10T11:52:24.567Z",
+ "postProcessHash": "cd898e6fab97bb87f26eb89ca1924e654a744676042baf59ab071c96d2f54714"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.030Z"
+ "updatedAt": "2025-12-10T11:52:24.577Z",
+ "postProcessHash": "0cca9866cc60c005959dcfa3f44ec50ed490428196d63b8e9177fa835a0e7d35"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.031Z"
+ "updatedAt": "2025-12-10T11:52:24.590Z",
+ "postProcessHash": "e7630d68c91bdb8c5ccb2d3594413723d855d13383e201976bd1fd484f936aad"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.035Z"
+ "updatedAt": "2025-12-10T11:52:24.569Z",
+ "postProcessHash": "c6528ed1bc1285702f454997339e21e763838d5677a374fd9bf52ca9beb88344"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.049Z"
+ "updatedAt": "2025-12-10T11:52:24.598Z",
+ "postProcessHash": "e180408bb87477ac4fda945f96b37489110827d6e9bf96b61f1c069db3093a95"
}
}
},
"d7207809df5627ca2ba122542306e233d956c568eea218476302bdc2f29bfdfb": {
"ac12ed8504e934412a5e4e4d0acacead2f22b48172352efb3b6a3da4d8b8de42": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.034Z"
+ "updatedAt": "2025-12-10T11:52:24.567Z",
+ "postProcessHash": "19ea3040758a705d7165e2b82326b9ee70d6a872cd1cd217a127c5a47bb8e906"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.035Z"
+ "updatedAt": "2025-12-10T11:52:24.568Z",
+ "postProcessHash": "68a5035945ac7f4332edbf9e8bb4f374a868c3aca4a9c51f2f70fdf8d524346d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.035Z"
+ "updatedAt": "2025-12-10T11:52:24.575Z",
+ "postProcessHash": "3241299baeca0f28bf854b08e1e19d9f4d5eb7a9b23b17fd175cc9e3c7734dbf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.036Z"
+ "updatedAt": "2025-12-10T11:52:24.575Z",
+ "postProcessHash": "46571c1d6fa520358246510616541fbdc043f82515e15ae724219831b352661e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.036Z"
+ "updatedAt": "2025-12-10T11:52:24.576Z",
+ "postProcessHash": "6218364c5df08b5e90ec373e3723a827efea62e0783e3cea15a90134ddc4b9e9"
}
}
},
"5942ecb86e3f588ce203e895a0f007405851805c93e08102747b9df9ca0bf67d": {
"ce3ccab7de18373f427456359199f6c89a2dab6373557061567fc0426b083755": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.036Z"
+ "updatedAt": "2025-12-10T11:52:24.577Z",
+ "postProcessHash": "fcaf637da2beb68a2f293b257dba4acab4f97d4ed2391139b2ff9744344a9568"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.036Z"
+ "updatedAt": "2025-12-10T11:52:24.578Z",
+ "postProcessHash": "ae5a10778cdd1f3a953d51e2c45131a8d1a99d9bd0ccaa1f86ed9ee4a280020f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.037Z"
+ "updatedAt": "2025-12-10T11:52:24.579Z",
+ "postProcessHash": "e3edbdee07dbad7509a3fc340820de191d9bb2d72d88ac24adbdee3c1b3dde5f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.037Z"
+ "updatedAt": "2025-12-10T11:52:24.579Z",
+ "postProcessHash": "2d0d608b80223c0f5af81945796c3c93bdebefdc6f7667e6a216e55f817b4a18"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.039Z"
+ "updatedAt": "2025-12-10T11:52:24.581Z",
+ "postProcessHash": "e2479d4e4fbb06b381b4a5b737bd096e6d6a22aa6ab18d75badd701cbf960867"
}
}
},
"e48990231f6123ae9301742dea0bf6da24f61c6421ef36eccdffcf4b14c5d964": {
"50a8c1cb3920c088400ef78204d4e5fb8b6bfd0db0f1ce02c36c576ef9456972": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.037Z"
+ "updatedAt": "2025-12-10T11:52:24.578Z",
+ "postProcessHash": "80853ae16a0a0eaf051d5dbd59ee2e3fcce732b73977fee9003a22beb8caa49b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.037Z"
+ "updatedAt": "2025-12-10T11:52:24.578Z",
+ "postProcessHash": "3b09f05e4a1fa3b20c09568188d96dcd561cf6ca96ad461c59d17cd82093af06"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.038Z"
+ "updatedAt": "2025-12-10T11:52:24.580Z",
+ "postProcessHash": "b85536782197ae736cfa78b978f43c6498ed2bd3ac49bf3b1b756264367649fe"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.040Z"
+ "updatedAt": "2025-12-10T11:52:24.583Z",
+ "postProcessHash": "91867fe80d0cc17a63a8ecda023d5201aadf24d4fa9fccc6ec4c1cb894284963"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.045Z"
+ "updatedAt": "2025-12-10T11:52:24.591Z",
+ "postProcessHash": "49ff6488c59e2ae44585df862ddfc893d35ad4aa82feb79aa35b0f3ea786d133"
}
}
},
"d5b52cfc76581dcdd4ff35fad5d4708734798a311e1c016959844e343967a21e": {
"8ffc6890fd7f9804d4c42746f851372d48970c591ac55854b1c7182631415e18": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.037Z"
+ "updatedAt": "2025-12-10T11:52:24.579Z",
+ "postProcessHash": "3b91cc7b94f608bcf93660602ca14c49b83074e36611e28f11cfa6ca38b62934"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.038Z"
+ "updatedAt": "2025-12-10T11:52:24.580Z",
+ "postProcessHash": "a7d7ca7357f68ad0ed5675e8ea14f6f2646723b033f37766bf5fb6223327b3ac"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.039Z"
+ "updatedAt": "2025-12-10T11:52:24.581Z",
+ "postProcessHash": "0cc7240c389a6890bfaa6de9e3bbbfc60ff7554d1d03a3435adf700a532d1d5b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.040Z"
+ "updatedAt": "2025-12-10T11:52:24.582Z",
+ "postProcessHash": "0cc7240c389a6890bfaa6de9e3bbbfc60ff7554d1d03a3435adf700a532d1d5b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.045Z"
+ "updatedAt": "2025-12-10T11:52:24.592Z",
+ "postProcessHash": "1770b54c5d0b6fe599e7f7b03e3aa61fd149722668c70f43fe888e1f7b829898"
}
}
},
"573f0d7cec49b615975e67cf078a955cdf38a7754dcc90fbfa4e42ae4dcdc63a": {
"e0f2ffd6ab01fa804eb9bbb27062f6025362177b20fcfb8f1aa09d794f694fb8": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.038Z"
+ "updatedAt": "2025-12-10T11:52:24.580Z",
+ "postProcessHash": "a763b22de4f4ff64b2a837578bf0b0c87529136358006f29b231e401e4061d10"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.038Z"
+ "updatedAt": "2025-12-10T11:52:24.581Z",
+ "postProcessHash": "310acedc454c4e22afae6f630f34106eaa37e751ce660110ec46dbb9a8bc7225"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.039Z"
+ "updatedAt": "2025-12-10T11:52:24.581Z",
+ "postProcessHash": "3289fe7a095fa7aaa922e8510d62ce78674237f79b622f14df793a8556ce7595"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.039Z"
+ "updatedAt": "2025-12-10T11:52:24.582Z",
+ "postProcessHash": "ce029b4884f524e9bf03f563c171af403915197c017e7b7cc7effab19bc2ba69"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.040Z"
+ "updatedAt": "2025-12-10T11:52:24.583Z",
+ "postProcessHash": "e450419c145e460120c316e03fe071a83031478a3ae1273bc8e8159d2ca1a93c"
}
}
},
"e30c6b052d4fd964acf6bbb4fcc4e80b7125896a145c0c8e5c2d00a8793b43b7": {
"8e31fc822e4e0c1d36ddb6d6dc99cf93dab067c49125f77b53c83a9da6759bc8": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.041Z"
+ "updatedAt": "2025-12-10T11:52:24.584Z",
+ "postProcessHash": "00aa8a05122d4431309601cdb01ad875d66090a98514934e8a3572a254cf3bad"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.043Z"
+ "updatedAt": "2025-12-10T11:52:24.585Z",
+ "postProcessHash": "ed3c3f86f20241ed1fa8e1ee36cc3c8ba736d7c44067d064e87d7d8ae85f4ab5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.044Z"
+ "updatedAt": "2025-12-10T11:52:24.586Z",
+ "postProcessHash": "3e71956ec8ce45d651f850a26af8790b5899e5d6e29ab4ec767f64850dc82848"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.046Z"
+ "updatedAt": "2025-12-10T11:52:24.593Z",
+ "postProcessHash": "727c764fbd14a62d60290c315d3db3b4b089eb7f45b4598d684c30b087b7f175"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.051Z"
+ "updatedAt": "2025-12-10T11:52:24.601Z",
+ "postProcessHash": "e11ef9edd5ae8f7a337e457e66386ab8d9218fc40d4812690f6cff3dfdf87464"
}
}
},
"87a2c054c922c0a22881e7fedc1197c7a92d890df66a338b9196898f01f72361": {
"a425b34cdb806000a0fcc33f486a17d84df2573a7112f937b269d67d931da207": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.044Z"
+ "updatedAt": "2025-12-10T11:52:24.586Z",
+ "postProcessHash": "694996438b8319b48b98ae29344e18cc3ce1e5c613b7b62b26a227c102e6a2ee"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.047Z"
+ "updatedAt": "2025-12-10T11:52:24.593Z",
+ "postProcessHash": "7e8180cee08469276afeed312bd62d1862559d77e1948ef3831499bcda562e28"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.048Z"
+ "updatedAt": "2025-12-10T11:52:24.595Z",
+ "postProcessHash": "f296f83e85c5b9def5bb0a06cd2183d90fcdb5460191aa29595f77faba872f08"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.048Z"
+ "updatedAt": "2025-12-10T11:52:24.595Z",
+ "postProcessHash": "0a0e3045ca6b55626d2b9e997eb31d58da3475a411f4223a6ec4b86b190e6382"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.050Z"
+ "updatedAt": "2025-12-10T11:52:24.599Z",
+ "postProcessHash": "f44a8e28a9f0fd412bfb5e72f655ca3898732fb293be15bed1d5f2e54952402a"
}
}
},
"90f484b19f7b054509fc99e3c5c57dc1d6fb5a5ec7131c01315001f7fdab34fc": {
"8015ea58ad8668acecc4f2b2ec39abb083f24443a2ae0c7ee9599f17ecfeec66": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.045Z"
+ "updatedAt": "2025-12-10T11:52:24.587Z",
+ "postProcessHash": "dcf8bcc3151008834748ceaac77734c48605b2c9a91b859f84a00e8f031965e4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.047Z"
+ "updatedAt": "2025-12-10T11:52:24.594Z",
+ "postProcessHash": "a7bbe4242345a08230d907a25637ebb450161f61248eb3a6ecb82450ca8a8a72"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.048Z"
+ "updatedAt": "2025-12-10T11:52:24.594Z",
+ "postProcessHash": "c1273b7f1ef3768d000339c49dd4a84196081d5f998baa1732842e1daddcb1c2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.049Z"
+ "updatedAt": "2025-12-10T11:52:24.598Z",
+ "postProcessHash": "9d20b3b610bdf7d6eaccca1cc1b13e023a0b800f17f6d15e9a50bdfa68748684"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.050Z"
+ "updatedAt": "2025-12-10T11:52:24.600Z",
+ "postProcessHash": "79c77908ba2d20ea03fd62d7d4c1663421b8b68e9cc09ecb22992f66e8e1206f"
}
}
},
"8cb31573747a05996bb6eaff4f29cf59c6ac335327735f260230bcba4bac11a0": {
"9bab1e438d47a970d08e9c368ee8f427adc53a0e2f7ce275c04ac0dcd2b18dd9": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.051Z"
+ "updatedAt": "2025-12-10T11:52:24.588Z",
+ "postProcessHash": "2420e724f081677811129ac165392ce6b1622f0a31360050487886072108c2e8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.056Z"
+ "updatedAt": "2025-12-10T11:52:24.600Z",
+ "postProcessHash": "783c4d3b640fd478809208498ed10cc8fee80f7f506a133fa456427a8326b63f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.056Z"
+ "updatedAt": "2025-12-10T11:52:24.601Z",
+ "postProcessHash": "454c721a3d436a3cfe00d8341635c6b336b9f5617b6af952bf900f07233e4997"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.058Z"
+ "updatedAt": "2025-12-10T11:52:24.603Z",
+ "postProcessHash": "2e796d22f1b1692fa64cdc7ed173de4495b55ce277f17dfa20bee76c646719c8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.058Z"
+ "updatedAt": "2025-12-10T11:52:24.603Z",
+ "postProcessHash": "0aaea5b411da9b8a14124670d5044de9f94652d38c077ede86aa1d61950a91b2"
}
}
},
"cd7e22d721c2d04691c1f141a32ff6fdcd0e908e022768e47a842b50feff2825": {
"41f861449b5d9aaac798c187479c7eaf0a8be965c905fc04a9dc80bfa1f9965f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.052Z"
+ "updatedAt": "2025-12-10T11:52:24.588Z",
+ "postProcessHash": "326a7b56032e883289d7e11d4ad8be0b80c69f790e3b5e3416d3de3fbea68b82"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.059Z"
+ "updatedAt": "2025-12-10T11:52:24.604Z",
+ "postProcessHash": "cbd6f0627d5fb303b5d2925481d6231366cf90e4fb886c7961d69a5db90844f6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.061Z"
+ "updatedAt": "2025-12-10T11:52:24.608Z",
+ "postProcessHash": "924bd8fde2975ed6a61a17bf20bf75f66c27f984a9025a038003cb9476ed20ab"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.062Z"
+ "updatedAt": "2025-12-10T11:52:24.610Z",
+ "postProcessHash": "01b978309d92108303eee96e249cf5df77997d48fbac2fc7f2b5c71e86db4b82"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.063Z"
+ "updatedAt": "2025-12-10T11:52:24.612Z",
+ "postProcessHash": "26193fd0c13c96acaaf65fda71bdc4ca842edc3cd30b116b5db847188affbf47"
}
}
},
"1d79bb60bccf3e3f37338e13f28094ff683dcd30fde55192351c94634962006c": {
"1dbd22030ee74c6e2f046e4f540b1843c72230fdffaf730e78b8b618a4c37d36": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.052Z"
+ "updatedAt": "2025-12-10T11:52:24.589Z",
+ "postProcessHash": "38c4650086bd68c997979fd5fbf63f0b879066f9c0a4151f6384489309ce5274"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.062Z"
+ "updatedAt": "2025-12-10T11:52:24.610Z",
+ "postProcessHash": "3a71b02d11b1dff04d8ad822cbc7e794682834368d784711e04bc21ae0dddf86"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.063Z"
+ "updatedAt": "2025-12-10T11:52:24.612Z",
+ "postProcessHash": "9dc1d60863c941449133830fbaec8871adb2cd955330bce71be473721d3a5af9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.064Z"
+ "updatedAt": "2025-12-10T11:52:24.622Z",
+ "postProcessHash": "2220e16dbb37e4fc51555e773a80042a7c1cdd2a139ed28e93ec33846103a78c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.065Z"
+ "updatedAt": "2025-12-10T11:52:24.623Z",
+ "postProcessHash": "b6be87c725af16f578e1ee34b1b628699f2db144a9c1022858bde7429a2451b8"
}
}
},
"da6a998192c91a03d778b9967490a6caf036f059c09f625322b112d50baf8fc8": {
"f0f8867ea6a57fac419207bbb9ac0e907de3acc9c56712da3400b3978a5bbb94": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.053Z"
+ "updatedAt": "2025-12-10T11:52:24.589Z",
+ "postProcessHash": "3ce3bca3cdd4272e92a3771581ac2333dceb4d244580d70b3e41d676f8a0ece0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.064Z"
+ "updatedAt": "2025-12-10T11:52:24.617Z",
+ "postProcessHash": "f722531ff22f06914f236afba7359884b8f055bd62a71b53d0261f72d13b87b0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.065Z"
+ "updatedAt": "2025-12-10T11:52:24.622Z",
+ "postProcessHash": "0b48dabae4c7ef5e173699a2966c65ac75c9be5255c120558d3d4f5fd7396b4c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.065Z"
+ "updatedAt": "2025-12-10T11:52:24.623Z",
+ "postProcessHash": "9e1ff4b261040f2182ab59ec84f6389ebbf0129a6f65c94a67b8842b4feebb08"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.065Z"
+ "updatedAt": "2025-12-10T11:52:24.624Z",
+ "postProcessHash": "d62691d91e800f3bfbeae65e812373f34c4e51d01feba6a862de6c9db380754a"
}
}
},
"fb2ef830b27d109ae10380e06c6d3d95cdac23ed3fed0efc270fa7f895378b07": {
"6e3582de4c83830416e39b66d5aa5ae6a5f909e8300209b33083b5ace1745978": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.053Z"
+ "updatedAt": "2025-12-10T11:52:24.590Z",
+ "postProcessHash": "4dc1ad3beeea9cedae5b3845fe7d5a99cdf64f509405a574b162a54e0a1e5924"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.067Z"
+ "updatedAt": "2025-12-10T11:52:24.626Z",
+ "postProcessHash": "f4ecb97286535a10fa229f555205d52fc42a7a117bee60c0b58e2f6776c20156"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.068Z"
+ "updatedAt": "2025-12-10T11:52:24.628Z",
+ "postProcessHash": "28646425a600b62162569eb249be38d2de0451acf6cff9e61959501734ed12c8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.068Z"
+ "updatedAt": "2025-12-10T11:52:24.628Z",
+ "postProcessHash": "2e22aa423a65aec4bf29c161f6b06a8bcc90b3336fbc9ef9167eedc71bfdb989"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.069Z"
+ "updatedAt": "2025-12-10T11:52:24.630Z",
+ "postProcessHash": "684628e986ce6f872fab2157d828003d18eda055c723a318ab25be2282512bfa"
}
}
},
"901be9fc07a9cb91300385e9a0e7a069b3174a6a5e0c759df458dd63a9c05603": {
"94b0938ac9636b85ccab63cd7083a3d6e04135b88e91d4ed3f8ecaacc7f492d4": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.054Z"
+ "updatedAt": "2025-12-10T11:52:24.594Z",
+ "postProcessHash": "d41ac74809e46a433d3879f458a4f21ab900fc6e9cb7f69157eb39390978276f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.054Z"
+ "updatedAt": "2025-12-10T11:52:24.595Z",
+ "postProcessHash": "d41ac74809e46a433d3879f458a4f21ab900fc6e9cb7f69157eb39390978276f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.049Z"
+ "updatedAt": "2025-12-10T11:52:24.596Z",
+ "postProcessHash": "d41ac74809e46a433d3879f458a4f21ab900fc6e9cb7f69157eb39390978276f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.056Z"
+ "updatedAt": "2025-12-10T11:52:24.598Z",
+ "postProcessHash": "d41ac74809e46a433d3879f458a4f21ab900fc6e9cb7f69157eb39390978276f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.059Z"
+ "updatedAt": "2025-12-10T11:52:24.605Z",
+ "postProcessHash": "d41ac74809e46a433d3879f458a4f21ab900fc6e9cb7f69157eb39390978276f"
}
}
},
"e06a988b3a0367a8d9f259d34f6afb723682b55e30da2576d1fcfa059dfafb43": {
"f03241130049f997da5790c9b171cb1e0fa9898c449bf59935faf6d104964423": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.054Z"
+ "updatedAt": "2025-12-10T11:52:24.596Z",
+ "postProcessHash": "d0bafb639a21842fa4c5f7eb9704c73801da5b0f8c3cffbfad49b220b1afd69b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.057Z"
+ "updatedAt": "2025-12-10T11:52:24.602Z",
+ "postProcessHash": "1853e8964ba04497cde8b1e889398360fb7344e039ac7076833abca445810baf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.057Z"
+ "updatedAt": "2025-12-10T11:52:24.602Z",
+ "postProcessHash": "833d61b24cb32b93d745174bf4510d46e6084deef58898376f6fb528b63c2c3f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.058Z"
+ "updatedAt": "2025-12-10T11:52:24.603Z",
+ "postProcessHash": "69ef5116fd98f7305f5e749b3c3b48add34a3d81f5d17610ba52afe5c69364bc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.059Z"
+ "updatedAt": "2025-12-10T11:52:24.604Z",
+ "postProcessHash": "2ce7f8f5c880c39ee8259c82a068675e0b8da04eb4047daf2293799ded4980a6"
}
}
},
"43794ceac4d2520b3662554f3974cc763a4a7683779015de89f589659bbbafc1": {
"3012e82faa3874fc3bde205b6da3b774249f383b8cb1af1fcb5627edc2c8494d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.055Z"
+ "updatedAt": "2025-12-10T11:52:24.596Z",
+ "postProcessHash": "0cdb14121090f76daeba758a3688171e21908d59afc1acbe89e085aca3526a8a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.060Z"
+ "updatedAt": "2025-12-10T11:52:24.607Z",
+ "postProcessHash": "c2f941c7419a379e5149c29ac046b52a66496f1b01b9242da1657c5c4d04cf05"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.061Z"
+ "updatedAt": "2025-12-10T11:52:24.608Z",
+ "postProcessHash": "67a6d0b690eab9ab7d77fdc3455255c649be39086314717304dd39ef4993ca53"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.061Z"
+ "updatedAt": "2025-12-10T11:52:24.609Z",
+ "postProcessHash": "dba10fd43a9d4e2c99c85cf5c5a422e48ba141f3f57d25f9e1a4fd67c3fff767"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.063Z"
+ "updatedAt": "2025-12-10T11:52:24.611Z",
+ "postProcessHash": "d2efe9e748852e53e930f4d885135c58d7b8878c4d2b7951ee8c6db79c5a17df"
}
}
},
"a727aaf57c3ccf44bba2c7c5de037d3bba88665a9f5c844089362190f41928fb": {
"7af06d1c5a3c4b9e744209b79a76face0e339aa504d8269c0ecb5960188abb3c": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.059Z"
+ "updatedAt": "2025-12-10T11:52:24.605Z",
+ "postProcessHash": "4272bccc9d8d85a7aa82000b7a3f84bb8c28baa840b3449ded0d12b4cd3d5d81"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.060Z"
+ "updatedAt": "2025-12-10T11:52:24.606Z",
+ "postProcessHash": "3f3f87354e2f36ee033b36396087b3e0e178f8cd53754528e2b62d7ff303c528"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.060Z"
+ "updatedAt": "2025-12-10T11:52:24.607Z",
+ "postProcessHash": "5316b46cbfdcd7feee5049bf43e000ada4ff2f255409c3c3bd46fae1ff4ad580"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.061Z"
+ "updatedAt": "2025-12-10T11:52:24.609Z",
+ "postProcessHash": "648755db3fa3a576086dbd129368d0b3f45842b62ec326123624633b3a0d4d07"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.062Z"
+ "updatedAt": "2025-12-10T11:52:24.609Z",
+ "postProcessHash": "00942bbdf19ccff817b29dd568cf27542a4b02517bb16981ed8b7c2d66f85979"
}
}
},
"220f68ed08439267935887a4c7c3539b2ba13f8cbc1c69d52e3a3eca99ddd2ac": {
"2564fcdecdf1c775b74a9d80ab7d59d3f292615ce1bb817058fded19877bbe0a": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.060Z"
+ "updatedAt": "2025-12-10T11:52:24.606Z",
+ "postProcessHash": "4eeb850a69668697123d6fcfbf4da64f4d9b90ef84f6e98312225f2155425564"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.062Z"
+ "updatedAt": "2025-12-10T11:52:24.611Z",
+ "postProcessHash": "aeb41e4ce755b59bfa819b81c6ffa8920ae67da401dba55969e4ef5314f39c9c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.064Z"
+ "updatedAt": "2025-12-10T11:52:24.613Z",
+ "postProcessHash": "475181ecbeb0fe4ce60178d1b14f47ba1d557962cadd815b4dfa04fd6af7cb2c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.064Z"
+ "updatedAt": "2025-12-10T11:52:24.614Z",
+ "postProcessHash": "bb125028398f1761f687370abcb13265d89ff69ea95037a4e541b300adc5301a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.064Z"
+ "updatedAt": "2025-12-10T11:52:24.614Z",
+ "postProcessHash": "78c19e8888f4528646d7c10415e6361c97bd7cc1b237fb4a47875323e756a19d"
}
}
},
"10854ad8de2e8427e8cd6547a3017671ff8356c26d6c9aa2edd2a85531588570": {
"1107896fcb31f6f531ce048a4fb0d3385b48b838302f37cf5433a6c7439c8a66": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.063Z"
+ "updatedAt": "2025-12-10T11:52:24.616Z",
+ "postProcessHash": "c80a40c0df7bf04bef10f5634b1845c4d01384e81e682be52c064a60b7b565e7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.068Z"
+ "updatedAt": "2025-12-10T11:52:24.627Z",
+ "postProcessHash": "7016d4de962f4fb6bb1f8d6aff538aa4fb61598568b3c0e9c083db8f03188560"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.070Z"
+ "updatedAt": "2025-12-10T11:52:24.632Z",
+ "postProcessHash": "1d1f628eee2d4de3981fa3807cba328c3f89c3dc8514d61be616112923ade5b7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.070Z"
+ "updatedAt": "2025-12-10T11:52:24.634Z",
+ "postProcessHash": "7f2ac80334c6bf439d21e41830309c78e7a7503192755543efb3376fb57046ac"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.070Z"
+ "updatedAt": "2025-12-10T11:52:24.634Z",
+ "postProcessHash": "938ea407ac0f1041a38f4832c837f47d7f260d5b10b39d65120100ea087e766e"
}
}
},
"cb8d29f8043e9733234a696bc71f6255d2b16c8bce64739dd3c1af4b3d64dccb": {
"e866f111e535dc82e7d510c01d482ed73a7ae93d0075970747b130c8cf6fa857": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.071Z"
+ "updatedAt": "2025-12-10T11:52:24.617Z",
+ "postProcessHash": "6ebc753b0cb95138c0084b81a17a5a10c15f29b6e3bc1380c46a431b6809ea06"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.071Z"
+ "updatedAt": "2025-12-10T11:52:24.618Z",
+ "postProcessHash": "5d62f5066d80a8ea108bb71aa0447d5799e500465d20f5977008ccc1de3e1d18"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.073Z"
+ "updatedAt": "2025-12-10T11:52:24.620Z",
+ "postProcessHash": "eaa1597ac17d806686e13efea6c01b9ea8af61ff92be18e6794e11871c3ef1ed"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.078Z"
+ "updatedAt": "2025-12-10T11:52:24.638Z",
+ "postProcessHash": "feb7720e0a69d0567e6eb1e95c94fc57ea9aa6394cd7d3e5a3bd5cf173d391c4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.080Z"
+ "updatedAt": "2025-12-10T11:52:24.641Z",
+ "postProcessHash": "5f20c9353ec3c44a301392843362b3b50495ecb03dd897e7db8e4c91c6c58d6e"
}
}
},
"64a051beb7c5347eea2d0d4e229501cdfd5fde97cc34e3e0230dd461f9b96139": {
"16335c9783bb00d094a0bdb81ae20ab0098d826dad054fb44253ff24931423f7": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.072Z"
+ "updatedAt": "2025-12-10T11:52:24.618Z",
+ "postProcessHash": "e14a30db9c3488c556b3445111f37df4dce277ec08faab716d661784926cb044"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.072Z"
+ "updatedAt": "2025-12-10T11:52:24.619Z",
+ "postProcessHash": "708961908b379b36e14f2fadb28b74ab0352cb32078ceabd4a9ec0e93711ed6f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.072Z"
+ "updatedAt": "2025-12-10T11:52:24.619Z",
+ "postProcessHash": "0503de326f28431724d6aedacf4cc86e21663bc68ef41f516a384679e606d52d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.073Z"
+ "updatedAt": "2025-12-10T11:52:24.620Z",
+ "postProcessHash": "6dd277da4a9f1640fd6076a121f32e39762dc0620ef4d8f34c611ba5254e6c66"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.074Z"
+ "updatedAt": "2025-12-10T11:52:24.621Z",
+ "postProcessHash": "35dee3d14e718904701937960214b3352f86b7a1fdc6f8e59fe2e6f48126dcf1"
}
}
},
"5249cd57dda305b53fc0a5349133e2a1ffb6506b6c56b8137de582e83b296247": {
"b1256b0214bdf07671644575d8fcdad806b6660ef954d401ca2617cfc484647f": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.074Z"
+ "updatedAt": "2025-12-10T11:52:24.621Z",
+ "postProcessHash": "da373414566d11045ec1c40d837db0717030f8f16164197c97a72b9cdfa3cbb7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.078Z"
+ "updatedAt": "2025-12-10T11:52:24.638Z",
+ "postProcessHash": "a64742bb8274b75c7a3e057d114b77b79dc919b6a94741ce9bc548e923887bde"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.083Z"
+ "updatedAt": "2025-12-10T11:52:24.645Z",
+ "postProcessHash": "10318bb728cedf16ddbd4326e1e1aa7f019d02c5841f9d8a97921820f1127871"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.084Z"
+ "updatedAt": "2025-12-10T11:52:24.646Z",
+ "postProcessHash": "53349786dc38878fdab5d8a0982963b7bebdf5058d79936ff51c4443cf4bf0e3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.087Z"
+ "updatedAt": "2025-12-10T11:52:24.654Z",
+ "postProcessHash": "58a822b2ff9a94ab5779e9d9ab67508e81a5163db220c64bc216ac3524dcc338"
}
}
},
"01d1acc7284c496cddd8b1413e4e8e9706b1349f501c2a3b46c5f6d89026ed56": {
"a408f8aebe245dd0e4fa7cd394f873234d7c930e16c5e03b55f719c8b708c194": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.066Z"
+ "updatedAt": "2025-12-10T11:52:24.624Z",
+ "postProcessHash": "3a0c66e642af521401e7cc6eee85a3beedafa88d24ea931f07dc1302afcd1fea"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.066Z"
+ "updatedAt": "2025-12-10T11:52:24.625Z",
+ "postProcessHash": "18501e3f31b9b6bceb1a2557907b469eca089031daaa4bce2d0c8fafffbbd0b9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.066Z"
+ "updatedAt": "2025-12-10T11:52:24.625Z",
+ "postProcessHash": "5ade81af575a01c4eebaa7604bbf603e870d357156d5678355d54cc7bc3b5f3b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.066Z"
+ "updatedAt": "2025-12-10T11:52:24.625Z",
+ "postProcessHash": "4996bf0377a1c1bbae6c47a653c8323b379fc64798ab46f0d9a6a38b9173de78"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.069Z"
+ "updatedAt": "2025-12-10T11:52:24.632Z",
+ "postProcessHash": "719f109d66c9034514ffab00649a03bb6e15ba524b699043d93f14d13c3fb535"
}
}
},
"e38f1d44af66e511fdd04a786ed1668edee3b206aa8ca7b4758d01803f81a45b": {
"a02abcf3f98239aff8c140cb37c232c015c1d46933de77678b3f8ea11e1d54fc": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.067Z"
+ "updatedAt": "2025-12-10T11:52:24.626Z",
+ "postProcessHash": "6a55f1e6deb2cf95b759437bc07fcdb743879a151cf700aee1d4cae4a26b59c7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.067Z"
+ "updatedAt": "2025-12-10T11:52:24.627Z",
+ "postProcessHash": "977ec2c6d8adeb7ea0875dac4fc283ae71da01850fb0a8e5be8ab36169a638b8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.068Z"
+ "updatedAt": "2025-12-10T11:52:24.629Z",
+ "postProcessHash": "026f3e240f408c1407d4c66ab5d811ed29d598ade95682fc6b92c6927aad848a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.069Z"
+ "updatedAt": "2025-12-10T11:52:24.631Z",
+ "postProcessHash": "f838bbebfeea46a5be4ae9ef2ea172b65a4ab8da177e05a47636c388c93da6c1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.069Z"
+ "updatedAt": "2025-12-10T11:52:24.632Z",
+ "postProcessHash": "53817a55a6ba3d9c65a04e6893359b853c8609013f7025141b2f4aa734aee262"
}
}
},
"aa38b821fb4218297d8c1519e963fe085532c1062ce9e560cefa0a9540e760f4": {
"4d9143e8b1b2464b6c299c1c6a503207e9b9a2b2f366c192294fa89548493ef0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.074Z"
+ "updatedAt": "2025-12-10T11:52:24.627Z",
+ "postProcessHash": "c97915823480de226b7c722411cb604959cb30436a7bfe8485b9027ea17530d4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.075Z"
+ "updatedAt": "2025-12-10T11:52:24.635Z",
+ "postProcessHash": "0c2d0697171eaf22387fe5b43a1cd4c60e491df0962956901a8cde713801ac9b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.076Z"
+ "updatedAt": "2025-12-10T11:52:24.636Z",
+ "postProcessHash": "4a41f1c543245c6ea00c641e262d2614fa55ab911e9141168683053f2786f649"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.077Z"
+ "updatedAt": "2025-12-10T11:52:24.636Z",
+ "postProcessHash": "980e3c94f340d695afbf4ce144db87d41caecac34f3f7a5bd1f85784ed441fc3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.078Z"
+ "updatedAt": "2025-12-10T11:52:24.637Z",
+ "postProcessHash": "0c2d0697171eaf22387fe5b43a1cd4c60e491df0962956901a8cde713801ac9b"
}
}
},
"ab4407af7bd23d2079a64cc41b53e4c92fd97d148d479bbe78af6eae8e78bc89": {
"c6138c0ff7239b36fcb5d30586a4030c29310ce5e2aace1097c20463ae0f1e25": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.091Z"
+ "updatedAt": "2025-12-10T11:52:24.614Z",
+ "postProcessHash": "884a22db92b0f11e583f523747d3cc6b5233d4a0af80a3db50c4616190c18b9e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.095Z"
+ "updatedAt": "2025-12-10T11:52:24.656Z",
+ "postProcessHash": "d45ef8b4ca92bb874d660b0243a7dde9a9ae481a5cc9a0149d897afb3cf11118"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.098Z"
+ "updatedAt": "2025-12-10T11:52:24.666Z",
+ "postProcessHash": "a77450e07339e38fa11a3bcd642402555820125eb98bab032173175f14443931"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.098Z"
+ "updatedAt": "2025-12-10T11:52:24.667Z",
+ "postProcessHash": "63e6f995647276339f3bedc11a3af9dd9ab5aa926577321b5991c72d7b52a866"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.099Z"
+ "updatedAt": "2025-12-10T11:52:24.667Z",
+ "postProcessHash": "8e745ab17acc36ae493dbcded7c33725253de569f071b9e7d99143e3b4da4a4c"
}
}
},
"2bab204cc64496ff697e53e49cab4979d91faa4e0b9ac4addaada73e81219a65": {
"1464e4557b63a61f5990d811e5a36066405c5e62d0e04d64a0ce84b4e84d71c3": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.091Z"
+ "updatedAt": "2025-12-10T11:52:24.615Z",
+ "postProcessHash": "545e81412582a77ae8ba51c7cf48adc5f99dc63bc8ce88ec46686349ea3d53c1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.092Z"
+ "updatedAt": "2025-12-10T11:52:24.616Z",
+ "postProcessHash": "a54e33b710fd657e57e8fb306a6feeec14ca568f1a7ddca1087d34a0a8bf1e6e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.108Z"
+ "updatedAt": "2025-12-10T11:52:24.677Z",
+ "postProcessHash": "a54e33b710fd657e57e8fb306a6feeec14ca568f1a7ddca1087d34a0a8bf1e6e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.108Z"
+ "updatedAt": "2025-12-10T11:52:24.677Z",
+ "postProcessHash": "600d7308add1721885b76d4ed00618e775a163b7b2f3567a91e5a2f0506ad19d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.113Z"
+ "updatedAt": "2025-12-10T11:52:24.693Z",
+ "postProcessHash": "22bd3ec15b654323c85d84643202b5fb50e01053ecbd92766cf33eba80dc2c1b"
}
}
},
"1f32b81e4a8f58ebfbc9eb7aab6a289ae7b157c363a70cc5fe4649a6c99bf05f": {
"d02615c4b665bb3656752defe225206cc086d4af10ec12dc8d3d7f6228b28fc6": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.092Z"
+ "updatedAt": "2025-12-10T11:52:24.615Z",
+ "postProcessHash": "adac807e233453946e26c93de381680c214df3647ff08f5e7acabaca8fce6df5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.094Z"
+ "updatedAt": "2025-12-10T11:52:24.650Z",
+ "postProcessHash": "adac807e233453946e26c93de381680c214df3647ff08f5e7acabaca8fce6df5"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.094Z"
+ "updatedAt": "2025-12-10T11:52:24.650Z",
+ "postProcessHash": "6bf0c5ffc7da2ff2aaa25ffc73b43db0bcda970ce49e4699c9ea21d828ed8a18"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.104Z"
+ "updatedAt": "2025-12-10T11:52:24.673Z",
+ "postProcessHash": "adac807e233453946e26c93de381680c214df3647ff08f5e7acabaca8fce6df5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.106Z"
+ "updatedAt": "2025-12-10T11:52:24.675Z",
+ "postProcessHash": "adac807e233453946e26c93de381680c214df3647ff08f5e7acabaca8fce6df5"
}
}
},
"9539b6e745ff9431ed0f6bf96615c762c2e87a0b267604d5c13668f8eb83c6ca": {
"92414e6558aa6b0c56696b1f30ba13e68bae7146aa63f9791171b9ebcf3e53a0": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.074Z"
+ "updatedAt": "2025-12-10T11:52:24.629Z",
+ "postProcessHash": "39684693926a54510d1058f625b415a057f5c393bcc5cbb905175af8ae5e1e2e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.075Z"
+ "updatedAt": "2025-12-10T11:52:24.630Z",
+ "postProcessHash": "ace3e88b04a5fc37c166da4dc5a617b111e5acc005cd725c1a812951e9f006b4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.075Z"
+ "updatedAt": "2025-12-10T11:52:24.631Z",
+ "postProcessHash": "ace3e88b04a5fc37c166da4dc5a617b111e5acc005cd725c1a812951e9f006b4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.075Z"
+ "updatedAt": "2025-12-10T11:52:24.633Z",
+ "postProcessHash": "ace3e88b04a5fc37c166da4dc5a617b111e5acc005cd725c1a812951e9f006b4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.075Z"
+ "updatedAt": "2025-12-10T11:52:24.633Z",
+ "postProcessHash": "ace3e88b04a5fc37c166da4dc5a617b111e5acc005cd725c1a812951e9f006b4"
}
}
},
"f6118c733898d579dcf800b4afe16f9d9ff7ebde31edaeb757c9bb61f2d3c725": {
"df36cd461688ee898524308bbacdfd930cb8b7c5705650f39f35731e396a0e1d": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.076Z"
+ "updatedAt": "2025-12-10T11:52:24.635Z",
+ "postProcessHash": "c35b758aabe29d5ddbd83a73964c1d4b8ce861f11370de20303baa24a764006e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.076Z"
+ "updatedAt": "2025-12-10T11:52:24.635Z",
+ "postProcessHash": "9510acb4f5c8eaeeb1461101ef00fabeaba20116f86db20b1ea27d58a4d7f139"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.077Z"
+ "updatedAt": "2025-12-10T11:52:24.637Z",
+ "postProcessHash": "32ce5ad1a3237878cdb74ac5667a6564723a4bedb8c183b7bf8bbb4ce97b5f3a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.078Z"
+ "updatedAt": "2025-12-10T11:52:24.638Z",
+ "postProcessHash": "fc8679e01e46515d31a201bc25971dba3d1af189ee4564577404b00f173f50bf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.080Z"
+ "updatedAt": "2025-12-10T11:52:24.642Z",
+ "postProcessHash": "50a8625b4870a2f676430036a9b4c676accb8cc12a52236b3e14b3a1fe1e4829"
}
}
},
"4852c85212c804b0dca0e11072a884b86ea2e4a85f278bc3d3e6cef3567003b8": {
"28c12e415e43f6fd7f572e53028b9340d3f0cc386105b76c61988b3bc0c73aea": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.079Z"
+ "updatedAt": "2025-12-10T11:52:24.639Z",
+ "postProcessHash": "bcf86cb1692e614608e03fca7648799e828be101c951270ad6dbc0c91d38e4a2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.080Z"
+ "updatedAt": "2025-12-10T11:52:24.641Z",
+ "postProcessHash": "019689a1d6efc809d24f7dd38963ee3b9a93b0959b742d3ebbf49282c95e420b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.082Z"
+ "updatedAt": "2025-12-10T11:52:24.644Z",
+ "postProcessHash": "7829bdd90fe17e61f33e5e928330fb63bde116b16dcdd61b459341085b9bd7ac"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.084Z"
+ "updatedAt": "2025-12-10T11:52:24.647Z",
+ "postProcessHash": "4d6a9dd10fdf99aa13d578b91e597068c0e55ae75b40474018ea29d2787cbeea"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.085Z"
+ "updatedAt": "2025-12-10T11:52:24.647Z",
+ "postProcessHash": "504cb40c15fb0fdd1e6394ddad2b1d169275e5fd17d4961c5eee9fdfa6dc100f"
}
}
},
"2c29c3f45e2e481c06a91a16e3ec049bf04ea1ac5f959f2143b45ca685cc2349": {
"1771dc1e4b2fd2f83f3663031a9a68e3b340cbc44541a21ea26b0a35e9895488": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.079Z"
+ "updatedAt": "2025-12-10T11:52:24.639Z",
+ "postProcessHash": "07a9583c67a5b66f4c52fd9337079a37b5fbaa4726ff8b6633ade91dc60ff17e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.079Z"
+ "updatedAt": "2025-12-10T11:52:24.640Z",
+ "postProcessHash": "5f43ab010f517cb86a8718a1077fe793ab3d7aeea98baa6a3a65feb6e296928a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.086Z"
+ "updatedAt": "2025-12-10T11:52:24.652Z",
+ "postProcessHash": "e1422b883ecca13c7ef1a6286216431254275facc338375fe08e46311a467875"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.087Z"
+ "updatedAt": "2025-12-10T11:52:24.653Z",
+ "postProcessHash": "7795acf6e67d6bf3d4cd1cfa7482bb0beaf8fa5485514171de53d7ac315434d3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.087Z"
+ "updatedAt": "2025-12-10T11:52:24.654Z",
+ "postProcessHash": "d14fac7499886b8804cc91321ac55fc1d097007564760fa754242e069e2c4b91"
}
}
},
"6f875b11d53b43d9eba49879ea5b8bde0e7e756ea468dd8fc2ace8c348b310af": {
"c9be356d0db4ee9170ce7b865798be5952eadd6ec8efc1c85bed0f213233a978": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.079Z"
+ "updatedAt": "2025-12-10T11:52:24.640Z",
+ "postProcessHash": "8827217c8f4dd2ea92b3e0055b6f88c7b54d3d4cb878fd721c0cbf04f29ebfe2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.080Z"
+ "updatedAt": "2025-12-10T11:52:24.642Z",
+ "postProcessHash": "f966bd8b4b0dbf99e3d670daf72336ca2fdbb10d4ec421c0b9c7f67460c37874"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.084Z"
+ "updatedAt": "2025-12-10T11:52:24.646Z",
+ "postProcessHash": "e60a4cf008c091606452f6e7c84cb52cdd4cbc3b86939a37b25be3200c45a0ce"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.085Z"
+ "updatedAt": "2025-12-10T11:52:24.651Z",
+ "postProcessHash": "eff8168feacbfaec50389fa65c847df89f0cfeba44085ac8cb0f2de08ce5ec07"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.086Z"
+ "updatedAt": "2025-12-10T11:52:24.652Z",
+ "postProcessHash": "c96a710f1c54398276beaad1493ea2fd2c0ff62e9b7fb7f27472133091bd7147"
}
}
},
"a8803430b83d63d2f098eff99097d7d02bf678e80f772107fe3315822ceb2ded": {
"31c0e64967127d07130e4706d667d587ad81a7c792b1ac155aec57aff1059962": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.081Z"
+ "updatedAt": "2025-12-10T11:52:24.643Z",
+ "postProcessHash": "fcd05820a42afa93d62e39258acfcdd00facfb3f4f2380d18ae05e6847a33bba"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.081Z"
+ "updatedAt": "2025-12-10T11:52:24.643Z",
+ "postProcessHash": "ed495feaf072bfeff73440061718cb04191e92841182f2b60d2d42d0cd97a5de"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.083Z"
+ "updatedAt": "2025-12-10T11:52:24.644Z",
+ "postProcessHash": "4350aaeaff5e637af5ceb9a2e3972bdf38b921d32cb8b9818d87d3498c025b96"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.083Z"
+ "updatedAt": "2025-12-10T11:52:24.645Z",
+ "postProcessHash": "60df4ed6fe1044cf85143c68f40132e61229b01705b1c1162e6ae2cc7ddeeaea"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.086Z"
+ "updatedAt": "2025-12-10T11:52:24.653Z",
+ "postProcessHash": "397c40f2a0c9df0c421d154e4514f43314e7c4387cf39d2de10a4830f6be927b"
}
}
},
"31dffcee530c1e1d6da07973dd48920b7c4e6d916ce40797ad3ce43de3d21d91": {
"66535316723e6fea1428aac4383a9834b6dc13c744b797f9914bb46285ee6584": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.082Z"
+ "updatedAt": "2025-12-10T11:52:24.644Z",
+ "postProcessHash": "946b16827c7b3252e1c79d436d30c035bd8f8b5ba11eeddc68664fd8149f3436"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.088Z"
+ "updatedAt": "2025-12-10T11:52:24.655Z",
+ "postProcessHash": "3986ef5e100160c13346486ddea46cf216b54f021d49828c05b99d3256bb3def"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.088Z"
+ "updatedAt": "2025-12-10T11:52:24.656Z",
+ "postProcessHash": "d369f77e3b9927fdefc153c4aae4132d5a7930edf4356f0117ac488b78b06f94"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.089Z"
+ "updatedAt": "2025-12-10T11:52:24.659Z",
+ "postProcessHash": "d8dde337353dfa911e14303c98c40525b4688353bf7b48b21b0e009a6cfeb944"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.090Z"
+ "updatedAt": "2025-12-10T11:52:24.662Z",
+ "postProcessHash": "998337cb4110cede9fd78c042fc37abca2643ae8f7cb19c76a05b2b4359d2457"
}
}
},
"ab9dd37c057459ddd9e02b0e6655c3a5155d5a7d8a5544e8f171683d3f1c78f8": {
"776c528b3a4a4f4016ca6b63eaced7265778c37ad0e16bace1e63f4d642f294b": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.085Z"
+ "updatedAt": "2025-12-10T11:52:24.647Z",
+ "postProcessHash": "76e77e41486781a25a9b2adcb1c56353bb05c16dc485f85359762d57fb73ad83"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.088Z"
+ "updatedAt": "2025-12-10T11:52:24.657Z",
+ "postProcessHash": "0c3b489b1603a3682b66a4897201cac84cb6e3674f34195dc82a068718fa6820"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.090Z"
+ "updatedAt": "2025-12-10T11:52:24.663Z",
+ "postProcessHash": "8ec5ae2193a282e2103c9c5e50945a8e3ef0b644149bf5fe530b2417feef655c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.090Z"
+ "updatedAt": "2025-12-10T11:52:24.664Z",
+ "postProcessHash": "6e4d8a28bf3e00ffbc3bfeb26fc77ba8e9bc63903aa2a8cc3bf8751389551871"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.105Z"
+ "updatedAt": "2025-12-10T11:52:24.673Z",
+ "postProcessHash": "274e33003d21f9c31cfeb89b9b2e20c38248bb053a0509918bd5198b465a8b9a"
}
}
},
"45c82e87fb179f1c362a6a4cfa1d9503cf94ff1bff331f4d10b23407bb28e633": {
"c6138c0ff7239b36fcb5d30586a4030c29310ce5e2aace1097c20463ae0f1e25": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.093Z"
+ "updatedAt": "2025-12-10T11:52:24.648Z",
+ "postProcessHash": "e885982a73f5bd55e8f3adc780d15c03f460b73ee20a15d7fa910b7780563cb0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.099Z"
+ "updatedAt": "2025-12-10T11:52:24.667Z",
+ "postProcessHash": "ef83894cc3a2d5db864879e9ffef47d4c136974161ef9dcd29359d80291f30fe"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.099Z"
+ "updatedAt": "2025-12-10T11:52:24.668Z",
+ "postProcessHash": "9a21e331abc086a4d712e09fa141aef3fee6f77e7562f488ed9433037fbde166"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.101Z"
+ "updatedAt": "2025-12-10T11:52:24.669Z",
+ "postProcessHash": "8547189a5e4551f66ad5747d77b747d0a45c6ed4f30337b3ae0e687ebb7b6e0d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.101Z"
+ "updatedAt": "2025-12-10T11:52:24.669Z",
+ "postProcessHash": "f043be2d52451f6e11feccb235936e036eeacabfca7ea03401289f26c422ad01"
}
}
},
"41103b61fee373ab96fabd54f0b00499cc4c05fef7ce39ea6061633372eac99c": {
"59f52b0f124327128daf63d0b0de73cd2054eabed71afe964bfe0732d450c865": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.093Z"
+ "updatedAt": "2025-12-10T11:52:24.648Z",
+ "postProcessHash": "0e4fa58582821548c82090858fffbd5b2c75fb1314f3b08d2ee128626de2eb64"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.097Z"
+ "updatedAt": "2025-12-10T11:52:24.663Z",
+ "postProcessHash": "6a9e23960fbf7f9f417a0a08aea10d1880d112d84bc98380831c200e4496abd7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.097Z"
+ "updatedAt": "2025-12-10T11:52:24.664Z",
+ "postProcessHash": "fa6b939fdacdc0120ddfa931eb32e7e2454802ff1e3855bc7bbd2390819b35ec"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.097Z"
+ "updatedAt": "2025-12-10T11:52:24.664Z",
+ "postProcessHash": "7e8a2f76ffb8130ea88aa63bfeace96c17d1ad10ec5b3a6f50667c673e24b1bd"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.100Z"
+ "updatedAt": "2025-12-10T11:52:24.668Z",
+ "postProcessHash": "679a32b4f4fea2cf0bb0233813c03337aef861e39b17a80e82b4a3d7d6da93cc"
}
}
},
"eb8ae1611aabcf93bcfc2552ecd99bb9df140c4b24b6758193db81f6a8def506": {
"df8a8b6d6b76cf6140d24749b6e1031a31ab5a99a337d077304b9ae974bb2fcc": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.093Z"
+ "updatedAt": "2025-12-10T11:52:24.649Z",
+ "postProcessHash": "462794a9b93a4966b13e76ac49e813c143435eca849f034311961479289baa5a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.103Z"
+ "updatedAt": "2025-12-10T11:52:24.671Z",
+ "postProcessHash": "b408c7062efd7a9314ded7aac6438dfddf28f66e97946fffe0e801cd30929a4a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.103Z"
+ "updatedAt": "2025-12-10T11:52:24.672Z",
+ "postProcessHash": "f8bde51a4334fd197c5517640089416954b760b18bfd823700ef2eadea06c67b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.104Z"
+ "updatedAt": "2025-12-10T11:52:24.672Z",
+ "postProcessHash": "38677473eb5fdc99f12f1d97a0dccff2400373f840d06f6a8bef55fa2e99d490"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.107Z"
+ "updatedAt": "2025-12-10T11:52:24.675Z",
+ "postProcessHash": "11cd78d3a5cd081238f80f340878a2bcc973f7b33cbe54a18a1cea0678172240"
}
}
},
"33bdd56f7f87066a2fae8093a500cbe4f8f032ea3649f33ca9f075a9dd1ee7e4": {
"5242da3bad242c8f66b698ad8b9e41fbe84c32fc877056eafdef1d416dc9996d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.093Z"
+ "updatedAt": "2025-12-10T11:52:24.649Z",
+ "postProcessHash": "bdda21544e8f4e73db7f0d4ccc69a1571cba34aa04e72f9cb75e85a51c44aec2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.094Z"
+ "updatedAt": "2025-12-10T11:52:24.651Z",
+ "postProcessHash": "7c0d3bc0e91c9fcbe515bc997e291053091ea2b59e59d05e23224a9ab61971d2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.094Z"
+ "updatedAt": "2025-12-10T11:52:24.660Z",
+ "postProcessHash": "0db098205238471e9d51fe23ab7a68e849eeb19e5b79b27e9219fe753a08008e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.104Z"
+ "updatedAt": "2025-12-10T11:52:24.672Z",
+ "postProcessHash": "7be3a19e0d54518d3851063aeabdb056af1a4ff11cf7c64ad81cbfb575b55df6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.105Z"
+ "updatedAt": "2025-12-10T11:52:24.674Z",
+ "postProcessHash": "b9e98c81b830022214d77911e37133ef61df0a962e915f865b8c41ae5ea521fe"
}
}
},
"22aa5f6656a51ede1b1dc170265059aa9dfbc94dd10527a4ee5eecf9473616e9": {
"eaba67235f1d53483f4493bd5990ce3b4506b07499634edbe8484378742b1475": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.087Z"
+ "updatedAt": "2025-12-10T11:52:24.655Z",
+ "postProcessHash": "3246a2c1dd2b49e31863f60bc30a72425ab2f905d5be2c53abce7c09b195385a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.089Z"
+ "updatedAt": "2025-12-10T11:52:24.659Z",
+ "postProcessHash": "cca978487fe3c449dc119584ca76c048308e60a5e5f1837410210355fee915a8"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.089Z"
+ "updatedAt": "2025-12-10T11:52:24.660Z",
+ "postProcessHash": "1e044dc81f3b09a86980d0f9af7ec8e08edfe72e4a04b241466c19b349f8111a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.090Z"
+ "updatedAt": "2025-12-10T11:52:24.662Z",
+ "postProcessHash": "e8a6acdb8a71e31cb2cb5d4ff4a99184dadde6d8e1353d4438f9ad7037993acf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.091Z"
+ "updatedAt": "2025-12-10T11:52:24.665Z",
+ "postProcessHash": "7e56e041acb5a43ddaf4a3ae023e2feed1660fd9b82b530f15de6977ba330614"
}
}
},
"8cfd6b4c6d178f23d3df6bbbd35ae1e2cad3c793f68ab6fe405b67a4ed96d5a2": {
"beea4850b1cf754ddd8a3b8f8ea2ff5c0cf31e765bfaf26d62e03973c9d0b72b": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.095Z"
+ "updatedAt": "2025-12-10T11:52:24.661Z",
+ "postProcessHash": "342c0655d0a8cdc05ad5aa0894478071fd3327b7282f74ea95ce307b4f1b505d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.095Z"
+ "updatedAt": "2025-12-10T11:52:24.661Z",
+ "postProcessHash": "407052b766e0c7e0b644f8cb23cc87fad1ea18561dc48d0f184d7f106356ed4c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.105Z"
+ "updatedAt": "2025-12-10T11:52:24.674Z",
+ "postProcessHash": "3e213f0a40072497af849fe95bf2c8d607d9f25ad9b97c4e76d6dc7da3504861"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.107Z"
+ "updatedAt": "2025-12-10T11:52:24.676Z",
+ "postProcessHash": "aacea1489c8c8eeb3a22786088f7bb0d6ccb4ca03bb0bd6d22bdef4776d23ba4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.108Z"
+ "updatedAt": "2025-12-10T11:52:24.676Z",
+ "postProcessHash": "a399c6de14ed1bb04b225e00f53be327492f8f0a78689e8d9f2a647a6b50f199"
}
}
},
"620992f145c22da66cf937cb5d268bf85e35d3e292940dcd67f91c76d7577c88": {
"97e81bc302d8d40cb6f1658cc475fc4fbc3f27ced14e0f22bb18a8f37140eef0": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.096Z"
+ "updatedAt": "2025-12-10T11:52:24.657Z",
+ "postProcessHash": "97e81bc302d8d40cb6f1658cc475fc4fbc3f27ced14e0f22bb18a8f37140eef0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.096Z"
+ "updatedAt": "2025-12-10T11:52:24.657Z",
+ "postProcessHash": "1d0edfc37989d6571e74bd1f243ea1f316df8bd16ea0a2d37c8f02be3d8295ee"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.096Z"
+ "updatedAt": "2025-12-10T11:52:24.658Z",
+ "postProcessHash": "caff3378019cc2f4415676be5cc86e7569b8690ea738c0c9988086253b95f0da"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.097Z"
+ "updatedAt": "2025-12-10T11:52:24.659Z",
+ "postProcessHash": "97e81bc302d8d40cb6f1658cc475fc4fbc3f27ced14e0f22bb18a8f37140eef0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.098Z"
+ "updatedAt": "2025-12-10T11:52:24.665Z",
+ "postProcessHash": "a3e09ec1f8e7f191f878fd4cac33511b8b20c6361b1a93398c8cbd11cfe08714"
}
}
},
"84b02634e09d41495aae214ad574ee5017de6c087cbcec95b6986a9ab71d49b5": {
"09b38af06768be7ca4bae1be519bc468d17c8251260a7e88ca56720f17845691": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.098Z"
+ "updatedAt": "2025-12-10T11:52:24.666Z",
+ "postProcessHash": "38d906e2954979e302d102e599b151a07b095c46c0e70ba46464026b50604d3a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.100Z"
+ "updatedAt": "2025-12-10T11:52:24.669Z",
+ "postProcessHash": "819071580f69b6259ea457e8540b0f29d79122bd46e5b83e1c83d98918651f03"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.102Z"
+ "updatedAt": "2025-12-10T11:52:24.670Z",
+ "postProcessHash": "7e8615db54840c28d92ef5b1b822f31c42ce4d3a8d39a3eec88204d332008b8e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.102Z"
+ "updatedAt": "2025-12-10T11:52:24.670Z",
+ "postProcessHash": "f6240efe0c483c5165baaf718c4c5c37e940a09c03b8fa47f8fdcf7fe10150d6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.103Z"
+ "updatedAt": "2025-12-10T11:52:24.671Z",
+ "postProcessHash": "ce258cffcb192bbce3c688f90aee540ac3cad302de4db6f0308b83589e326e11"
}
}
},
"3d7b20aaddb0eb9cfbe22b700d7238cfa2fdf697007758e4358bcb9dae7dbda2": {
"deacc229bc1da59b6d143a251799a527d47d052fde5147a32bc6182e05edccdd": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.107Z"
+ "updatedAt": "2025-12-10T11:52:24.676Z",
+ "postProcessHash": "adcb0c846404b6ff4bde68aeb94a1362d20d22ee83d3cc26871732157f35da8b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.114Z"
+ "updatedAt": "2025-12-10T11:52:24.680Z",
+ "postProcessHash": "957da997de82403b58610f02c57b1d3b44c4a83b78a407a75f276bb0c9c9fcdf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.114Z"
+ "updatedAt": "2025-12-10T11:52:24.681Z",
+ "postProcessHash": "e31d28295f24845d2682b6445b24ba0d172d351f37a02cb0e4064b9262dce325"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.111Z"
+ "updatedAt": "2025-12-10T11:52:24.682Z",
+ "postProcessHash": "b524f78469e30973f16cf730c5c917dde78218aa6316f175ef76eed842452048"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.113Z"
+ "updatedAt": "2025-12-10T11:52:24.700Z",
+ "postProcessHash": "5226e965837371d69551af69753409325607fdf6f051a97d4d285773627fd9ca"
}
}
},
"46d8b7a1984b8e73df936f022d3e71032abcff1c90a6c560b0ecc2e5249539c1": {
"09ad0a9396bc1e5eda676c4bfe371d0d12aaade3c6174ad08e0a6b3b018a2b63": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.108Z"
+ "updatedAt": "2025-12-10T11:52:24.678Z",
+ "postProcessHash": "55b78c878e8d9b082f5585487521da1200587e9c594637fc6161501334ebef4b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.109Z"
+ "updatedAt": "2025-12-10T11:52:24.679Z",
+ "postProcessHash": "b820ce90e95b4369f7bc38e54eb8a77fd7904a62915573b0332402da6977976b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.109Z"
+ "updatedAt": "2025-12-10T11:52:24.679Z",
+ "postProcessHash": "29c321bf7410310b5f10fa1653a9b3dc7148ae96da1beb3b6a2e13d537ebcad0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.111Z"
+ "updatedAt": "2025-12-10T11:52:24.681Z",
+ "postProcessHash": "3492272fd58f62b490354458bc76662f9f83d3f9dfa9d162bb3eeea67d24e250"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.112Z"
+ "updatedAt": "2025-12-10T11:52:24.684Z",
+ "postProcessHash": "c3e0fb9364fb1ebd197db0f14ddb0024a27c3e2a566f30b35d681ae7bf753ad7"
}
}
},
"e154549c9a7ccbcacda787ef66852a1e08d6949f940bfd3434008f614c4db387": {
"0a526c69f84602894e1076a14638ebad7f7c20bc346626be6ec08ffcc32e4bf4": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.109Z"
+ "updatedAt": "2025-12-10T11:52:24.678Z",
+ "postProcessHash": "25730f467d881a68bb12f8212efefb71d521c6e2beccd4daf6dc45fa66f878a6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.110Z"
+ "updatedAt": "2025-12-10T11:52:24.679Z",
+ "postProcessHash": "6e73e62ecf9e540042c9294447457653ff90be97372149fa9f110708e649b243"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.110Z"
+ "updatedAt": "2025-12-10T11:52:24.680Z",
+ "postProcessHash": "b5851a8299c453d83091b69a1786f13d0c2014f7c2f168d62378b38da255ae3d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.112Z"
+ "updatedAt": "2025-12-10T11:52:24.682Z",
+ "postProcessHash": "f677ca3999995dfac76d07048f764564adc2768b74bf8aba21fd89a9cf165fa7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.113Z"
+ "updatedAt": "2025-12-10T11:52:24.685Z",
+ "postProcessHash": "246babfab2aabd4bdc3104daa5d4fd0aae05245a6f101faf3fd0d8f811ca212f"
}
}
},
"ec53c3c7bc7de4c5c7c01b34bebe129422182a822016639fddc954e05b232545": {
"a9a08b0825496e5bc41c7fb37ed94bc13fd7d27c4ee252c0158175f8de707c66": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.115Z"
+ "updatedAt": "2025-12-10T11:52:24.683Z",
+ "postProcessHash": "82cdf736fa3afec56baddb5515a34cdf050eb9884e1ecc27fde79f3bce6c2544"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.117Z"
+ "updatedAt": "2025-12-10T11:52:24.686Z",
+ "postProcessHash": "5a5cb6a01a6d2c4f6b9271ef4acc173ed494d1e4a26f93a1ee957d1921c2a357"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.117Z"
+ "updatedAt": "2025-12-10T11:52:24.686Z",
+ "postProcessHash": "59e8561beee6e0e5ac45fc600ed18975b3555de13a82101190d415878c875a8b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.122Z"
+ "updatedAt": "2025-12-10T11:52:24.694Z",
+ "postProcessHash": "050be005c8da4274240e6ada0c2480208a69b5e05beeec0a33f4b9c7d47c9128"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.133Z"
+ "updatedAt": "2025-12-10T11:52:24.706Z",
+ "postProcessHash": "5457a4f8b4b4140f579f80ffee65798efc819ff8d7d4459c182bb307bde60174"
}
}
},
"fe53ffa3df5dacbae52f2d9c0c3788e91fc45b7ad8b19103a73a9a7a0ee6707b": {
"3a50d208272e2f0650565f27ac54e341e0c9656a635b2e8433f358196e31b6a8": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.115Z"
+ "updatedAt": "2025-12-10T11:52:24.683Z",
+ "postProcessHash": "18cd104112905eabd8f7d78cc3c2f38432896ffaeecaf2211aba85a0d7074e54"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.116Z"
+ "updatedAt": "2025-12-10T11:52:24.684Z",
+ "postProcessHash": "e87b081244aa55f15a424ed40746a717f2f6a943d665feb017e49aa2a2f2c6bc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.117Z"
+ "updatedAt": "2025-12-10T11:52:24.685Z",
+ "postProcessHash": "838b43bca8ed2a412d4eb8e5824a8cdabe4e39249fd2bb7dbf10bea298dad535"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.118Z"
+ "updatedAt": "2025-12-10T11:52:24.687Z",
+ "postProcessHash": "f81966838d563ff74c89944ffa33baabcd5f134f5f6f8a55e7c588c34c36e6aa"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.127Z"
+ "updatedAt": "2025-12-10T11:52:24.702Z",
+ "postProcessHash": "18cd104112905eabd8f7d78cc3c2f38432896ffaeecaf2211aba85a0d7074e54"
}
}
},
"6fd7bb1b3c7874e5c871cf76b7ead7aaf38de0ee278af13bb955b99f04c17d5d": {
"fc3d8bff3d5c816997d8dc354dcefeb3bf601d85570af9c1dbcbb827838425da": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.117Z"
+ "updatedAt": "2025-12-10T11:52:24.687Z",
+ "postProcessHash": "b34339c7bd94c8fd4c5a96325e7c9e3b2f2c9382d77f8e5861ae6a9270c2b2b2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.119Z"
+ "updatedAt": "2025-12-10T11:52:24.688Z",
+ "postProcessHash": "b6e6e920b7a77e1099c690d0beb325bdc7659e1df36f61f4bb9b654aa9f488ee"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.119Z"
+ "updatedAt": "2025-12-10T11:52:24.689Z",
+ "postProcessHash": "ab29b42b384309206405b4ede34ae8b02e509e6e5a12e8916375f49f79af8595"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.120Z"
+ "updatedAt": "2025-12-10T11:52:24.689Z",
+ "postProcessHash": "ab29b42b384309206405b4ede34ae8b02e509e6e5a12e8916375f49f79af8595"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.121Z"
+ "updatedAt": "2025-12-10T11:52:24.692Z",
+ "postProcessHash": "ab29b42b384309206405b4ede34ae8b02e509e6e5a12e8916375f49f79af8595"
}
}
},
"5459d58afa65261fea85d3ac70904ced40f9c4597e0a9e491371642cc86f35c2": {
"a1b8532f5f68a979933f664c72c149eeb65c1089d03788cff2c2d732d20753f2": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.118Z"
+ "updatedAt": "2025-12-10T11:52:24.688Z",
+ "postProcessHash": "185026327e4b2af425210b3aa929f9e48ca688105de94fd3a84b3b0f2a7a553f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.121Z"
+ "updatedAt": "2025-12-10T11:52:24.691Z",
+ "postProcessHash": "1e34a1093dea32936dccbcbc931c82a4e3d003d0ce7229352e4e48efce7c14fe"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.121Z"
+ "updatedAt": "2025-12-10T11:52:24.692Z",
+ "postProcessHash": "35fef9b2607a173da40bf305d28ba826f28166ff583398536f516d8398b1ff0e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.122Z"
+ "updatedAt": "2025-12-10T11:52:24.693Z",
+ "postProcessHash": "fda0d8a99c518f3108656799b80b58fe9126d53e5d19cfe699d451fcd6dfe0a4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.122Z"
+ "updatedAt": "2025-12-10T11:52:24.695Z",
+ "postProcessHash": "64f10220553a1e5840947fd3f6cbe30a4e02c3e544ee547d082f69bcdde1ad30"
}
}
},
"c303cccaa392902ca8dfb8faed259e6a6f9b328774e140597c0c9a28552fc5a7": {
"99c0a79b804b0613b0d217ee21f6a3fabae12cb48e2991b6d1bc90b142b39c36": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.120Z"
+ "updatedAt": "2025-12-10T11:52:24.690Z",
+ "postProcessHash": "eddfd5dedbf6e3ad9978baa3f8fab9251d1eb40a7bb09ddab0e6a6d029e24533"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.121Z"
+ "updatedAt": "2025-12-10T11:52:24.691Z",
+ "postProcessHash": "b26abb135b4931575592a4440b93d503a70f5a100174e3dcfde2ca54f174752b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.123Z"
+ "updatedAt": "2025-12-10T11:52:24.695Z",
+ "postProcessHash": "648894ca89b4dc6a4d1cdb9dc19aa0bbb4114b53e0aa24db665092621bb560e6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.123Z"
+ "updatedAt": "2025-12-10T11:52:24.696Z",
+ "postProcessHash": "99375f19b4ee642f3c1fad12ccd32b70268c1e3cab264bc8e17c599bdb8fc33e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.124Z"
+ "updatedAt": "2025-12-10T11:52:24.697Z",
+ "postProcessHash": "72020c922bcf9f87d4d8a6904de74d8ed8355ab0131d90cc4caf87362ea05201"
}
}
},
"c15200a900af20d66251e0040046764f427da96a30b791e102b0e140ed8f7dba": {
"c615ea4fb1b4b0ddd5a20df9c16bb676f94d7f8690b4f6855e528c9a689c8991": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.122Z"
+ "updatedAt": "2025-12-10T11:52:24.694Z",
+ "postProcessHash": "27a617db8f0557506d83ca136946c0ba37adcd545a848c604148eb1057c25a6d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.122Z"
+ "updatedAt": "2025-12-10T11:52:24.694Z",
+ "postProcessHash": "09ee6a04b95a0810e7356f95ed7581de5274a0abb1c87575e0b65f3a824a83da"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.124Z"
+ "updatedAt": "2025-12-10T11:52:24.697Z",
+ "postProcessHash": "1b87100b4962f06fdeb5b10ec13ebc2b18f3a1a64911a06b210a0371750695bd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.126Z"
+ "updatedAt": "2025-12-10T11:52:24.700Z",
+ "postProcessHash": "1bce26add789cd1c05e01e879b123d7938f5a8cf7abcb94c6c34ab3b675742db"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.127Z"
+ "updatedAt": "2025-12-10T11:52:24.702Z",
+ "postProcessHash": "0e96c5d0a64dd09e798dfe8ac4e76acd17635d978a698416512ad78b9f8cf8cb"
}
}
},
"77abe816a5b6d061ee8639317c66e227afe15f2c97de8225b1440a251a9604b7": {
"a7436a198764caaf69ece5d812a880c1972271fd43874d7598c9e7b8f09cc381": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.123Z"
+ "updatedAt": "2025-12-10T11:52:24.696Z",
+ "postProcessHash": "2f4bbf6bf61278f7dbc32e52fb4907fdc11ea84934f7390104fa3f72c4bbef23"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.123Z"
+ "updatedAt": "2025-12-10T11:52:24.696Z",
+ "postProcessHash": "157e863661768f4392717946500689c03e4ab84743cacd2e6950dcc54dd4de76"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.124Z"
+ "updatedAt": "2025-12-10T11:52:24.698Z",
+ "postProcessHash": "4155618c9cb4f6a42db566457f32d50a22aea588d68a3fe4b03036463886c004"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.124Z"
+ "updatedAt": "2025-12-10T11:52:24.698Z",
+ "postProcessHash": "46b71ae7ab0069f9b4d64510602a70ba0b642cbf6d59175308c2b412b3363177"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.125Z"
+ "updatedAt": "2025-12-10T11:52:24.699Z",
+ "postProcessHash": "fb1822179d1ec57bcd893dc9fa74a97437041e3f3e4421647cd8411fab1f0843"
}
}
},
"eee6af3c5fb25a681de891a793ed75970adbfcb403c61f86c2ec3c50ec1fa5a5": {
"21a1c57f946139df5f310105240266fc1cc7bf6ab12fbba957c2c9db7b16eecf": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.125Z"
+ "updatedAt": "2025-12-10T11:52:24.699Z",
+ "postProcessHash": "a30c0ade3b0d9839162d51d9069d8cd8e5d728bb08f30c626a04c4d5fc62a7d1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.125Z"
+ "updatedAt": "2025-12-10T11:52:24.700Z",
+ "postProcessHash": "716304749b645299229c3c772c62e0665f71f019df85d0c5324f0368e58d082f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.128Z"
+ "updatedAt": "2025-12-10T11:52:24.703Z",
+ "postProcessHash": "019f6c19d57c79fa8f8e67c86202689ed523a0090f4b8b38d1830e152d900c41"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.128Z"
+ "updatedAt": "2025-12-10T11:52:24.704Z",
+ "postProcessHash": "933f26d3683925b249b0722a649483be98c571ba52269551c671f584d19bbc97"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.130Z"
+ "updatedAt": "2025-12-10T11:52:24.707Z",
+ "postProcessHash": "73f0176dba1f3620996e0b46dc1be69846e8a5c8e03bcf8a3aa93df8cffe4452"
}
}
},
"c823b222add9c321ee98c2e5a5810c41fea3e46f136269ccb8e1d7b62f1ef395": {
"028cc179d52908cbe1cb6d8193a7c5f3091d98b861613a2ccebbd05642b124c0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.126Z"
+ "updatedAt": "2025-12-10T11:52:24.701Z",
+ "postProcessHash": "4dd8e36efccfcf90e4105a6536ce5465918a6ffd38eee58dd34065092e2a5ff4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.130Z"
+ "updatedAt": "2025-12-10T11:52:24.706Z",
+ "postProcessHash": "150332af690caacf58fae1e74a9b5f05b0debb813981f28c70e755e34e5d0717"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.131Z"
+ "updatedAt": "2025-12-10T11:52:24.709Z",
+ "postProcessHash": "aafa0321a26e736be71d96899f73493309e284c94c50b62605fe427a99dee698"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.131Z"
+ "updatedAt": "2025-12-10T11:52:24.709Z",
+ "postProcessHash": "9a862b662109e2c064480144c6b742b40ab069eb861f1844fdf16fbd6e208335"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.133Z"
+ "updatedAt": "2025-12-10T11:52:24.711Z",
+ "postProcessHash": "c6b468e1edbb9fa624b3ec6f069e9e56fe65de0c0b13761ee0fb67e7d63093d5"
}
}
},
"768faa21c33f8e291b85ecfd8fc167ece5c9f09de33d9ff20bf674059d263302": {
"e2f697fcfcbb6d8e0e6c480318d3407bfe41dbbc06e5b213de138ae3ceb71f7a": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.127Z"
+ "updatedAt": "2025-12-10T11:52:24.701Z",
+ "postProcessHash": "7ce59b40ee48ed74b75f98cdd64fd47f8317262e01b6d466867b5f5610814b51"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.128Z"
+ "updatedAt": "2025-12-10T11:52:24.703Z",
+ "postProcessHash": "433e9655ce4cfb01c1eb0a45c8e695d8aa3f8e8f0cb4d4ee9afaf35ed63ee439"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.128Z"
+ "updatedAt": "2025-12-10T11:52:24.704Z",
+ "postProcessHash": "ede1cb2ee9c588cac76ae84b2a6c4b7a08256e0993a484b66a979235349c8f12"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.129Z"
+ "updatedAt": "2025-12-10T11:52:24.705Z",
+ "postProcessHash": "62b9db0a952ded9df8cf2bd457507d0f357d7de31c088d41ae3ffb558f5bb168"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.132Z"
+ "updatedAt": "2025-12-10T11:52:24.710Z",
+ "postProcessHash": "b38aeca3d4262e46ed2511822e7b4b53951eebb3120010e003674b5a4a08c559"
}
}
},
"07091bc0fd249e5f4d72489ce954037d412a52f70000d6594fe5d04cb8f33325": {
"5e141dd33a31ec31f4bcb25cb3c772d9ff0c9b9d2ad321a3ce922f7d73e68708": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.129Z"
+ "updatedAt": "2025-12-10T11:52:24.705Z",
+ "postProcessHash": "83236c098710d50bb10cdfa9c0430f481ed2dc765b0afbd987562bfc24ff806b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.130Z"
+ "updatedAt": "2025-12-10T11:52:24.707Z",
+ "postProcessHash": "2eae857f911c8fa62c4116960cb6677299dd85944e57f608273d320e309b0d23"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.130Z"
+ "updatedAt": "2025-12-10T11:52:24.707Z",
+ "postProcessHash": "583a3373266d36b6a7f93bd40b40353e914aba8db902826b31ec9fb3939fd75a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.131Z"
+ "updatedAt": "2025-12-10T11:52:24.708Z",
+ "postProcessHash": "115dff12e86f9aaacf435f41c69e1174cdcb9a71cccf686a81d86d042c43d050"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.131Z"
+ "updatedAt": "2025-12-10T11:52:24.708Z",
+ "postProcessHash": "4d24e91bec20022392cf8acc7e44f8897802e2758d17d38edbf656ea436961f8"
}
}
},
"4c3527fc80634d8a858f6c78beee5ccf3a867fb2e404456aa0fc5d7f0d8f2ef2": {
"5e6b87c6672ee2f5d7d7039cc332f5fdc94b70c2c12f02c6c5d5db6ef394ba28": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.132Z"
+ "updatedAt": "2025-12-10T11:52:24.710Z",
+ "postProcessHash": "fb057087ab42877724472b39f489697cca3475e1af7f020b74bc9d2072c2b5a2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.133Z"
+ "updatedAt": "2025-12-10T11:52:24.712Z",
+ "postProcessHash": "57ccc3e3fda98556e4ee4935b42d473b0941bbf40dbb4a152a68c574ae09e250"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.133Z"
+ "updatedAt": "2025-12-10T11:52:24.713Z",
+ "postProcessHash": "fb057087ab42877724472b39f489697cca3475e1af7f020b74bc9d2072c2b5a2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.134Z"
+ "updatedAt": "2025-12-10T11:52:24.714Z",
+ "postProcessHash": "fb057087ab42877724472b39f489697cca3475e1af7f020b74bc9d2072c2b5a2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.134Z"
+ "updatedAt": "2025-12-10T11:52:24.715Z",
+ "postProcessHash": "11a7b976d600a219b13fec5ea79c9a24ab029e44e1b214380a2da36a1a968dce"
}
}
},
"f3aa49e3e783139324bb603cf16eefcf344709c9f4c404006e9f6cae30a91375": {
"f6769d2fc5e78c0eb54b9211d6f686a94e2f7dfc243d9a58e411ad89d3d1219a": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.132Z"
+ "updatedAt": "2025-12-10T11:52:24.711Z",
+ "postProcessHash": "c2b881a9cdd89b3e1684a495309201d4bd4db5ac6aaf99cb7af3e41d568c7513"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.135Z"
+ "updatedAt": "2025-12-10T11:52:24.712Z",
+ "postProcessHash": "6196607eba1efdd584df5840acf06633ba4ca84b20b95216b5bf95a71585e7e9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.135Z"
+ "updatedAt": "2025-12-10T11:52:24.713Z",
+ "postProcessHash": "6eb4315edc03796ffed791b4a710b6b22fe89fb411505f7e8aac4293ed69af6c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.137Z"
+ "updatedAt": "2025-12-10T11:52:24.718Z",
+ "postProcessHash": "fddbc3cb0e567f2846d0b05828cb37c259fc4e29a5cadcc4a0fbd950531c29c9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.134Z"
+ "updatedAt": "2025-12-10T11:52:24.719Z",
+ "postProcessHash": "d8b48a3dfeff74bef128a910120c748eeb46644f85f285ad850a70e41bd2e902"
}
}
},
"01a21efe3d3b87ad2d2a331833396746f30f17f17797956fc6c2d3e6cb647fce": {
"e08656c2f1bcb60433a1149410e61653af6f6f064c90a5a5dd6b134a76cb16c1": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.135Z"
+ "updatedAt": "2025-12-10T11:52:24.715Z",
+ "postProcessHash": "fe4a8e918bfbfc1a512b657f88148529695ff76ee9438e19f6431a87a53c5abb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.135Z"
+ "updatedAt": "2025-12-10T11:52:24.716Z",
+ "postProcessHash": "57ae5f58aa839ce0dd995b0f8b01c65fb7b9222f2c00506ebe8a29a0618703f4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.136Z"
+ "updatedAt": "2025-12-10T11:52:24.717Z",
+ "postProcessHash": "12d9afc4f3e8efcf2ab495c1c3a189e2194d33a1dce58d2e77dc9ac676b1e118"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.137Z"
+ "updatedAt": "2025-12-10T11:52:24.718Z",
+ "postProcessHash": "d67b1d0e29181d9962b3ba78d0c676c9ec3b83cb691da3c2ec65fb49461a99fc"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.137Z"
+ "updatedAt": "2025-12-10T11:52:24.719Z",
+ "postProcessHash": "1188cf1b55d6c644bd63269ba58f077e79ca592ce20e5039fb86cfa95764c589"
}
}
},
"b83161b633c695dae680accd5935a66c4769a51694037ae9d2869b2faf067315": {
"4f5057d3de65775adb48756102237dff3ae33a727b1a173ea21ef8e1b97add0c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.136Z"
+ "updatedAt": "2025-12-10T11:52:24.716Z",
+ "postProcessHash": "bc0623c823acfac511082526d587986864088eaac184796ceb420a7a160fb40f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.136Z"
+ "updatedAt": "2025-12-10T11:52:24.717Z",
+ "postProcessHash": "84271cdff4e1d442310fcaf41d94a87ce659d7934bea0edc520aaec28e304436"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.137Z"
+ "updatedAt": "2025-12-10T11:52:24.718Z",
+ "postProcessHash": "c8cb1e811ca84539f952ded78f22c036ced82f9544401cb3e676046aa2df7d8f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.138Z"
+ "updatedAt": "2025-12-10T11:52:24.720Z",
+ "postProcessHash": "5450bda0135c574723bc70f7a0b314db7c9c25cd37b1f8af3e63ba83b8361ee2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.138Z"
+ "updatedAt": "2025-12-10T11:52:24.721Z",
+ "postProcessHash": "fc252c43695a4d566a8d0e7f34e158510dc4420b78666d0ef8e6104d4812680a"
}
}
},
"6d833358ceff509c5534f9bda09e25888b46aa56898f8edb3cad8124379c26a3": {
"93aa74dc3b901b57eae3e8494aed76a3d5f40fbe6f756cb8a3b36820b8b22ef0": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.138Z"
+ "updatedAt": "2025-12-10T11:52:24.720Z",
+ "postProcessHash": "fb9ad4d821a0e32c58b332d0e7c36108cad9c1191d98dbd62358110c5557e0ee"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.138Z"
+ "updatedAt": "2025-12-10T11:52:24.721Z",
+ "postProcessHash": "d6fb5ff533bd30020fe5500856bde8ae68081f87784f2eea5aad33bbba84d3b9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.139Z"
+ "updatedAt": "2025-12-10T11:52:24.722Z",
+ "postProcessHash": "1c3c06d6e0be130ae5d7a19a1cdd78c05af1b3747dfbb84130245fd0d7c4d3fa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.139Z"
+ "updatedAt": "2025-12-10T11:52:24.723Z",
+ "postProcessHash": "d16acf498e931dccf75c6e3b8adc1c935aa86f564750fa3720c572e42a1ab5ae"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.152Z"
+ "updatedAt": "2025-12-10T11:52:24.740Z",
+ "postProcessHash": "1c3c06d6e0be130ae5d7a19a1cdd78c05af1b3747dfbb84130245fd0d7c4d3fa"
}
}
},
"5e7894f6d6a6874bcc4d556a4fee3313ed9dbe9beb1740c6ab23385cca93b4e0": {
"f02a0b573f629d21160dae557c81affe246253064dd7e84d2d5af15eab222f07": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.139Z"
+ "updatedAt": "2025-12-10T11:52:24.721Z",
+ "postProcessHash": "e865a892d678fa2746bc35694b12c6c518f554365b45aaab2131dbeb694d1a98"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.140Z"
+ "updatedAt": "2025-12-10T11:52:24.724Z",
+ "postProcessHash": "6ccd6e0388b75a9f71b0f8f43db53c71b23d89a44d0563ba0326cd4c65ecf529"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.141Z"
+ "updatedAt": "2025-12-10T11:52:24.724Z",
+ "postProcessHash": "7b1e57b7410e5aefca069487a9e49b99a8dba53881bc6d835518a9c34df120aa"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.143Z"
+ "updatedAt": "2025-12-10T11:52:24.728Z",
+ "postProcessHash": "d43b2f891a0597c4d62bc3235467176b598c5daa2a7ec4ccafe6fba32108b39d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.152Z"
+ "updatedAt": "2025-12-10T11:52:24.745Z",
+ "postProcessHash": "b684e19c940a9af4a31f092ddf3589593d514ff24019e105b3bf5c6710c9efb6"
}
}
},
"a03a2fa7648b84e84e9c3c7096e79b0af832d195dfe38705adec39a2e77374c6": {
"9ee4a164b7477ee3d56a6bfbd59abfdd6589a412dd00c5a60be1a8e7ff4f68c5": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.140Z"
+ "updatedAt": "2025-12-10T11:52:24.723Z",
+ "postProcessHash": "0d5a099c60d64090e5a7b73573d627951140f4e8a54665f1e3d53cff6a1c6ee6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.141Z"
+ "updatedAt": "2025-12-10T11:52:24.725Z",
+ "postProcessHash": "d353227aae11cc26f1789025b0474b25649c25c2b8511b5d71d5a00e63bce120"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.141Z"
+ "updatedAt": "2025-12-10T11:52:24.725Z",
+ "postProcessHash": "727f6c9548f9d6e24743ec6e39d380a83bce2e7bcc98c400ec517f2317e029c1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.143Z"
+ "updatedAt": "2025-12-10T11:52:24.728Z",
+ "postProcessHash": "6b0a8933817e0926ea291133bddd9a28906de17f77a6d465e5209de9317335dd"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.152Z"
+ "updatedAt": "2025-12-10T11:52:24.750Z",
+ "postProcessHash": "0e77a4b09c0e7a3f056931c9d8618c81f660ead27fd256545a78fe03cfe68c63"
}
}
},
"016695141e8cca25588d3327882602ef2fa893b0fa0282819fe09598a7beb862": {
"c578ffee94d282151be4285f79933e9cf79a28220893cd3999f9a22610986ef3": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.141Z"
+ "updatedAt": "2025-12-10T11:52:24.724Z",
+ "postProcessHash": "e899ae3b3e1a0d6355558c848ea5d0bf5d4021a264081f99498b5471d4a60890"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.142Z"
+ "updatedAt": "2025-12-10T11:52:24.727Z",
+ "postProcessHash": "c3b9730cce6e12b031c4668f5bfbbefda2aa788a8de759711efd9c017dfd9459"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.143Z"
+ "updatedAt": "2025-12-10T11:52:24.728Z",
+ "postProcessHash": "188d81f0eb22b9303114d1fdcf12769cc2d879b2a69e7d835a74dc8fe5ce5189"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.144Z"
+ "updatedAt": "2025-12-10T11:52:24.729Z",
+ "postProcessHash": "9b54ec8143ba2a612db670687eda3042fa03e6faf4fd66f98cd5f2d579400fc0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.146Z"
+ "updatedAt": "2025-12-10T11:52:24.732Z",
+ "postProcessHash": "54b6f03acdd55633e19627bfcf101e0f959eedec22a655f0faa0c02e7680da48"
}
}
},
"5e567e2b9a457cf7e951ded2e08118eb2ee792f770b3486a111207b78ede62e8": {
"1e0b8c8db7c075a9c32848436021a678fa1fe66025790c6e57a9a785d7ee909a": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.142Z"
+ "updatedAt": "2025-12-10T11:52:24.726Z",
+ "postProcessHash": "00f044673897489e59f02e6e39230784c1024948dba6189c9dfe1db4e1657f4c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.142Z"
+ "updatedAt": "2025-12-10T11:52:24.726Z",
+ "postProcessHash": "b418515bd26c614be7d9265bf86b1516ea83691f4fd02e08a9ca336b73af182b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.142Z"
+ "updatedAt": "2025-12-10T11:52:24.727Z",
+ "postProcessHash": "8c0911fd12f7d0294dfc0a31257b589c69806a14ed383d929a54bccdb2b91d4f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.144Z"
+ "updatedAt": "2025-12-10T11:52:24.730Z",
+ "postProcessHash": "7875224c37b0966cef1cb36a3892b12bfecd9d664bfeb7a408091ed8824c6165"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.153Z"
+ "updatedAt": "2025-12-10T11:52:24.751Z",
+ "postProcessHash": "b3e114d322dd9c924283cffcd8a988521a7cfec360797372c82c367dd74b6552"
}
}
},
"75850eda5da33d17998d4248d7aacdc279ddcfca237b496331f84018c5689edc": {
"d73d48b642d7a57e2881d1ba11cdfaf5f6e10430b14e0be60d868e6f0b80a36c": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.144Z"
+ "updatedAt": "2025-12-10T11:52:24.729Z",
+ "postProcessHash": "003b3bdcae073b762575110f672b46e5437256a0c25f32044e1fbc587fe32372"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.145Z"
+ "updatedAt": "2025-12-10T11:52:24.731Z",
+ "postProcessHash": "d73d48b642d7a57e2881d1ba11cdfaf5f6e10430b14e0be60d868e6f0b80a36c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.147Z"
+ "updatedAt": "2025-12-10T11:52:24.734Z",
+ "postProcessHash": "d73d48b642d7a57e2881d1ba11cdfaf5f6e10430b14e0be60d868e6f0b80a36c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.149Z"
+ "updatedAt": "2025-12-10T11:52:24.736Z",
+ "postProcessHash": "d73d48b642d7a57e2881d1ba11cdfaf5f6e10430b14e0be60d868e6f0b80a36c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.153Z"
+ "updatedAt": "2025-12-10T11:52:24.757Z",
+ "postProcessHash": "d73d48b642d7a57e2881d1ba11cdfaf5f6e10430b14e0be60d868e6f0b80a36c"
}
}
},
"4ed9f8811e4f68971ff4616e8b5242cd7748725675e6fb59b58602e13eb8d79f": {
"4eb0be647d15caecbb566a878ee4c3ad53afc7ba3b1afc217cb5f020edab9f9c": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.145Z"
+ "updatedAt": "2025-12-10T11:52:24.730Z",
+ "postProcessHash": "b4408250fe2f8819532198fdeec1534a76e1baa4b06a30715486521aec6e1d14"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.145Z"
+ "updatedAt": "2025-12-10T11:52:24.731Z",
+ "postProcessHash": "8d384be8368515fbedd7d7e5ac896bef47453580ec9b96d9dab030a671e2125f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.146Z"
+ "updatedAt": "2025-12-10T11:52:24.732Z",
+ "postProcessHash": "784539d21b3592dedce54e252534046afa46378f8c0384f2cc084f8ad9fa7d88"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.150Z"
+ "updatedAt": "2025-12-10T11:52:24.737Z",
+ "postProcessHash": "77c715a7deffdf8cd6d37d91106ba4103d0764b4ac5be59f43c74d5712d27366"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.153Z"
+ "updatedAt": "2025-12-10T11:52:24.759Z",
+ "postProcessHash": "5e6b31b009a55d98aad744b5eb9a384ce664d2cb54433f3bb61210509e345619"
}
}
},
"be510364066b3f532c0b0ad66e3fb467ca3a4a185f3f58e77bfabc3c0f5ca97c": {
"2ad08bcc22f5545bdfc54b72df92187a8dfa5b1975d6682c3bb8777921179f15": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.146Z"
+ "updatedAt": "2025-12-10T11:52:24.733Z",
+ "postProcessHash": "2d6c421d5f6b99e2f247edeb72fe4010e522df0b376c26bd4961468f8b92d906"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.147Z"
+ "updatedAt": "2025-12-10T11:52:24.733Z",
+ "postProcessHash": "87d7dc15963c482ba82398fab8472c31c1e9375d01e09d032020d591f44a0025"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.149Z"
+ "updatedAt": "2025-12-10T11:52:24.736Z",
+ "postProcessHash": "ae318740ced26cf1cf37f0b0acb51dc9174d229f7cfd131902453d1526ccc171"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.149Z"
+ "updatedAt": "2025-12-10T11:52:24.736Z",
+ "postProcessHash": "69dc9c6323dbb32b9bd2842c218a4664e2db4053bc7dd408252ba6ba0c3d67bd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.151Z"
+ "updatedAt": "2025-12-10T11:52:24.738Z",
+ "postProcessHash": "6c1e40feb3e5772ec60762c553720ed1469b5836d80761fc17b076417de93e16"
}
}
},
"5fadeeef739a3434f75433c4e29c2cd20e4592e72d297ba163cf9240ffbb9184": {
"5de143aa78b46b2e873356db1890f0d2e4a2bf888fbf9ac4bed0d1579f87688b": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.147Z"
+ "updatedAt": "2025-12-10T11:52:24.734Z",
+ "postProcessHash": "eddc2084bcbab537a1cadda3dd43b963f09f927702b3fec280fda39538fcb50a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.148Z"
+ "updatedAt": "2025-12-10T11:52:24.734Z",
+ "postProcessHash": "91b7b49acc476099740de77f35f475ae9fb23c0ad646c72ee64deb87fbd09773"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.148Z"
+ "updatedAt": "2025-12-10T11:52:24.735Z",
+ "postProcessHash": "857395e40cca1f0de3be309688bcdbb1e94c145f721b4a38787ce50aaa7174de"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.149Z"
+ "updatedAt": "2025-12-10T11:52:24.735Z",
+ "postProcessHash": "9e3302425d01276a29a2a031fcebd6b1813ea3477c9b8bcfcb8069affa41c6ea"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.153Z"
+ "updatedAt": "2025-12-10T11:52:24.765Z",
+ "postProcessHash": "d0617c9819fd72b909744539d72801a7e7511913dd949d0f52ef2a4571d9f661"
}
}
},
"6014c68c3e40c0b6f751330ebbe83576a8053acbfbb252539eb451d989e9664e": {
"0c925ebc32e69575d36ab730a6172a8f71cc44f8101a37b1768a211bf02955c7": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.150Z"
+ "updatedAt": "2025-12-10T11:52:24.737Z",
+ "postProcessHash": "eff67d1196544cc5900d9f0fafab73b37abcfbcf1434e20618525c9088d127c5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.150Z"
+ "updatedAt": "2025-12-10T11:52:24.738Z",
+ "postProcessHash": "0b7fee693afe38ad6d27878cc1c01fadcb01a469235566400ba72d81bb49a8f9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.151Z"
+ "updatedAt": "2025-12-10T11:52:24.738Z",
+ "postProcessHash": "dd836bb6f33d4e8f45ff164f85257dbab1597055899b6108ff8bb8b9ecf9faf1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.151Z"
+ "updatedAt": "2025-12-10T11:52:24.739Z",
+ "postProcessHash": "ffbaf0685bfdec18687b68e4a8dd79264bb183815096ab7717b269baf553f90c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.152Z"
+ "updatedAt": "2025-12-10T11:52:24.740Z",
+ "postProcessHash": "397ff470b4fd9b7f5d843f55d92d02042a7d0540927357848891bbdcfba9566e"
}
}
},
"be419082f3c9eabbcda79f218f2880430d7f03de0984116b69ebc2db3bf23e52": {
"72965df604cf972bd1e7f38f3ad987c397b507d349d1679df910f68647f4833c": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.151Z"
+ "updatedAt": "2025-12-10T11:52:24.739Z",
+ "postProcessHash": "55041cc6841870ccf0966d19b3c8ef14d86745df3ee6374fb8237a3455dbd759"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.154Z"
+ "updatedAt": "2025-12-10T11:52:24.741Z",
+ "postProcessHash": "c5f92f28d5ce0abca394b2b480956830f1ae9f6128ddcb2036ce43340b7fc449"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.156Z"
+ "updatedAt": "2025-12-10T11:52:24.744Z",
+ "postProcessHash": "ebaeae6885c203972af50c468335c5950fa2799ceb9814b67717868a6c71735c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.156Z"
+ "updatedAt": "2025-12-10T11:52:24.744Z",
+ "postProcessHash": "3ba48c524c2195f9b14286645c1a955475845b4e71f85eb1964e983efe4f0af3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.171Z"
+ "updatedAt": "2025-12-10T11:52:24.767Z",
+ "postProcessHash": "af4c4c118f5c5ad4bf7aa060c74e038ddd68362cbfa3b49ffd5c091eef664bdb"
}
}
},
"0472459cc123fdbeded0455a6f0b217d3d8df5b529cc6bf5451ff3a579f76d40": {
"41ed70b8ded3ab2f750328c03ca37f7793f28e0e8b2085c44b8f0872b8c84d25": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.154Z"
+ "updatedAt": "2025-12-10T11:52:24.741Z",
+ "postProcessHash": "2477b38c76fefb65c94a8984e942682f3cddcfcbbe4fd7d1caf29e035f45eef6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.155Z"
+ "updatedAt": "2025-12-10T11:52:24.743Z",
+ "postProcessHash": "e5c7aba6d421ca95e7d7c71dcf42f2cd1f5f79b35d27923d1ee11d1ff1546dec"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.156Z"
+ "updatedAt": "2025-12-10T11:52:24.743Z",
+ "postProcessHash": "31aacaabb28a5b7d263caf87ea210881c4618716febaa9533bdd018dbd20c548"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.157Z"
+ "updatedAt": "2025-12-10T11:52:24.745Z",
+ "postProcessHash": "7dee91825f519d9fd0a1c6b400a987d8bf979d869410d0835e8bfd915df0e793"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.170Z"
+ "updatedAt": "2025-12-10T11:52:24.766Z",
+ "postProcessHash": "d766b3013ed135882879e19737b10ae94659153e0b04001cbd07e611fab453e3"
}
}
},
"a283bb00088f2aa88f9fc5c868c5678f4a544481c8f2d9389b95fe90c1e8720f": {
"4067c5534f20d0bc099e3994e0fc9710c9aa80dc5669eaad31343c1efb5db024": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.154Z"
+ "updatedAt": "2025-12-10T11:52:24.742Z",
+ "postProcessHash": "8f92996b8276e1d920c9c3f4ac077a949c02a2da7d348dc3373a0049199423df"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.155Z"
+ "updatedAt": "2025-12-10T11:52:24.742Z",
+ "postProcessHash": "bcb2ea3da31c27b7ee17a31005f7096b5381ee042972262e62fcfabf4fee184f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.156Z"
+ "updatedAt": "2025-12-10T11:52:24.744Z",
+ "postProcessHash": "66ca2494fbad8901ddf4f48f64b64aaa547e2a64cd9e8e8b6c0a0ca3b77ab4ba"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.157Z"
+ "updatedAt": "2025-12-10T11:52:24.746Z",
+ "postProcessHash": "bcb2ea3da31c27b7ee17a31005f7096b5381ee042972262e62fcfabf4fee184f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.167Z"
+ "updatedAt": "2025-12-10T11:52:24.760Z",
+ "postProcessHash": "bcb2ea3da31c27b7ee17a31005f7096b5381ee042972262e62fcfabf4fee184f"
}
}
},
"3d1dfadf07f1a0795e6786aafb830e673b9bedcdefef73b538476ecb44b8667e": {
"0a0abb2a753c679deb3815b1299961620cae832ca1e644119d5fe0eb6af1441f": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.157Z"
+ "updatedAt": "2025-12-10T11:52:24.746Z",
+ "postProcessHash": "ff43afe874981f06f623ebbb56e6fce230ff62ea1cc73e6657da1c2e31ef39b6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.158Z"
+ "updatedAt": "2025-12-10T11:52:24.747Z",
+ "postProcessHash": "5fc9e21a63a9a4695d5f2a5ddd91d1ee2605ea7c6776f02adc77f12f44baa0ce"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.158Z"
+ "updatedAt": "2025-12-10T11:52:24.747Z",
+ "postProcessHash": "60da40d41fed0a8baaf7c73ec27ac0b536e221d0312c5763febfcccd15304184"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.160Z"
+ "updatedAt": "2025-12-10T11:52:24.749Z",
+ "postProcessHash": "55b03059064afc391c4da48de8e5bf71c6d6efc327ec61d701d8540cc332aa9e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.163Z"
+ "updatedAt": "2025-12-10T11:52:24.754Z",
+ "postProcessHash": "aede110b6ced84b18a318ba6ae04005df3afb22a0354e9c5e60eff9eaf4ebae3"
}
}
},
"d49d742f065749db5876433cfc830e5b16a7b6e7973e4876ae0faaca4520749b": {
"61c89b1241d23569ab80d2a3fb9ae23f4ebba0063f9640eda6396467e28b5f9e": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.158Z"
+ "updatedAt": "2025-12-10T11:52:24.747Z",
+ "postProcessHash": "0a3082f15748052028f111a2512193dda520da39882814a8055cca3656ccdc0b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.158Z"
+ "updatedAt": "2025-12-10T11:52:24.748Z",
+ "postProcessHash": "b0113b076c590cff67e893beea6b5ce59661f8c2b9927b0c63b603af9ccb461a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.159Z"
+ "updatedAt": "2025-12-10T11:52:24.748Z",
+ "postProcessHash": "0a3082f15748052028f111a2512193dda520da39882814a8055cca3656ccdc0b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.159Z"
+ "updatedAt": "2025-12-10T11:52:24.749Z",
+ "postProcessHash": "0a3082f15748052028f111a2512193dda520da39882814a8055cca3656ccdc0b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.174Z"
+ "updatedAt": "2025-12-10T11:52:24.775Z",
+ "postProcessHash": "7b3a3957cee817b9f4cbb7c6090df578777cbe1cb987faac44d3057d611011e9"
}
}
},
"0b0d729c4e917c4477f37d317801ab4570f314dfca74085b9c4fbf2b931a127e": {
"c687cf5b3045601c9f326c02b0eab1e5c6448f545f2f5c8f0e46b3ba32cc23dc": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.160Z"
+ "updatedAt": "2025-12-10T11:52:24.749Z",
+ "postProcessHash": "288f8e080adc5c2467400858708bb6bbe965865f9f855279d426878edaebdf3c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.160Z"
+ "updatedAt": "2025-12-10T11:52:24.750Z",
+ "postProcessHash": "b737f5bbbec657d29b138bcf321b0700462d1a78be21a291142dd1c993ccd84b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.161Z"
+ "updatedAt": "2025-12-10T11:52:24.751Z",
+ "postProcessHash": "577a7933c433b1fcd9eee0c6d40bd7c952822b7bb4e96fdf99becd142b5432df"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.161Z"
+ "updatedAt": "2025-12-10T11:52:24.751Z",
+ "postProcessHash": "ed35c5e1fdd65794935f7591580ec252abb4e3e13754e6a9eb105849f3407f9e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.162Z"
+ "updatedAt": "2025-12-10T11:52:24.752Z",
+ "postProcessHash": "594589fa4dc1e7e25e90a6c53ffd1dcbf8caa94edee5152654f8c60760bc6ac6"
}
}
},
"5fffbe6483fd3639c2a7ba9ea379514a7f3c5fa3c6f10906edb3a022803c09c9": {
"235dca1485b57eacf76acbdc62c2b8a1a33ecbd54f7d8bee4f34fbea00788cdb": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.161Z"
+ "updatedAt": "2025-12-10T11:52:24.752Z",
+ "postProcessHash": "4729a8eeac7ad5e4183c9614c63564085ab15707b4ee261ccf5627af8d32aafc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.162Z"
+ "updatedAt": "2025-12-10T11:52:24.753Z",
+ "postProcessHash": "67888e25cf820f7e4433b3bc964515b12d7119ab5c8668772dc2fbe12830fa4d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.162Z"
+ "updatedAt": "2025-12-10T11:52:24.753Z",
+ "postProcessHash": "a955310c7cb005d38d18bb07d792144827f260848be2373df8cea27b988728ca"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.164Z"
+ "updatedAt": "2025-12-10T11:52:24.755Z",
+ "postProcessHash": "48a92eca56e44672f4d14a522afc955b26cec8dc1a3ee247a9cc98991ba41d21"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.171Z"
+ "updatedAt": "2025-12-10T11:52:24.767Z",
+ "postProcessHash": "397c790f8e5932a2e131370a9810fb28dc23026221a210c16ebd888138de73c7"
}
}
},
"31baea03080d96973ebb17b555c220344bc015444dde536431784b4bccfcdf27": {
"72e5d5016c93e7cfdbaf60756753d4ea53b97d17d953c75b681312d4bbc98fed": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.163Z"
+ "updatedAt": "2025-12-10T11:52:24.754Z",
+ "postProcessHash": "6e30b036cf694fba953be5395bbd63efe3ebe17e8905a67df2ad2da683503ab9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.164Z"
+ "updatedAt": "2025-12-10T11:52:24.755Z",
+ "postProcessHash": "72e5d5016c93e7cfdbaf60756753d4ea53b97d17d953c75b681312d4bbc98fed"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.165Z"
+ "updatedAt": "2025-12-10T11:52:24.756Z",
+ "postProcessHash": "72e5d5016c93e7cfdbaf60756753d4ea53b97d17d953c75b681312d4bbc98fed"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.165Z"
+ "updatedAt": "2025-12-10T11:52:24.756Z",
+ "postProcessHash": "72e5d5016c93e7cfdbaf60756753d4ea53b97d17d953c75b681312d4bbc98fed"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.173Z"
+ "updatedAt": "2025-12-10T11:52:24.772Z",
+ "postProcessHash": "72e5d5016c93e7cfdbaf60756753d4ea53b97d17d953c75b681312d4bbc98fed"
}
}
},
"cfe261c79a0ba403dcfa21a13913788a7ceb91ce6c24b7500eae8bf901e9895c": {
"ddca93f175b943a3c07e8784f3b7ca4775144b64ca12345c65c4a3392c2d434f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.164Z"
+ "updatedAt": "2025-12-10T11:52:24.755Z",
+ "postProcessHash": "93860a2a4fd618f2d0245c3a3829116bcbae08c9f488e180abe884c6ac969c76"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.165Z"
+ "updatedAt": "2025-12-10T11:52:24.757Z",
+ "postProcessHash": "5ba9e8aca7dc9ec6a74cdc09877cfac5284ce22ca62cc7208bf49ddbfa9611b8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.165Z"
+ "updatedAt": "2025-12-10T11:52:24.758Z",
+ "postProcessHash": "4aeabfdb02099d3fb6e0f8e4d9b7cec97b715a6643cedd94293aad5c38fc0e56"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.169Z"
+ "updatedAt": "2025-12-10T11:52:24.766Z",
+ "postProcessHash": "61644abb5bc15cdef32484a0f664a0d4710ecbfed0b924bcb114e67606c57a35"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.174Z"
+ "updatedAt": "2025-12-10T11:52:24.795Z",
+ "postProcessHash": "237e25339c8e36ef14a5d3d4da2bdc9789aeef2a77e644c3bff2e790dd3535d9"
}
}
},
"2425f79d248356b5046f9990196658442876c16097e6d4ab48afa233b6c0e102": {
"e0d238a4e37d8a1add4f78b9e02c405a73f4cf3fb065c4c054c6ab165bffd2ad": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.166Z"
+ "updatedAt": "2025-12-10T11:52:24.758Z",
+ "postProcessHash": "b9b63d4d80c338e8751504d037338683f4ddc65c8478bc9c982af00295685b12"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.166Z"
+ "updatedAt": "2025-12-10T11:52:24.759Z",
+ "postProcessHash": "bd10ac7e57baaedce4993f8cfb9ce3eda4632742baebbab0d1085018fc77abed"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.167Z"
+ "updatedAt": "2025-12-10T11:52:24.759Z",
+ "postProcessHash": "37500abc615636abf1591839e383b4f23cf1c3d5a7f2026ba18333cd286afbfa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.169Z"
+ "updatedAt": "2025-12-10T11:52:24.764Z",
+ "postProcessHash": "109365e7edc2c1dee766a98b8f68c3fcfd6a599154e0b6fc77c98f786d290995"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.173Z"
+ "updatedAt": "2025-12-10T11:52:24.774Z",
+ "postProcessHash": "ec8017daea9c1c41491107a9224a21e39b9808c84964eede96745696840527e6"
}
}
},
"73a78cd3badc156d9896902982f7de914ac9cb613032ed423d08ec6c01a149b0": {
"e66a6d1137abc022395b2c7d191e7a35f2fc60d85809556976a63d383147759f": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.167Z"
+ "updatedAt": "2025-12-10T11:52:24.760Z",
+ "postProcessHash": "bb333d3e3f8b936bfa68122fe09ef599a65cfb2d7a4bcc2fecdeb5176239984b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.168Z"
+ "updatedAt": "2025-12-10T11:52:24.762Z",
+ "postProcessHash": "56c05e6e1841936ee9f6d72592b9975da80016252b019b39abacca532ac0a160"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.172Z"
+ "updatedAt": "2025-12-10T11:52:24.769Z",
+ "postProcessHash": "ffd4e8b9dc8a653fc80b6ddf0e297492415526caa99c2528459093f2fb080e7c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.172Z"
+ "updatedAt": "2025-12-10T11:52:24.770Z",
+ "postProcessHash": "c3f8b16c7532e882371c73a8863095c71d1957f0bc276e88f4915e6f25d870ae"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.174Z"
+ "updatedAt": "2025-12-10T11:52:24.798Z",
+ "postProcessHash": "e2916b09ad12e06871241985ef26469a935350ee77fb8e33d50ccf7ee149a3ae"
}
}
},
"c401b08c354c4052e915a1ade7ffcacdce0ba29fd1123ef7105db8035c743fa9": {
"0009d9d8c1b90fc1bb636fac42b56129f0f735551466bac49ae645c0778bb587": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.175Z"
+ "updatedAt": "2025-12-10T11:52:24.761Z",
+ "postProcessHash": "4595cc5b1f8956918f68bfe732d7b000baf7415ab7e2f7758fe8eef667e94875"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.175Z"
+ "updatedAt": "2025-12-10T11:52:24.762Z",
+ "postProcessHash": "1e58afda91c1ee4be4921b014621e474138f4b2f4f4d11f232fbd05b70390f78"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.176Z"
+ "updatedAt": "2025-12-10T11:52:24.768Z",
+ "postProcessHash": "a4fbee567d9a60bf81d3047cd5dc8775c4ba8e733aa0a4043790d211d0eeb81e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.176Z"
+ "updatedAt": "2025-12-10T11:52:24.770Z",
+ "postProcessHash": "262c367273d16953f83fd56615e1fcfe3780fc8d74483eb093bbcacf25fa6453"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.179Z"
+ "updatedAt": "2025-12-10T11:52:24.778Z",
+ "postProcessHash": "aa45b26103a2913954e25319fc5a78975fe305c1921a8185b048dfca2095aabe"
}
}
},
"e5eb5428a8808be4f09931ebd983e0f2797bad6e541c31a3c18905a1dfea17be": {
"d64984710fe767247ee561c011b4af0dba874a87e0de7c7682c3e102fa7fb431": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.167Z"
+ "updatedAt": "2025-12-10T11:52:24.761Z",
+ "postProcessHash": "358a32f26adaac600ff8c63fe2fcefc4ce7859102f5db6e61bddf7929360065a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.168Z"
+ "updatedAt": "2025-12-10T11:52:24.763Z",
+ "postProcessHash": "48ba1c6c15c496256cf5d1bf53b5334bb7c8f5b709d5b48ffa38f698ac6570c2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.173Z"
+ "updatedAt": "2025-12-10T11:52:24.771Z",
+ "postProcessHash": "6069e2f56033375815c4e65242f7b6b7449b4ea4526a2c42175b9b4ec4af252c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.173Z"
+ "updatedAt": "2025-12-10T11:52:24.771Z",
+ "postProcessHash": "4e7a5d40657bf1a280b531f1300049231ba49e5cf6e063fd5a5999698ea5f32c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.174Z"
+ "updatedAt": "2025-12-10T11:52:24.779Z",
+ "postProcessHash": "5c3d3f2f8d90f162b446aec4437176a2198d2eb59aa65bee39ce91c714b14300"
}
}
},
"107b93d198d394795092c27db2878ace97d608e0d117604275e56fc2e8eb0a80": {
"6dba7cd7deb0abf6c4e67f9e554cf654c52afe2139ac021e02ae5a6bbef4bbcc": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.175Z"
+ "updatedAt": "2025-12-10T11:52:24.763Z",
+ "postProcessHash": "099c4c29e5e5a0457701982ff6a4b2a99afde196879116f432c6eb32e846ec0b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.178Z"
+ "updatedAt": "2025-12-10T11:52:24.776Z",
+ "postProcessHash": "074fc11131c5d9f24dc45995a39edd468e9457aaf6c4a86be03e9e1ee1d61950"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.178Z"
+ "updatedAt": "2025-12-10T11:52:24.777Z",
+ "postProcessHash": "82c6cac7fceeccbe154441c2fd559721ac812d071bb20550a46b7e045f804226"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.179Z"
+ "updatedAt": "2025-12-10T11:52:24.777Z",
+ "postProcessHash": "56fc9a2bc8bd73015652c9b0af332acec2e16f60eccaf8d8c1ec887f2590d014"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.184Z"
+ "updatedAt": "2025-12-10T11:52:24.795Z",
+ "postProcessHash": "295e5b9bffe1846eab2562d30c1e3703e8045ce42f92d1f831d41eaa9638aac3"
}
}
},
"8edae4184d5408ddd26fb1ac7b79bae8cd26613c40f0d2d2ea45ffde94c86e78": {
"5d356c00b76a98c3a4d4877c82a78244a3c01b4ae92cbfe3cbafcfc8287db207": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.168Z"
+ "updatedAt": "2025-12-10T11:52:24.764Z",
+ "postProcessHash": "fb883591ea26e9109dc36752cda7b8284ab2c0eb79ef56aafe5ae2ce24b073eb"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.169Z"
+ "updatedAt": "2025-12-10T11:52:24.765Z",
+ "postProcessHash": "934cce7442e3d76247e4defafa3cd3639894646ae85fd931d7e5bab911dc91d8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.170Z"
+ "updatedAt": "2025-12-10T11:52:24.767Z",
+ "postProcessHash": "381f34cb75b36e8fc046e28ec9ddb4d49203265410799c9cc4b5d193bc07e17c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.171Z"
+ "updatedAt": "2025-12-10T11:52:24.768Z",
+ "postProcessHash": "7e6989ba96196427443a23ea9431fb9817e787955ed4575a53bfa599c82ee1de"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.172Z"
+ "updatedAt": "2025-12-10T11:52:24.769Z",
+ "postProcessHash": "bb67941fc5054f1ecc7ffcc54e47ec77d6f7d505c0e5b0479bcc2de094e62572"
}
}
},
"68c380c561c551eb530464493d567d7c4b49bea503b06c69bb6f2c7ee73ccea0": {
"f4069565a6569d650b7b2e3f86b8815673d37a492a403abc1980ca050db50c80": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.176Z"
+ "updatedAt": "2025-12-10T11:52:24.772Z",
+ "postProcessHash": "d1fd245253d534283c12924e05b461b87c77a71a545e327566acd815f33d26de"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.176Z"
+ "updatedAt": "2025-12-10T11:52:24.773Z",
+ "postProcessHash": "ca4bd63e7b282afc016a8ea419aec5bc82d5290c56f523f948989cc98ca9853d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.177Z"
+ "updatedAt": "2025-12-10T11:52:24.774Z",
+ "postProcessHash": "d2a043744f1d0300bf0ab6c100915e00ffb43d4ba743d36967b82858c8dbc5fc"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.177Z"
+ "updatedAt": "2025-12-10T11:52:24.774Z",
+ "postProcessHash": "f5dbbff5cb784841cf78d75870ce0cc4e65e392cc1f9800c147644fb06af6e62"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.184Z"
+ "updatedAt": "2025-12-10T11:52:24.787Z",
+ "postProcessHash": "86c5dd0676e95418f46e8f6d1c9f3f27f81fd8a78b4209bf1f7d74a99596fe65"
}
}
},
"cf173be1b786da5ef76c53fdf9b3b4a4711312c51949488a226616ce4ad3ff9e": {
"285fce15a5f1267c55c098b129ab5e9ada70b9e9edc6b610bda8f54204abbff2": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.177Z"
+ "updatedAt": "2025-12-10T11:52:24.773Z",
+ "postProcessHash": "4b7ab0875414eaf792f6fff00f8cc4cf4be310e8bdca1b3f96534dfa9b6832bf"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.177Z"
+ "updatedAt": "2025-12-10T11:52:24.775Z",
+ "postProcessHash": "2dd743f2f5a59ba897524cfa5817bafcc99cb8629f9d778683c07a888e9b62e1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.178Z"
+ "updatedAt": "2025-12-10T11:52:24.776Z",
+ "postProcessHash": "dae97ce42fac88fd82a9d130e16b67157fe52674547aeb95f6b04f170b02ce4b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.178Z"
+ "updatedAt": "2025-12-10T11:52:24.777Z",
+ "postProcessHash": "3b3c4010235aa5c84282112dae358621e14d8fce75be4e07ac67bd07589a40c9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.179Z"
+ "updatedAt": "2025-12-10T11:52:24.778Z",
+ "postProcessHash": "6711942ade9b8d18b1f1e2c05ec0d8f563509a14367e732ff01c2d9addca5ef2"
}
}
},
"bd506b0b83e7dbdb9dabe5006d3cf2f86adc07b53a6b54c1860c72a659d0984d": {
"955f0123ebe0ee8aaeee367ad7ad2e468147d1ae12081905f41381e002a67713": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.179Z"
+ "updatedAt": "2025-12-10T11:52:24.779Z",
+ "postProcessHash": "992cde0cc32dbba3285afe83236f7c566f0a48ca0d7d34fdfd2c4301ed76f15a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.181Z"
+ "updatedAt": "2025-12-10T11:52:24.781Z",
+ "postProcessHash": "a694a10dea270b19e754fa51ad24f0e2050364fa7df763a6f7fab1e08f5e2733"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.185Z"
+ "updatedAt": "2025-12-10T11:52:24.796Z",
+ "postProcessHash": "ec88edc8f2eb562bb2719c706b59a133c808fc0d94bdc8124ae53d9454cb6f42"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.188Z"
+ "updatedAt": "2025-12-10T11:52:24.797Z",
+ "postProcessHash": "8691825985f03311612fe1c7ab11c1a33527cd4aff3ed2fdbb25c927ccc5b046"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.192Z"
+ "updatedAt": "2025-12-10T11:52:24.798Z",
+ "postProcessHash": "8d314aa9a574fb952f6d6e1da162ea7ee43313d0ebf5404caaf26df94e348be1"
}
}
},
"367e73714182c233fecd0cf54dc97dacd64ec72b197fcca7ad51453ace5b55b7": {
"05242344dd1df2f485e85371be51d2c0e36857379dc15e352009436f38c22a9c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.180Z"
+ "updatedAt": "2025-12-10T11:52:24.780Z",
+ "postProcessHash": "6f4149142f8055b6e18f06427b5b3147d263582f7624aea0c12e25a8797206f8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.180Z"
+ "updatedAt": "2025-12-10T11:52:24.780Z",
+ "postProcessHash": "5d5d657f115a2851a0a91cd26cb8f5437cb1139ed008199a8620fcb2e95b57e9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.181Z"
+ "updatedAt": "2025-12-10T11:52:24.781Z",
+ "postProcessHash": "2d6742f5ac2b528e9418853c58e7b5eb6f7763d5acad7360387bad5a7b47c6e4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.184Z"
+ "updatedAt": "2025-12-10T11:52:24.786Z",
+ "postProcessHash": "278e6e5b73fa1effa6303041ce7226f2a01c7bb4fe3f14cdf7fab09f7f77c2f4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.185Z"
+ "updatedAt": "2025-12-10T11:52:24.796Z",
+ "postProcessHash": "278e6e5b73fa1effa6303041ce7226f2a01c7bb4fe3f14cdf7fab09f7f77c2f4"
}
}
},
"aaf985c627b7f325cba42a6e9ec32e0d3689c2dd6c10161f98b6e287346f8c15": {
"45ed81ed94736a3786187012886ca1b36aa4797fbdb41b3b7499aad780bde868": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.181Z"
+ "updatedAt": "2025-12-10T11:52:24.782Z",
+ "postProcessHash": "28c1d7e26d25ee1b8cccec7ec8d00dc73b759883e275da11602f01c76869a503"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.181Z"
+ "updatedAt": "2025-12-10T11:52:24.782Z",
+ "postProcessHash": "99e66f2d25fa80e6456fd8a394da58c4b1abcd0d776509cc91b465a8ef7a0a06"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.182Z"
+ "updatedAt": "2025-12-10T11:52:24.783Z",
+ "postProcessHash": "4ac196996ff3e073ae492e309223e9e9038504e8e23a61236dc9de7e785e8a99"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.182Z"
+ "updatedAt": "2025-12-10T11:52:24.784Z",
+ "postProcessHash": "f72e7e563d45cb7a541c521f8562beaaa3f70edf411ad379754b1dec60c80049"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.185Z"
+ "updatedAt": "2025-12-10T11:52:24.797Z",
+ "postProcessHash": "8d9031d695c154d1862a9ac1c8f160b76165e7cf70bd0002c37f096ef51603dd"
}
}
},
"d52a9c920d116d2dbf164f932179506b153a8b5f768751c0ab3281e2991b4b26": {
"4e0a15d9fcb17672aa6ec040337608d994f2c2e385c481ae6bd97a531e0ab35a": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.182Z"
+ "updatedAt": "2025-12-10T11:52:24.783Z",
+ "postProcessHash": "3e84ebfdf062f3de0f6339feee5671d1565056e4af1cb3881d83a518e2cd54e1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.182Z"
+ "updatedAt": "2025-12-10T11:52:24.784Z",
+ "postProcessHash": "7ea591f3562c389f3bf42ec35e14b2aaf84723145bd978f8234bd3c403d64099"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.186Z"
+ "updatedAt": "2025-12-10T11:52:24.799Z",
+ "postProcessHash": "9b757ba2aec63cdb8b016c52c13988cb2c08f2f6f2c5a64d488a98dfb172253a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.187Z"
+ "updatedAt": "2025-12-10T11:52:24.800Z",
+ "postProcessHash": "7ea591f3562c389f3bf42ec35e14b2aaf84723145bd978f8234bd3c403d64099"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.188Z"
+ "updatedAt": "2025-12-10T11:52:24.808Z",
+ "postProcessHash": "7ea591f3562c389f3bf42ec35e14b2aaf84723145bd978f8234bd3c403d64099"
}
}
},
"2acc99943c0db7c0fc6a968e6528a77b6f7601430edf78cb52aa49422180b0e4": {
"a0c7fd60c06cd876de16e049ef2c913bb80d7a0d7205267bffcd552064941f36": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.183Z"
+ "updatedAt": "2025-12-10T11:52:24.785Z",
+ "postProcessHash": "e14e2bbc57f78f87be1b923bbbe1c08c1d532944a1ca85fb5cc0c0daafbbca11"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.187Z"
+ "updatedAt": "2025-12-10T11:52:24.800Z",
+ "postProcessHash": "a6bff62aab794bc4925a811b5afba78a348323572c9772c61c8960be04d08934"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.188Z"
+ "updatedAt": "2025-12-10T11:52:24.809Z",
+ "postProcessHash": "79d2c9b0e57abd0dc050692c2cb7387e7dee9b6831d0477550278480c60b381f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.190Z"
+ "updatedAt": "2025-12-10T11:52:24.811Z",
+ "postProcessHash": "ab772e92ccf19af1397fa729aaa9298c37bc1de17b41bb6e55472da28c72f9ce"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.193Z"
+ "updatedAt": "2025-12-10T11:52:24.839Z",
+ "postProcessHash": "afc469db8a34be19383b1877c44160ab0a9d99ac4cd10aad4d0ad09e74539675"
}
}
},
"4062804e7f5daf84f9521d6d36176ca1d21b63b79ee127696328d0ff88c2f61d": {
"36eff06e33f33485fd2657d38f19239c477832ef6732a214409be3a3d9e0ff16": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.183Z"
+ "updatedAt": "2025-12-10T11:52:24.785Z",
+ "postProcessHash": "a57cb9baa4887adec2e226bdbbbf68a6aa2fb39c9a20476b0106d64b3ee77ee9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.183Z"
+ "updatedAt": "2025-12-10T11:52:24.786Z",
+ "postProcessHash": "4b140bd3e02603e776c7d5e99e2368bbb711690edcfb5b0c90bc007d151d6311"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.187Z"
+ "updatedAt": "2025-12-10T11:52:24.799Z",
+ "postProcessHash": "e3a6f07aff2d7b6e1a10d2daf5714bb24f8a9f7da908006a729e5203490e93f1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.187Z"
+ "updatedAt": "2025-12-10T11:52:24.808Z",
+ "postProcessHash": "45329dfe67f5c4ef5bde4a6734cf4187c3c1f335d886ace819471224c7fecac5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.193Z"
+ "updatedAt": "2025-12-10T11:52:24.817Z",
+ "postProcessHash": "c358be790c72c7753a3c2ce45dcbd0de2a0293f996242e4a240f6c0f01fc6eea"
}
}
},
"712d4c3004019bfe438e07482e80178530a75d0b67b5fed2d32ae62eed0da87f": {
"1734b11fdfb0fc300719cce03eb422351344800c6763d50b8a97fad290fd48fa": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.194Z"
+ "updatedAt": "2025-12-10T11:52:24.787Z",
+ "postProcessHash": "e3a1daeaab4a5a80544e6f8b70b077dc10d8060c47d2b09c54ad291dfa2b51c7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.190Z"
+ "updatedAt": "2025-12-10T11:52:24.812Z",
+ "postProcessHash": "e6aee6d7e3c3427b0327def66c5d1db6dac0ec8db268a3f3ce92313bc06a70eb"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.190Z"
+ "updatedAt": "2025-12-10T11:52:24.812Z",
+ "postProcessHash": "adac3d991f5398c95f07ed55644c875516a1cffe74415c0d9ef923188857f64f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.191Z"
+ "updatedAt": "2025-12-10T11:52:24.814Z",
+ "postProcessHash": "7104f7a8086e7db0fc5649a7006833b01c4bff3f7049bb9151e172517ce1fc9f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.192Z"
+ "updatedAt": "2025-12-10T11:52:24.815Z",
+ "postProcessHash": "117582a8072243f3c15a1ceafea47571f644085dfb26e57608aad2b64d6bece9"
}
}
},
"67f461fd6d4ebeb49147cd70c32f804e3b7d6637eedfc76e8046a1036766b0dc": {
"b54c30559ede49e56ed1cb1497b2cf692d895ff0e31a3168f3da47430cbaa2f5": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.194Z"
+ "updatedAt": "2025-12-10T11:52:24.788Z",
+ "postProcessHash": "9efea742a26b73f9430203918f3ca1983593a968d22f071407eae37c25d166e6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.195Z"
+ "updatedAt": "2025-12-10T11:52:24.789Z",
+ "postProcessHash": "6298a5606624aa708065701c05f77cdbf41559007d426ae47c1a1488f72095af"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.195Z"
+ "updatedAt": "2025-12-10T11:52:24.789Z",
+ "postProcessHash": "5fd5340e224557d85ba70eae6804b86e5dee0691b2d7c713335b7a58cb9079a7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.205Z"
+ "updatedAt": "2025-12-10T11:52:24.823Z",
+ "postProcessHash": "d522128006601fb0bc18cd86f91584669a50d7e070547fe568a113b0bedd554b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.206Z"
+ "updatedAt": "2025-12-10T11:52:24.825Z",
+ "postProcessHash": "7433a32f861c95e82570650447f51815cc4b8782bed762e7d7196daad549ab5e"
}
}
},
"3ba796e62e8b7f3efaf06a978737760d64747075558bd176dad363e4af7d8c45": {
"7595a0ef2c54523d9785ba59dc08d442061963465499e4560e964806891feefb": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.195Z"
+ "updatedAt": "2025-12-10T11:52:24.788Z",
+ "postProcessHash": "3b631d3121e0ce1c8c5a9e5d2c0fb28ae03dff05bd9bd40daf929e25fcfa849d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.199Z"
+ "updatedAt": "2025-12-10T11:52:24.809Z",
+ "postProcessHash": "da54e4c4b8fdc2c856340d0308d650827e54b1164bfc4071e09d398aed58f300"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.200Z"
+ "updatedAt": "2025-12-10T11:52:24.815Z",
+ "postProcessHash": "cb93d5f695a45d2aeb7945a58564c8ea4f2e013f2e018fdebebf264479ba75bc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.200Z"
+ "updatedAt": "2025-12-10T11:52:24.816Z",
+ "postProcessHash": "96162df2360f4f82f660858387d8fe4210a3bc709490b9e1c818f930becc5464"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.205Z"
+ "updatedAt": "2025-12-10T11:52:24.824Z",
+ "postProcessHash": "d2aa29f1d7da1b5345c399eebf3f83f4e3dc030d9e4a47859a8600e35783e7ac"
}
}
},
"0e84ea2ba357c60cde052d35c2ea32c7bd263b38c9b6c201cdce26f39b22aa66": {
"017d29fa1c4f0b567adf5fd1b9e9c0a5af63d5dcd062cf1dd9217db1f13e16b9": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.196Z"
+ "updatedAt": "2025-12-10T11:52:24.790Z",
+ "postProcessHash": "cfde3e4c30492a453e5c3b03bf810350c3e5fa94b817bab90fb5ee3cf0dfc16e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.196Z"
+ "updatedAt": "2025-12-10T11:52:24.790Z",
+ "postProcessHash": "11e36e5b7c96e56f2e20337106c73d520e445e3e7746cd05e074753645fd1e37"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.200Z"
+ "updatedAt": "2025-12-10T11:52:24.816Z",
+ "postProcessHash": "a014bce82d05924eaca57278bcc44266765afb38fc16f67dbae1e022b5295060"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.205Z"
+ "updatedAt": "2025-12-10T11:52:24.823Z",
+ "postProcessHash": "f28a5a0ace5b02fb7a50eb7b2977101c1562e3f0b07b3fd16988a98a2f1dca03"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.205Z"
+ "updatedAt": "2025-12-10T11:52:24.824Z",
+ "postProcessHash": "7b095cd8ef30667d12f090f3c2b6886ccd4aba4e390ee1b5a233870567c83092"
}
}
},
"753d8bd249b85b2a4167b85d3ce4ae1cb8f4186cbb8272749d6d2a896e5abf81": {
"e6545700668b8eff2a27e34834f871a9772a547a0e51b6a5134cf65c62e218f7": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.196Z"
+ "updatedAt": "2025-12-10T11:52:24.791Z",
+ "postProcessHash": "3f264b8cb51024e33ba2ef04e23a6a92cd580fe64f211935e339f506f90a996f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.197Z"
+ "updatedAt": "2025-12-10T11:52:24.791Z",
+ "postProcessHash": "3f264b8cb51024e33ba2ef04e23a6a92cd580fe64f211935e339f506f90a996f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.209Z"
+ "updatedAt": "2025-12-10T11:52:24.829Z",
+ "postProcessHash": "3f264b8cb51024e33ba2ef04e23a6a92cd580fe64f211935e339f506f90a996f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.210Z"
+ "updatedAt": "2025-12-10T11:52:24.831Z",
+ "postProcessHash": "3f264b8cb51024e33ba2ef04e23a6a92cd580fe64f211935e339f506f90a996f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.211Z"
+ "updatedAt": "2025-12-10T11:52:24.832Z",
+ "postProcessHash": "3f264b8cb51024e33ba2ef04e23a6a92cd580fe64f211935e339f506f90a996f"
}
}
},
"dfa0a0850505c804055add62b7b100632feaaa7209faed9572384d91f67beaa0": {
"ab087523a16b089dc3bbcb3dd0a38274f8fc5afd96d712cb1196afd63750575f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.197Z"
+ "updatedAt": "2025-12-10T11:52:24.792Z",
+ "postProcessHash": "e529b37f6268f8e38e239585827a1acdc393d04623214fb3f0ee045da0cd3e32"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.199Z"
+ "updatedAt": "2025-12-10T11:52:24.794Z",
+ "postProcessHash": "d3192b9d8306528fba4c5f1952442b456e8050cad703f49db59bba97ffb6495c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.206Z"
+ "updatedAt": "2025-12-10T11:52:24.826Z",
+ "postProcessHash": "438c54c3216dbcc9df4a912d158cb1b00e5eb6cf00d57057600976375cecb481"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.211Z"
+ "updatedAt": "2025-12-10T11:52:24.833Z",
+ "postProcessHash": "1af1fe0346c15206487804c58492efd3088b7caa6ee0f6e3f29ea6b1dda7e45c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.218Z"
+ "updatedAt": "2025-12-10T11:52:24.851Z",
+ "postProcessHash": "93e12ac388fc9a9cc24c8ae7e8bbca1f690142d3fe2ab25956f8c669fbdfde4e"
}
}
},
"84939d46b7dad9a618475a769e101702ee05d9aa4924b7ebda56716aa014627f": {
"70f3b4f50d9c9b83c247b08f8627e2634f2811c3f1523137cd01ea0b06aac42d": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.186Z"
+ "updatedAt": "2025-12-10T11:52:24.797Z",
+ "postProcessHash": "a92ea53458b8f4feea06ace2975e3f40c2d67cc32e9f20433065fe2370c0f637"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.186Z"
+ "updatedAt": "2025-12-10T11:52:24.799Z",
+ "postProcessHash": "f510589b407b90d7da0e93a60ef3f789265cf335738813c8162bd763fa2fe34e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.188Z"
+ "updatedAt": "2025-12-10T11:52:24.810Z",
+ "postProcessHash": "7810b8f0617046ba1966e7c600209d5825794b13870fb0cdfcc5ece4510f5b3d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.189Z"
+ "updatedAt": "2025-12-10T11:52:24.810Z",
+ "postProcessHash": "f030874fa54e9362a918033e6bb94d4cf634306f3a539515dd0cc7c2a9b1c94a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.192Z"
+ "updatedAt": "2025-12-10T11:52:24.815Z",
+ "postProcessHash": "b9989559d3e511175aee62b2a8539775e0ca81e1d679ed286dc30f8e3597d2d6"
}
}
},
"438feb728e012dc5d7370ccb740eb0c2b9ea1b4036973dc533bc6388a9f8ff2b": {
"ba6246c3d4f50bd007fceb3f19293b2f2ea2bb1956d3ca0bd25ba3d427e8a50e": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.189Z"
+ "updatedAt": "2025-12-10T11:52:24.810Z",
+ "postProcessHash": "95438394359bb329101ebed438636df11557dea430ffe36b840c9118db8bb49e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.189Z"
+ "updatedAt": "2025-12-10T11:52:24.811Z",
+ "postProcessHash": "218e6c61a18b9bae1f3cf33f9007eb389b14d16a962dd72b5b58073c865f5fa2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.191Z"
+ "updatedAt": "2025-12-10T11:52:24.813Z",
+ "postProcessHash": "497c13b7f770115cf42d14a3533f1e4ce305f127779fd9064ae912b989ac69d8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.191Z"
+ "updatedAt": "2025-12-10T11:52:24.814Z",
+ "postProcessHash": "75e4a2fde13f2059a4a89d7a61d5e4953c16ecebb66ece74bf4e5384c25a693a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.193Z"
+ "updatedAt": "2025-12-10T11:52:24.816Z",
+ "postProcessHash": "3dfe06bd9e2899940abc5a61bc0798e6313d6dc470a7c28af07e28f6ab49c704"
}
}
},
"dd17e1de4698017e598dbc2d412c5c5a6dd5dff3fe09c4634276ea8bfd624b77": {
"c8c380c65ec5a6114ef86c2016d3f26e1ea42811cd5062fcca60357ceb0e31ba": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.198Z"
+ "updatedAt": "2025-12-10T11:52:24.793Z",
+ "postProcessHash": "7d0d1df5ec6417388878071e025a268d1e0a8c0c0ca99d795ed78e801b0d8465"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.198Z"
+ "updatedAt": "2025-12-10T11:52:24.793Z",
+ "postProcessHash": "c2879b66700edb11316da28f9a0ea55bccb2cc1274db8bbf52ac4c7a63c39394"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.204Z"
+ "updatedAt": "2025-12-10T11:52:24.822Z",
+ "postProcessHash": "c2879b66700edb11316da28f9a0ea55bccb2cc1274db8bbf52ac4c7a63c39394"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.206Z"
+ "updatedAt": "2025-12-10T11:52:24.825Z",
+ "postProcessHash": "a0991916e8484dadd72d2a17d8bab2df2e649269b5bbae82c7de809cecf4d788"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.211Z"
+ "updatedAt": "2025-12-10T11:52:24.832Z",
+ "postProcessHash": "b0ad9a1265ef58f429d665090a3838b504578c211db027ac2d2922f8bd8751a2"
}
}
},
"9868c76082b548723442b3156e219ace971c8df8e6eebf8beea4efbf40986da9": {
"dab27f4f8c5431d9c2971c545a63b901e7df83b64f5c6c1981ed649fe2cab007": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.199Z"
+ "updatedAt": "2025-12-10T11:52:24.794Z",
+ "postProcessHash": "a53d7263ea3163e5fa52b5245f73edcd41ca0823c3a30abad780c670c821a311"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.208Z"
+ "updatedAt": "2025-12-10T11:52:24.828Z",
+ "postProcessHash": "e7a63591988d06f35fd29ac72f9dccb839c475764e05ae9a99bcf1e952b1a576"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.212Z"
+ "updatedAt": "2025-12-10T11:52:24.833Z",
+ "postProcessHash": "02c33ee29080cbb808311d1f93ad7d5dbbd3c1ab0e87da497eaf2c4dcd0d9b5b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.215Z"
+ "updatedAt": "2025-12-10T11:52:24.838Z",
+ "postProcessHash": "c3f3b24c43c61a9ad87c6f90f955990452281217265f7b263f52d809b87ae7ca"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.215Z"
+ "updatedAt": "2025-12-10T11:52:24.840Z",
+ "postProcessHash": "baa83118b057779e8488647dd25713954e4aa12021b4eeb65bb1d61914314625"
}
}
},
"38247262aedaacd9869a9b80bea7524de645ba82b7d68467c61182fa49ef097c": {
"5a574d8f39d26a1da8619aa0e9d68ca1fe190398b75f67313a08e3ec676189e2": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.201Z"
+ "updatedAt": "2025-12-10T11:52:24.817Z",
+ "postProcessHash": "a6498fa74735bda439bd0a55bf0500beefcc9652ef4ab4033cc2086249790af1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.201Z"
+ "updatedAt": "2025-12-10T11:52:24.817Z",
+ "postProcessHash": "56d320cf16f21716b285f2df68472b2cd26633dc915d7d1437f8ef98574fc7d5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.203Z"
+ "updatedAt": "2025-12-10T11:52:24.819Z",
+ "postProcessHash": "56d320cf16f21716b285f2df68472b2cd26633dc915d7d1437f8ef98574fc7d5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.213Z"
+ "updatedAt": "2025-12-10T11:52:24.834Z",
+ "postProcessHash": "56d320cf16f21716b285f2df68472b2cd26633dc915d7d1437f8ef98574fc7d5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.213Z"
+ "updatedAt": "2025-12-10T11:52:24.835Z",
+ "postProcessHash": "56d320cf16f21716b285f2df68472b2cd26633dc915d7d1437f8ef98574fc7d5"
}
}
},
"1ce323d16c88c802a5f52e4e8cbebb12fc15ffb8b822b0a378524ca1d4533732": {
"2b4c9156a1ea7dcd8bdae65590a1301bd8ad1ba58e43aaac7ae575dfdea630e1": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.202Z"
+ "updatedAt": "2025-12-10T11:52:24.818Z",
+ "postProcessHash": "39f55daec1ed145e39c8d6e50ac0ebff78d051aeaeb04f0baac11ef341953809"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.212Z"
+ "updatedAt": "2025-12-10T11:52:24.834Z",
+ "postProcessHash": "78ff55b554d5ba1e48cc070ad674c918905f06fde2a32cbd1eda9e2ed27850a4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.216Z"
+ "updatedAt": "2025-12-10T11:52:24.840Z",
+ "postProcessHash": "6dffd72bec314d9ef1d70eb7fcbabcefff6423b8fefe682ed011582f3162c8e5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.216Z"
+ "updatedAt": "2025-12-10T11:52:24.841Z",
+ "postProcessHash": "7e8b29a37d821492b716947ffcf31d3bf49778d7c17b811425e89cec8156033c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.216Z"
+ "updatedAt": "2025-12-10T11:52:24.841Z",
+ "postProcessHash": "e227a10b3825098ffda87b690b3677389e68551c7e331415903c8424a9a159a9"
}
}
},
"0231f6391842d3cbd490344aadd21e74dcbf0d7b2188bb665a03406a69700a38": {
"562e8402c73a65c856f699c249145d3a87b7be7322577bb44b838e96488efcac": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.202Z"
+ "updatedAt": "2025-12-10T11:52:24.818Z",
+ "postProcessHash": "bbe7ca200980058d7cc1ef6be9e022f38928ace6684ccf8a130c7e86c291d50f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.204Z"
+ "updatedAt": "2025-12-10T11:52:24.821Z",
+ "postProcessHash": "76923638529b4a20e4ee76f04ed646a6a20abe460a7e130480715b39b8044979"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.214Z"
+ "updatedAt": "2025-12-10T11:52:24.836Z",
+ "postProcessHash": "b5a17fe2b6453a7f796abc7a375e4dcdcaac78f57efc5f0babe86abe4926d7c9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.214Z"
+ "updatedAt": "2025-12-10T11:52:24.837Z",
+ "postProcessHash": "3ed897a65f139e340434eea44bd3fcd34399bebe30e6cffe9e263064d2fb5f42"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.217Z"
+ "updatedAt": "2025-12-10T11:52:24.848Z",
+ "postProcessHash": "88181b3366cc4a4a2c86ee6369c3f0072b8fce28a2bc87ccf504c28c85993c37"
}
}
},
"3624a0d1e1f3600092fced5e6804884f04deb9eac0650c30fe430353016c109d": {
"9c44e5c13862262e470cc8b65c1acb45f3ebb93344b40a5ac56b6bad5c4fa2dd": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.203Z"
+ "updatedAt": "2025-12-10T11:52:24.819Z",
+ "postProcessHash": "766749f9b4d0424806b9af8dc98847703e1f01497a94f39517db4add424f6505"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.204Z"
+ "updatedAt": "2025-12-10T11:52:24.820Z",
+ "postProcessHash": "c9439d4dac15c48cfb2f4bf16146b45909ebe46b10e05abe8bebd9431e5248cc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.221Z"
+ "updatedAt": "2025-12-10T11:52:24.838Z",
+ "postProcessHash": "8c1fb267bc7c4dccd0ee82ee5e170af3132d36114e6ba6740f4b47c6c5b73c84"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.217Z"
+ "updatedAt": "2025-12-10T11:52:24.845Z",
+ "postProcessHash": "bdb6a9edc4c40d7d4db1935c78eb05fb6c8167cec77e857575a3a717fb6dda7b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.224Z"
+ "updatedAt": "2025-12-10T11:52:24.844Z",
+ "postProcessHash": "f6e63b157d008613c2861c63100237745d3e2323e97e543fde09f55ab6bf704c"
}
}
},
"890c2fd2b966871565a5b110679ddc5de243982b3d003011a6504535657a811b": {
"cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.218Z"
+ "updatedAt": "2025-12-10T11:52:24.819Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.219Z"
+ "updatedAt": "2025-12-10T11:52:24.821Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.220Z"
+ "updatedAt": "2025-12-10T11:52:24.836Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.224Z"
+ "updatedAt": "2025-12-10T11:52:24.844Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.226Z"
+ "updatedAt": "2025-12-10T11:52:24.847Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
}
}
},
"51f62c3c044d5ea80c70aa38aa32e167e98fe319af942b26c3485fe73ed5e2a2": {
"316289e02d4b472e6009d76c1fa52fcaded90ae0e37916623b854da5fb593866": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.219Z"
+ "updatedAt": "2025-12-10T11:52:24.820Z",
+ "postProcessHash": "85942edfd19d23d185fff3c95c14f2cadecf8887b3d123024081420f40771229"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.220Z"
+ "updatedAt": "2025-12-10T11:52:24.837Z",
+ "postProcessHash": "80eeca09e2663635bae9c32d476b40905f256c726cd28e4ad74932eb7ede5ce8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.221Z"
+ "updatedAt": "2025-12-10T11:52:24.841Z",
+ "postProcessHash": "fb248a57634871c9a7de1962acfaa05f366893c5c420a5109f709f9a762eaeeb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.225Z"
+ "updatedAt": "2025-12-10T11:52:24.845Z",
+ "postProcessHash": "085ab932e120901f27aa52bb30be43c861e9eb0b1628ec3588744ea818bc0135"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.226Z"
+ "updatedAt": "2025-12-10T11:52:24.847Z",
+ "postProcessHash": "318cfb9beb7b1144a7a2146017e581844c9c4d82c0f81110972fc7ae953d7650"
}
}
},
"673f825800962d358bdd72ee8b4246f19f1d470b3a18da36188edcaf5692f5aa": {
"559c6f698a5c9f980a80b2ef2b96946f4d9636414529b460f720a8c94489fa98": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.219Z"
+ "updatedAt": "2025-12-10T11:52:24.821Z",
+ "postProcessHash": "13b049a1ad2f654889bcb5a8b6e910b6854260562d44f5b5279284dfb332051d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.225Z"
+ "updatedAt": "2025-12-10T11:52:24.846Z",
+ "postProcessHash": "ef26ddb9eeeafb6ed996d569e50b872353693ed991306335ff19e86c0bca54a4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.225Z"
+ "updatedAt": "2025-12-10T11:52:24.846Z",
+ "postProcessHash": "d9a05f34035ccdd2f20ce787399be3a3a056aa27f971471d30bfb4b3038c18a8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.227Z"
+ "updatedAt": "2025-12-10T11:52:24.849Z",
+ "postProcessHash": "a10c7229c47e302baaa0f6a0f66a9ef9c41f6b4343375cf5986ec7e8d9d7daa6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.307Z"
+ "updatedAt": "2025-12-10T11:52:24.866Z",
+ "postProcessHash": "dcc6ece42c3b84924f1d6a64e99605431b336fc56713cfdbb423affaa0423dc7"
}
}
},
"00e2588aa7aff5a198c9c6d0212e9d052722d14b31e002f832533d3c8d5f76e6": {
"697fdbb6ca5493daf29f39d6d64f3d01ce34a919a4ec53907853fd1f944e95d8": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.220Z"
+ "updatedAt": "2025-12-10T11:52:24.822Z",
+ "postProcessHash": "9690bf600aacd190aa41a4d0c841753325a5e2e8093a576ee45085bb39aaf488"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.227Z"
+ "updatedAt": "2025-12-10T11:52:24.849Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.227Z"
+ "updatedAt": "2025-12-10T11:52:24.850Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.227Z"
+ "updatedAt": "2025-12-10T11:52:24.850Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.233Z"
+ "updatedAt": "2025-12-10T11:52:24.856Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
}
}
},
"9e02f8cc88bddf0e9af402631310d24f882052fdd9fb86aa897a4bb8b1fe2048": {
"52949bc521da8c0eef32ee8d6bc615eecf8794490c49e782c55943a2592c3330": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.207Z"
+ "updatedAt": "2025-12-10T11:52:24.827Z",
+ "postProcessHash": "189b5270c2dedb47718ebfccf100519e61a88707b030d2e8725e1304d7893e15"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.207Z"
+ "updatedAt": "2025-12-10T11:52:24.827Z",
+ "postProcessHash": "d2a3873099dd0b890e2f0f6c2cd47d6e011da4806af8c4596d66948348e8d40c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.209Z"
+ "updatedAt": "2025-12-10T11:52:24.829Z",
+ "postProcessHash": "c1eaea3dccb50ba463c599799cfa737f533791b9369cb7fc89e6b2d6aaef59a2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.213Z"
+ "updatedAt": "2025-12-10T11:52:24.835Z",
+ "postProcessHash": "24244cb38571b6586354866a9f6e851e0ba7ee059fb20d7cdfc1aa1c87a97063"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.215Z"
+ "updatedAt": "2025-12-10T11:52:24.839Z",
+ "postProcessHash": "efea4b815bdf0682f6df3e834a2ff6416fcecca7cf6645e19019f62a3c393820"
}
}
},
"84b3556b8ae254d2d712b1b57c5b4daaf7fe4f65321b601df9e1bac44a28d8d9": {
"78a9ba62558ba8de2cbf558596fffce31668601d47ed816cd2124382762bff3c": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.208Z"
+ "updatedAt": "2025-12-10T11:52:24.828Z",
+ "postProcessHash": "c7108409696dac1b105e235ea81153620b286db70cf1a380ea05fc7b6709a09e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.210Z"
+ "updatedAt": "2025-12-10T11:52:24.830Z",
+ "postProcessHash": "45233978cec4560c2c8022c09e5fef817d73d793548f661016e7905928f03bbd"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.210Z"
+ "updatedAt": "2025-12-10T11:52:24.830Z",
+ "postProcessHash": "d80ce0fb28e1eefe36b9e711519622fb0affdcc15bf65c87e47c45523d8a7651"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.212Z"
+ "updatedAt": "2025-12-10T11:52:24.834Z",
+ "postProcessHash": "d1f61d11224005d6aee683a6497c9680c3d723577cdfa3375cc4fc973f45aec4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.215Z"
+ "updatedAt": "2025-12-10T11:52:24.839Z",
+ "postProcessHash": "8766370237fd673a345fd02203ef90627b730c439348aa9884ae697dfc24d74a"
}
}
},
"977d259d5f5e9b0464ac2dc05df8f23bf0e7b6a8f16b0961642a4b93b0e17b48": {
"6f9d8e7adca9a49c030bf55cc2821c7d5a5fff3559afc66ad2eb354d8c1289c1": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.221Z"
+ "updatedAt": "2025-12-10T11:52:24.842Z",
+ "postProcessHash": "4a4431bc11081781b78118a12b11481b5b09ac95b7616e2031d8d6f9c891ec3f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.233Z"
+ "updatedAt": "2025-12-10T11:52:24.856Z",
+ "postProcessHash": "a1f96fcd4eee3e0556cefc8752ae92f88be6297ae1d1a324ad2b10eb7e434961"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.296Z"
+ "updatedAt": "2025-12-10T11:52:24.860Z",
+ "postProcessHash": "0e392a5a7c25b0910a81416e8b0f7ba8b8163952d2a110c95825c401130a2e19"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.297Z"
+ "updatedAt": "2025-12-10T11:52:24.860Z",
+ "postProcessHash": "f8f206c3786b7fe6e08e7aac8024c925ca4aea9b2f255a7565249db4c99dcddf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.302Z"
+ "updatedAt": "2025-12-10T11:52:24.861Z",
+ "postProcessHash": "a399767c04edb7fbbaa0488b2f8c073b9023f3b7f3869918187d8edfba7fce71"
}
}
},
"6d47de3ee77207e5164d4b3dc134e2b1a0e119901fe4ef5ba570b60c3994d9a3": {
"a000351021f6ce9c18cbd5744b160747577d5b550fd4340cc92d5c3b29cbcd2b": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.222Z"
+ "updatedAt": "2025-12-10T11:52:24.842Z",
+ "postProcessHash": "d5276aeda0bf16a1e2c31c7393f425d41f26eca9763c1c121ebb221cecce2723"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.233Z"
+ "updatedAt": "2025-12-10T11:52:24.855Z",
+ "postProcessHash": "d5276aeda0bf16a1e2c31c7393f425d41f26eca9763c1c121ebb221cecce2723"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.234Z"
+ "updatedAt": "2025-12-10T11:52:24.857Z",
+ "postProcessHash": "d5276aeda0bf16a1e2c31c7393f425d41f26eca9763c1c121ebb221cecce2723"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.259Z"
+ "updatedAt": "2025-12-10T11:52:24.857Z",
+ "postProcessHash": "d5276aeda0bf16a1e2c31c7393f425d41f26eca9763c1c121ebb221cecce2723"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.273Z"
+ "updatedAt": "2025-12-10T11:52:24.860Z",
+ "postProcessHash": "d5276aeda0bf16a1e2c31c7393f425d41f26eca9763c1c121ebb221cecce2723"
}
}
},
"1d0ee333b9d6af2fa21dc6cdbb0f051751ccd0f15411daaf21cf2a8684987b2e": {
"cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.222Z"
+ "updatedAt": "2025-12-10T11:52:24.843Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.222Z"
+ "updatedAt": "2025-12-10T11:52:24.843Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.261Z"
+ "updatedAt": "2025-12-10T11:52:24.858Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.270Z"
+ "updatedAt": "2025-12-10T11:52:24.859Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.274Z"
+ "updatedAt": "2025-12-10T11:52:24.860Z",
+ "postProcessHash": "cbde2d24e79c82d13c76ae4a488857ef561a65372fd5e0c7eb65f73c72250ce4"
}
}
},
"57321ae748c10ba832326c97e0f400a4fa2e2ecd3d721353c3ff14d824c09846": {
"78ae296442833c5a4eb89fae549d44087d14db670c303b55ea8449dd62ee469c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.223Z"
+ "updatedAt": "2025-12-10T11:52:24.843Z",
+ "postProcessHash": "213512899e4b4062cf6bb535b0a285fed11e9a54419f4e8aadfb37ff592ff5e1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.223Z"
+ "updatedAt": "2025-12-10T11:52:24.851Z",
+ "postProcessHash": "abc7df3824f93a16529c925f8d4b23fdb49f5b928e152b7502750c0f7106a986"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.304Z"
+ "updatedAt": "2025-12-10T11:52:24.862Z",
+ "postProcessHash": "0aeb6612fd7a35367df642f6eb7a707f4308211d7352867996c89d8e4b4a9b80"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.305Z"
+ "updatedAt": "2025-12-10T11:52:24.862Z",
+ "postProcessHash": "b3c4ee4859754e199581d9151d2aa6f7ff1828c575b6c3acc20bd8ac25c6f48f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.305Z"
+ "updatedAt": "2025-12-10T11:52:24.863Z",
+ "postProcessHash": "e306ad3a47c84d47d3e134bb52e1b863695dd30bc116ee3fc129fe0d5635f0ae"
}
}
},
"1414abc31d9e3b97d7a1f40481ad121a0168bdb311c0331833e0db34b3564741": {
"f325989282a059bf651e3300189ee45fafa6b43ae4f35135725825f674d0737f": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.223Z"
+ "updatedAt": "2025-12-10T11:52:24.852Z",
+ "postProcessHash": "5aba386092e266ed6e51ebfa584c3a0e328fee470b2ad5c68880af72d90623c3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.224Z"
+ "updatedAt": "2025-12-10T11:52:24.852Z",
+ "postProcessHash": "0051e479f1ea9d178c73283645e68d7c55b0ee03d48462a99563aa970b09a3ce"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.306Z"
+ "updatedAt": "2025-12-10T11:52:24.865Z",
+ "postProcessHash": "432460c3bd59251ef1c4a6d935b2f55e6a52ef18cd4e14086427ace47bfd795b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.306Z"
+ "updatedAt": "2025-12-10T11:52:24.865Z",
+ "postProcessHash": "7e790d9edd7de7b0186aa22d97c097b11e83c99168fb72208680c4a5fbeb6e6d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.309Z"
+ "updatedAt": "2025-12-10T11:52:24.893Z",
+ "postProcessHash": "b1788885859e019b71e1fc5f55037cb2ce0b0e34c5a0270ae887091a0ae99908"
}
}
},
"d057c85f5d0d125509e451ecca8f843f31ec34bc7ced269a7809445aa62d51b9": {
"5bbfecdfadd3b03a14997dcf625617c6a86e87987419983bea077e49e91fbe65": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.226Z"
+ "updatedAt": "2025-12-10T11:52:24.848Z",
+ "postProcessHash": "c79d2fe861c6a5e3b59ce699cab6235629228b9f7e94d39c8876a4f1293ab639"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.226Z"
+ "updatedAt": "2025-12-10T11:52:24.848Z",
+ "postProcessHash": "b73169abb4fdd2e83fba44c0115a7d106989a81e6b9e7b78f500816618132d42"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.228Z"
+ "updatedAt": "2025-12-10T11:52:24.854Z",
+ "postProcessHash": "935bd8c46997beeb7fbd77b049fe7461795a5adbd2889a3be65029cade6ee2a2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.228Z"
+ "updatedAt": "2025-12-10T11:52:24.855Z",
+ "postProcessHash": "3a151e9b32c102a08353d176b37787b6d038dc2b6394e73af086bb8c71935d40"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.228Z"
+ "updatedAt": "2025-12-10T11:52:24.855Z",
+ "postProcessHash": "02c4a6efaf8f79e863a6ac8ca49b39723f1da12ebdee6af5a313fabfcb3f5990"
}
}
},
"662ff3bb9d30ce9ba52fddd9fa856f1b8106ebfd00971f991a1784bcc86e6a64": {
"b15ea99f92b2ede411cdf715df6cb93e60e91d9ece2f19fc3bc9a8872600c49c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.309Z"
+ "updatedAt": "2025-12-10T11:52:24.852Z",
+ "postProcessHash": "76693d3063165c422125905b7a984d3e1cfe91e2455c214f32a6224ae1e55660"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.305Z"
+ "updatedAt": "2025-12-10T11:52:24.863Z",
+ "postProcessHash": "aeab68d5a6cdcb26257c61fad75c6072e23d54b023febffd44c70f16df2f6ef6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.307Z"
+ "updatedAt": "2025-12-10T11:52:24.866Z",
+ "postProcessHash": "90c61d8d5f6882794134f3a5e4051ee836b7dcae044d5c9f706c08c0857afacc"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.313Z"
+ "updatedAt": "2025-12-10T11:52:24.871Z",
+ "postProcessHash": "2456ba98845a3b07b5dffd56f7f5ee05f67c726d6944b08164c865a1967b2949"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.317Z"
+ "updatedAt": "2025-12-10T11:52:24.878Z",
+ "postProcessHash": "d49e7be90e73546a072e6903c5518810e02c890c51ec6ad106c4c9f40504d348"
}
}
},
"f1b8c9831ecfb489b8dd0dae5188c6f4e18dcab6d2af4206cceab3d62eeb5f48": {
"b0fb95bad7ef3283bc419bf80bb9514d703edcfce177835500d7ca9c8b91707a": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.309Z"
+ "updatedAt": "2025-12-10T11:52:24.853Z",
+ "postProcessHash": "06b438c3420a063f6ccbc7058418e6aecd6fafb49592e55c73eb64cff7c020f8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.311Z"
+ "updatedAt": "2025-12-10T11:52:24.864Z",
+ "postProcessHash": "06b438c3420a063f6ccbc7058418e6aecd6fafb49592e55c73eb64cff7c020f8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.311Z"
+ "updatedAt": "2025-12-10T11:52:24.868Z",
+ "postProcessHash": "b7dd005b6949f58d446e87dba5a2c3b5a8325250c8999e2872314024228da01f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.312Z"
+ "updatedAt": "2025-12-10T11:52:24.869Z",
+ "postProcessHash": "6795ecc3c8b330467cbe301e1eca1e8a12b35e091ef89e8102e4828c3e4d2041"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.315Z"
+ "updatedAt": "2025-12-10T11:52:24.874Z",
+ "postProcessHash": "67a0ca9b1bf60d45158494788cc5fc985461d8d95e1a73b6ee518a58ff638ee1"
}
}
},
"28e8e3d1c9883f5c84c857860f861690a2053464ecf2788aa859b3d023de0334": {
"b8e979786fc78892647bd55332b1f36a7bd2a683a2948276b533a346e2bad805": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.309Z"
+ "updatedAt": "2025-12-10T11:52:24.853Z",
+ "postProcessHash": "7e703e518f179a2439803b87049cbcf8aab11deab35d72d1a135514df661d7a8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.310Z"
+ "updatedAt": "2025-12-10T11:52:24.854Z",
+ "postProcessHash": "7e703e518f179a2439803b87049cbcf8aab11deab35d72d1a135514df661d7a8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.314Z"
+ "updatedAt": "2025-12-10T11:52:24.872Z",
+ "postProcessHash": "7e703e518f179a2439803b87049cbcf8aab11deab35d72d1a135514df661d7a8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.317Z"
+ "updatedAt": "2025-12-10T11:52:24.879Z",
+ "postProcessHash": "7e703e518f179a2439803b87049cbcf8aab11deab35d72d1a135514df661d7a8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.319Z"
+ "updatedAt": "2025-12-10T11:52:24.880Z",
+ "postProcessHash": "7e703e518f179a2439803b87049cbcf8aab11deab35d72d1a135514df661d7a8"
}
}
},
"0610730f2c11267a85d75aae1b22f4118f3ad0f9403421aa4178536979344519": {
"e88b1093db76b74722e1020bd3fb2b912e7fa4e9f53f27b8ed65eb3f5f84c7cc": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.272Z"
+ "updatedAt": "2025-12-10T11:52:24.859Z",
+ "postProcessHash": "20a6285aaf389d55b4555f1020039008cc6514160e02be0407df20961e31ceb4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.273Z"
+ "updatedAt": "2025-12-10T11:52:24.859Z",
+ "postProcessHash": "3623071a480396d20da886cde89d0e2c7a7932c58a1f07693df1e329dcb8bb3d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.304Z"
+ "updatedAt": "2025-12-10T11:52:24.861Z",
+ "postProcessHash": "471613c35f495c0039414c82aeeb6d08f1a6870f983b90e998de645f5105f77b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.304Z"
+ "updatedAt": "2025-12-10T11:52:24.862Z",
+ "postProcessHash": "3dd417a0c8fd2499cf57c537aaee25ea78a5aac592977149b06c6886a556d683"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.306Z"
+ "updatedAt": "2025-12-10T11:52:24.866Z",
+ "postProcessHash": "8e6db977abe8114f3e00d4094336fbd0c0920fbaf420bb146083a0c73ca78d97"
}
}
},
"ce76a396ab9d2ae2b18e13dd11e45e163422b93dd404bb2ac5385e14ae1aa383": {
"29eb19aa9bd3ae0bf03bb8d65e0fd512641883fc193d0faebdea83ce33df40ac": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.306Z"
+ "updatedAt": "2025-12-10T11:52:24.864Z",
+ "postProcessHash": "d2e5be2e5c083db1d08fe077f9dcdce80ec48b870bf4ac5496071f9ab7268ef4"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.307Z"
+ "updatedAt": "2025-12-10T11:52:24.867Z",
+ "postProcessHash": "630db1b9cf846160aecdd186f1cfd37b68501f479bb8c7c25f4b09bd4b4bb790"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.308Z"
+ "updatedAt": "2025-12-10T11:52:24.867Z",
+ "postProcessHash": "adddc61f4c448ef834f83bb262d4a4abea6008acbdfff3ae0e7cb19964c9ef03"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.308Z"
+ "updatedAt": "2025-12-10T11:52:24.873Z",
+ "postProcessHash": "ed16aa26585f04a86564bf47ad94927e414ddc30c6929508ea1a6328eb0dd57b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.308Z"
+ "updatedAt": "2025-12-10T11:52:24.874Z",
+ "postProcessHash": "b025f53bb896993957cc8e2fd0f9cc7719a21d5b5203d4f363b6f49e1e0bee95"
}
}
},
"27ea1c34cee48c963747a629058d83287a771451bafffaa28c88827baa718e4e": {
"697fdbb6ca5493daf29f39d6d64f3d01ce34a919a4ec53907853fd1f944e95d8": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.311Z"
+ "updatedAt": "2025-12-10T11:52:24.868Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.311Z"
+ "updatedAt": "2025-12-10T11:52:24.868Z",
+ "postProcessHash": "9690bf600aacd190aa41a4d0c841753325a5e2e8093a576ee45085bb39aaf488"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.312Z"
+ "updatedAt": "2025-12-10T11:52:24.870Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.313Z"
+ "updatedAt": "2025-12-10T11:52:24.871Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.315Z"
+ "updatedAt": "2025-12-10T11:52:24.873Z",
+ "postProcessHash": "ec45928304fa06c8a503e9106ea3e815aa4d32ddf960554cd53258626f1c2122"
}
}
},
"9bab1ce03789f1d096f7686d8ad16635ca1be75f7054f517b8354b2fcb7a37a3": {
"5ccb6fdb339dda29aca180f43333f1d662178580b1f4626c650d44079876e6b7": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.312Z"
+ "updatedAt": "2025-12-10T11:52:24.869Z",
+ "postProcessHash": "9bc161680a91081272e41c467eeab1b5b48e57b562855b45b2fe6e713e74a875"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.313Z"
+ "updatedAt": "2025-12-10T11:52:24.870Z",
+ "postProcessHash": "19a38a5f191056c60dfb48677151abc43344f1a3a82e0df9ce5ef8ed967bdc4a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.314Z"
+ "updatedAt": "2025-12-10T11:52:24.872Z",
+ "postProcessHash": "ebea0f0c3413c4d50dbddfb7331169746d90995d5dc1f1eb6a44195b09be724e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.314Z"
+ "updatedAt": "2025-12-10T11:52:24.872Z",
+ "postProcessHash": "afbf758fec1e5ab3c80ba028e1474e0307bff34d72df7ea4e11e68289b407907"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.322Z"
+ "updatedAt": "2025-12-10T11:52:24.886Z",
+ "postProcessHash": "76d2e18b9936691129087dd10f1a7889838bab79fecb0bf5ee8691227d26f41b"
}
}
},
"4aed8b7df1830952626fffcbe068753969b5fcdc07a38d605d2c9be65ee528e6": {
"d68e793acdce69afc463aa24ed037da9f6b5f25956f0da545a370155bd0bc565": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.333Z"
+ "updatedAt": "2025-12-10T11:52:24.858Z",
+ "postProcessHash": "21176688a93c5420f0b62aa4beaf024644a1982295f5d0cc814c2907ebac9278"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.335Z"
+ "updatedAt": "2025-12-10T11:52:24.882Z",
+ "postProcessHash": "26e518af8c5e0f1026a5260d6e3d56b502f9590d16c57bbc23b71842d2bbaf15"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.336Z"
+ "updatedAt": "2025-12-10T11:52:24.884Z",
+ "postProcessHash": "837d898857f60724216f9b2e4a347e5a40d5edd1c7c0791e8453d388fd0c0ebf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.337Z"
+ "updatedAt": "2025-12-10T11:52:24.906Z",
+ "postProcessHash": "34cd9de636aa96206a124616dd31c8659128f744bfa4d444a0929b2083b70ef1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.338Z"
+ "updatedAt": "2025-12-10T11:52:24.907Z",
+ "postProcessHash": "1099a56c01569938ccc47dd9baff0c3521e4f016dfe6393e73a75e71b7de44e2"
}
}
},
"59a2b4c8a7921dd267ba927616aa20cb576e02b21b5ec67312106a6a3be866d4": {
"b8b9730834f6535f10042a846e37a427f1f2631e13a52f4d68b4977d19c5b8a1": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.334Z"
+ "updatedAt": "2025-12-10T11:52:24.858Z",
+ "postProcessHash": "2dfcc9d101b78af7d3a22696b8383ac34acb2930937d920e8d59a1577146058a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.341Z"
+ "updatedAt": "2025-12-10T11:52:24.916Z",
+ "postProcessHash": "484d30f01e61dc96b81ea44d19847f434a2ae29e486fc87266393e7ee813d687"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.348Z"
+ "updatedAt": "2025-12-10T11:52:24.928Z",
+ "postProcessHash": "8f41824b6c1067cb8846ee76e9d3af419e0af32e41b8eaa87a39344684eb0979"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.349Z"
+ "updatedAt": "2025-12-10T11:52:24.928Z",
+ "postProcessHash": "570101d54a090f395b63bd9773da1dd7e985966e2550dfdc231884d83e3e7eed"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.349Z"
+ "updatedAt": "2025-12-10T11:52:24.928Z",
+ "postProcessHash": "07230ebe7619fb697cb67e1665e5bdb931096cb2f547db64bf0e3f7a3241697d"
}
}
},
"9011b0333d61a324f58784baccda5362d70e6144f18143e635ec1ddd356fc213": {
"4ceec1ba2143b579631766c36af7ba039069dcda984a3d3f768a7c09f99a589a": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.313Z"
+ "updatedAt": "2025-12-10T11:52:24.870Z",
+ "postProcessHash": "afe4e8f84f4b7caf010baef6f9b885bcf14d078fb0ce5352827cb2a682020326"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.315Z"
+ "updatedAt": "2025-12-10T11:52:24.875Z",
+ "postProcessHash": "c33c591a2a87cc4d5aaa776fd28fbe07d475e4b2891a1e74155737e9e0dad71f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.318Z"
+ "updatedAt": "2025-12-10T11:52:24.879Z",
+ "postProcessHash": "f608d33ae8e43963ad3f3bba6f2541990829bde839c675e427444f4e7fa9cb60"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.322Z"
+ "updatedAt": "2025-12-10T11:52:24.886Z",
+ "postProcessHash": "ae78723c61576db670c5e3fc7497c30b7de7f85f6fa43d0e7e60cf60e3faee4d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.332Z"
+ "updatedAt": "2025-12-10T11:52:24.893Z",
+ "postProcessHash": "ae78723c61576db670c5e3fc7497c30b7de7f85f6fa43d0e7e60cf60e3faee4d"
}
}
},
"84576544f2098236f434ead7ebd3b6607654c79c1fc7f2e1841b864c80f4191f": {
"4272dca70ea48ab3ac0ccee14632b40ad8c932d4413496a2d1e1b4f36f42123f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.316Z"
+ "updatedAt": "2025-12-10T11:52:24.875Z",
+ "postProcessHash": "62af3ff6adf449d82b3863f1473f8318dd4150f3d29cce1620e759fb7a0539f2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.322Z"
+ "updatedAt": "2025-12-10T11:52:24.886Z",
+ "postProcessHash": "62af3ff6adf449d82b3863f1473f8318dd4150f3d29cce1620e759fb7a0539f2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.323Z"
+ "updatedAt": "2025-12-10T11:52:24.887Z",
+ "postProcessHash": "62af3ff6adf449d82b3863f1473f8318dd4150f3d29cce1620e759fb7a0539f2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.323Z"
+ "updatedAt": "2025-12-10T11:52:24.887Z",
+ "postProcessHash": "62af3ff6adf449d82b3863f1473f8318dd4150f3d29cce1620e759fb7a0539f2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.324Z"
+ "updatedAt": "2025-12-10T11:52:24.888Z",
+ "postProcessHash": "62af3ff6adf449d82b3863f1473f8318dd4150f3d29cce1620e759fb7a0539f2"
}
}
},
"ffff06b74198d7fed9457e82a1e2f492d6f1c689655b2ff0d38a9c65e3f34888": {
"245c1a0cb887a3287fb143cdb213a796d35e3d0d8880375cc5ecaf00bcdf308b": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.316Z"
+ "updatedAt": "2025-12-10T11:52:24.876Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.324Z"
+ "updatedAt": "2025-12-10T11:52:24.889Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.324Z"
+ "updatedAt": "2025-12-10T11:52:24.889Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.325Z"
+ "updatedAt": "2025-12-10T11:52:24.890Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.326Z"
+ "updatedAt": "2025-12-10T11:52:24.891Z",
+ "postProcessHash": "4f917373d2656f705787b3e182c6d089dd3d98c3cb4094f3f187272fa4a4a41c"
}
}
},
"ec93bea15ab4e96687d879966e03118ca8b41d138693db1fd713f5fd9a888db3": {
"4479f1bb862cc0eb28536399360438c16e57689234c8672f03e7f4073acee176": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.334Z"
+ "updatedAt": "2025-12-10T11:52:24.876Z",
+ "postProcessHash": "d57a639438596af794bd5ba50a132608bd58fbc710617496857a2c27fff4c34a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.334Z"
+ "updatedAt": "2025-12-10T11:52:24.877Z",
+ "postProcessHash": "d529ba7d7a2cf2392806d6d7a90a4437c6c2e556dfc5a3bfae46db66b78f7e9d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.336Z"
+ "updatedAt": "2025-12-10T11:52:24.885Z",
+ "postProcessHash": "c9d097b025868d94adf4a3179ed0aa97248c2580e204db6dcb325a727839c7a3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.337Z"
+ "updatedAt": "2025-12-10T11:52:24.885Z",
+ "postProcessHash": "26a0eec30f297b4db2ac536caa7b3dd401cf13237900462a1dfff4258c80c23b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.338Z"
+ "updatedAt": "2025-12-10T11:52:24.907Z",
+ "postProcessHash": "d38fb8b193c4c72305fda123c0487cfbcbd1e09c69644a0ea05fb834415018a6"
}
}
},
"ca06ced4cd6376a766d535bf03cdaa639ef344c3f9b9b8d92daf2a3b5c01e2d0": {
"ee396c6444ab1bc257d9bf93c0740a0746521c309e459cce054141f731897704": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.334Z"
+ "updatedAt": "2025-12-10T11:52:24.877Z",
+ "postProcessHash": "c8b73f02afbf5025eec43f008d3944d7431cb3d5a589c26dc3c25dbc852de7e4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.340Z"
+ "updatedAt": "2025-12-10T11:52:24.915Z",
+ "postProcessHash": "96e326bf85f1162524d4d943f1673fd535e748d5e07af2112a6a2b8600904202"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.341Z"
+ "updatedAt": "2025-12-10T11:52:24.917Z",
+ "postProcessHash": "ffe8f7902c21a77fb652ee8e72c7955ab37c6dbfb83f9f51580c8c0d8dc118e2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.345Z"
+ "updatedAt": "2025-12-10T11:52:24.921Z",
+ "postProcessHash": "1f04db637434a0edebfbb4acc241be162cc7a0e87967aade8ab64ad0711556d3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.345Z"
+ "updatedAt": "2025-12-10T11:52:24.922Z",
+ "postProcessHash": "27dd082abe29e7b28af55bb8d2aaa60e354a893861688a3f452c72bddc8be3c6"
}
}
},
"65c02a1a5ea1400f9abba2cbc612b847fff05af02565bf087b58a1f56c469119": {
"5b1f9e14cae6cb5ea383b2df304915cf51bbb4912c0ef876391b03eed3ed3cbf": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.335Z"
+ "updatedAt": "2025-12-10T11:52:24.877Z",
+ "postProcessHash": "40b5d438173fb5a75d3de30a2c9b751e65797b9e94c30a9d89b7d7e32a39c495"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.335Z"
+ "updatedAt": "2025-12-10T11:52:24.878Z",
+ "postProcessHash": "7bd91f1edaf70752867aae8c73e4973c4369d9af880cedb7a822abefc659a728"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.338Z"
+ "updatedAt": "2025-12-10T11:52:24.908Z",
+ "postProcessHash": "8a61d17738d90e122dc418b7b820b806590cca10c0ef26ff31a8e157200079b0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.339Z"
+ "updatedAt": "2025-12-10T11:52:24.908Z",
+ "postProcessHash": "de5160baa44294e6228ee379fa7ef4fdb3f31792a76036d37dd1e823bdb4eb1b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.349Z"
+ "updatedAt": "2025-12-10T11:52:24.929Z",
+ "postProcessHash": "494d6d0901d94614a12598f12934879ad5beb98af56a2aeb8c1c2873bce5b5be"
}
}
},
"c3c84fb7e71c2dc321e8df06e7d9c60c15cdafa592fdc26bf0dca6538cc8fd5c": {
"dca835b35c72bc153e918336c184ed82234fc2324782570fd62464ae0b8206e6": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.319Z"
+ "updatedAt": "2025-12-10T11:52:24.880Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.320Z"
+ "updatedAt": "2025-12-10T11:52:24.881Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.320Z"
+ "updatedAt": "2025-12-10T11:52:24.881Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.326Z"
+ "updatedAt": "2025-12-10T11:52:24.892Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.328Z"
+ "updatedAt": "2025-12-10T11:52:24.895Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
}
}
},
"b49968678b651f4131fd1bec9495374ce582598cb5396d704b3ca4c1307af6a8": {
"3313a9c14ea04c6073bfcf21d76d6705f73329bf8d9308a7d0158edd50ad125e": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.320Z"
+ "updatedAt": "2025-12-10T11:52:24.882Z",
+ "postProcessHash": "8583031a2955bda7f240515d57df8b7a2162045876c401111c106d6e8d34fd5d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.328Z"
+ "updatedAt": "2025-12-10T11:52:24.896Z",
+ "postProcessHash": "eb8c9d951ef6bd99d56f5d2d1046c8eb4fcaf62de0918fa82551fb45d3bfbf16"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.331Z"
+ "updatedAt": "2025-12-10T11:52:24.905Z",
+ "postProcessHash": "c1175166328aefa3747a49633208e5537504405ce8600bccac500dff80181c51"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.331Z"
+ "updatedAt": "2025-12-10T11:52:24.905Z",
+ "postProcessHash": "3313a9c14ea04c6073bfcf21d76d6705f73329bf8d9308a7d0158edd50ad125e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.332Z"
+ "updatedAt": "2025-12-10T11:52:24.906Z",
+ "postProcessHash": "3313a9c14ea04c6073bfcf21d76d6705f73329bf8d9308a7d0158edd50ad125e"
}
}
},
"df2667d825fdc9c2200e5b6e8206b62f1e6db9258056ce02d9108ccdcb1a8a0c": {
"6b3e05a416714f9e69bd03d8382bcd1ffd59e64d1b347749647a6b9e59bbcec4": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.321Z"
+ "updatedAt": "2025-12-10T11:52:24.883Z",
+ "postProcessHash": "e81214ad2c6f474ffd1182f36fcee12590280b71731e545d4cdf18c4fbf76867"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.336Z"
+ "updatedAt": "2025-12-10T11:52:24.884Z",
+ "postProcessHash": "83f945b4a32d558482c5338fc42f0866e8106bb14014fac9a3fbf33260d5d329"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.336Z"
+ "updatedAt": "2025-12-10T11:52:24.884Z",
+ "postProcessHash": "4bfaf336a6248921977b4b6c160b836434d537f8d1c0607d920124cd8e22e1e6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.337Z"
+ "updatedAt": "2025-12-10T11:52:24.905Z",
+ "postProcessHash": "10d71a2648a0de683c3eb20b4552199b013a2b95e180e894db74983a3aae396e"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.339Z"
+ "updatedAt": "2025-12-10T11:52:24.909Z",
+ "postProcessHash": "e569b67a676860b9e4d8ea3da7654bba84042446a7b7b6fff505d69062636453"
}
}
},
"ceb1baee1f52257207f738fbfe825fc150530c1760a8cb8e398356c40eac4133": {
"1ae2084e8db19b4f096426c85487e12f59afd174ad140f6a3827cddfdeab7f9d": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.321Z"
+ "updatedAt": "2025-12-10T11:52:24.883Z",
+ "postProcessHash": "eadde069224aeb2f48de46a4316dfe9f99e2e1078c1df427777ff961e278afa0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.323Z"
+ "updatedAt": "2025-12-10T11:52:24.888Z",
+ "postProcessHash": "c0f777d28f57227c6a1355c0ac816ce6f099b9c763b873f2551e742260312573"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.325Z"
+ "updatedAt": "2025-12-10T11:52:24.890Z",
+ "postProcessHash": "a5da955013ad3a8728150e7e6707d7d8e5f879406ce2ec2345f1cc46171a1f35"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.326Z"
+ "updatedAt": "2025-12-10T11:52:24.892Z",
+ "postProcessHash": "052b05a80d18fc0e08cd5bba2a74fa72b12c09d8fbd7ba340c208d59fe35bd89"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.327Z"
+ "updatedAt": "2025-12-10T11:52:24.894Z",
+ "postProcessHash": "36ce886ccf76634d854b914dfbdec29243654ada96eed442892866947620c13f"
}
}
},
"7c406addd77a66db7e505db11ce12717ac246e4bc2d84596b3c86e379120c791": {
"c1c134feb78e1e9247445eed195baf52ab2b7485fbf55cbf7f4de27263ffc7dc": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.325Z"
+ "updatedAt": "2025-12-10T11:52:24.891Z",
+ "postProcessHash": "befe41559f419577c6af7c89c829c2b7c77d17b7cb2b299e079363de47f0a70c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.328Z"
+ "updatedAt": "2025-12-10T11:52:24.895Z",
+ "postProcessHash": "61ade81a92f14229685464f68db688d25c2b080f2d1f80f5ba2da73c23497faa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.328Z"
+ "updatedAt": "2025-12-10T11:52:24.895Z",
+ "postProcessHash": "bbe3325ff9735cdc3211e131ac3bbd5b8614cc60460cc5a664d3ba30ce673148"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.329Z"
+ "updatedAt": "2025-12-10T11:52:24.903Z",
+ "postProcessHash": "ec5b6df3048e82846fb830d3759c1daafe8918c391000a79d1dd7dcccde6aa48"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.331Z"
+ "updatedAt": "2025-12-10T11:52:24.904Z",
+ "postProcessHash": "84a24757706e2bdeb489e40ed32396b79bce9a2935a4d2404087f1a18f59ed26"
}
}
},
"cd6f7485b7605f6b18012525b41c1e877e9635cb5c507df0d0b8d05e6d2d78fc": {
"f3a8d65470ba0e0fd05a56b7a448fd804ba6794c9c85d9ef1183d00053080a11": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.327Z"
+ "updatedAt": "2025-12-10T11:52:24.893Z",
+ "postProcessHash": "a8e35d94055a5cdc8061cd1eb3251d83ee2c55f7c74f76211e078f4e4de3c68d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.327Z"
+ "updatedAt": "2025-12-10T11:52:24.894Z",
+ "postProcessHash": "f3745bf4bea46e60c3ff2a2b51c392a3c60089de597b763228d6e29907a3e5aa"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.329Z"
+ "updatedAt": "2025-12-10T11:52:24.904Z",
+ "postProcessHash": "f39f35b72272b28b3354365927a2820f549d5708ee1e32bf492cd41599852bc7"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.332Z"
+ "updatedAt": "2025-12-10T11:52:24.919Z",
+ "postProcessHash": "7d33276dd9edb4e86bf543d4717e7ca8ef0d4bec0ce353250ec01d6f35b5081f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.333Z"
+ "updatedAt": "2025-12-10T11:52:24.941Z",
+ "postProcessHash": "409f6d8797926c2514b5f4074f282ef74f66fd7ef6b8bacf4942975a333e7503"
}
}
},
"0238ab9fdf586c7a41b17069066face0474e84d1fb705fd9e1dafac2d9bfa5e0": {
"347b6784c6774c3a5660e145fe697f1005c608138daca3b20bab723fdf0f5170": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.356Z"
+ "updatedAt": "2025-12-10T11:52:24.909Z",
+ "postProcessHash": "bc96ff746154311f4488e7e5877a201b5897b43fe25d9c72a8129a9c84f15108"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.357Z"
+ "updatedAt": "2025-12-10T11:52:24.910Z",
+ "postProcessHash": "03678f42b807baba7160e59ae64ef2dc73a53afaa21396064ad6789298c5c9c9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.363Z"
+ "updatedAt": "2025-12-10T11:52:24.931Z",
+ "postProcessHash": "51d93169226c1074efaa5babbe1e582de557eb11361d5a0692436f8be5e2ded4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.371Z"
+ "updatedAt": "2025-12-10T11:52:24.940Z",
+ "postProcessHash": "1791c22a891e8c8c55173b6f48edd892fd507f4d172bb27beb632bfd4c76a1c9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.379Z"
+ "updatedAt": "2025-12-10T11:52:24.974Z",
+ "postProcessHash": "425fc825c1707ac6c9bd36ea64ea4a953730e40edb2ef8241c344bd22b4207ba"
}
}
},
"c8089b80a47342cb76c0fd8952abfab0108328bab7e82d4523ec530345112803": {
"fc51d65d73ce1f4db1ff7646715ad276a9e88925652700cfbcbd83288941d1cb": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.357Z"
+ "updatedAt": "2025-12-10T11:52:24.911Z",
+ "postProcessHash": "ebd94b0aad60f72ec76a4a88ebefb63e46107534f26ba1641f0c13d28f6cd393"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.358Z"
+ "updatedAt": "2025-12-10T11:52:24.911Z",
+ "postProcessHash": "ebd94b0aad60f72ec76a4a88ebefb63e46107534f26ba1641f0c13d28f6cd393"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.359Z"
+ "updatedAt": "2025-12-10T11:52:24.912Z",
+ "postProcessHash": "ebd94b0aad60f72ec76a4a88ebefb63e46107534f26ba1641f0c13d28f6cd393"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.372Z"
+ "updatedAt": "2025-12-10T11:52:24.947Z",
+ "postProcessHash": "658f8a5c41d1280e4682cf1d3f87fba88c4d65eef5081de58aca30a5abf8b7a3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.373Z"
+ "updatedAt": "2025-12-10T11:52:24.947Z",
+ "postProcessHash": "ebd94b0aad60f72ec76a4a88ebefb63e46107534f26ba1641f0c13d28f6cd393"
}
}
},
"371369197d067597e90b58adc8053a9414a1379bc950d4f73dcb1e75a70fd141": {
"581b0675900b629f79b74515c3cc385efa53b0e73d3506bc8aced870d5b451b0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.358Z"
+ "updatedAt": "2025-12-10T11:52:24.912Z",
+ "postProcessHash": "34bcfd4257886dd3bf3b48806775dee113d5bda41ab990ed52b24d839c5af2cf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.369Z"
+ "updatedAt": "2025-12-10T11:52:24.938Z",
+ "postProcessHash": "fc1a9e8b08f56a641772263d1e79eb52b836afc62277db63235f648753503df1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.372Z"
+ "updatedAt": "2025-12-10T11:52:24.941Z",
+ "postProcessHash": "d2c1ff528ecffb4e3e52e3bd574c991900ea5492afdfc8b5ed43ae9bb516006b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.375Z"
+ "updatedAt": "2025-12-10T11:52:24.941Z",
+ "postProcessHash": "ca16ae7be1319162282dd5e5f76f9cff0705eaebd0e11c3cd3a0f8c3417a2b14"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.376Z"
+ "updatedAt": "2025-12-10T11:52:24.942Z",
+ "postProcessHash": "0e3064cc9f907deb25e950ffcf4929d11a68e228ee6b37aba9d3336992dc7be8"
}
}
},
"0923da5667504c215d9ed8da7e50fb423078752fcfcd4c590cd18860146253cd": {
"9c383abd2cefcd24a1cdab50cdbc64c6f40c9492bde95d3fdfefdce7a5aebd1a": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.359Z"
+ "updatedAt": "2025-12-10T11:52:24.913Z",
+ "postProcessHash": "32cd09984169439ad3bae6019092cfad0625859edfc6342d976644e88b9b35ca"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.363Z"
+ "updatedAt": "2025-12-10T11:52:24.944Z",
+ "postProcessHash": "09d565dd73b1c63be6beba346b8c02c061178da6f9b62e7117ffbd1d8e6e76b9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.364Z"
+ "updatedAt": "2025-12-10T11:52:24.945Z",
+ "postProcessHash": "4ded8adc109f685df68f57dbf6c3ff2b44cccc7cca26c9c6b90f569f91718e27"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.370Z"
+ "updatedAt": "2025-12-10T11:52:24.946Z",
+ "postProcessHash": "8e4dc5fbe3b46a0f5e8c611d21b9626a7ae4c256b0e1b08de270e4226ad3129d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.378Z"
+ "updatedAt": "2025-12-10T11:52:24.960Z",
+ "postProcessHash": "7ba29d2b2ed10a0d23d61e71c6ec64370e504ff7cd4d936e25bac4d3d07512f8"
}
}
},
"a3e52b466bc6b49a9dd924a66545f2fab4d7758504b8065317e64c3099e82086": {
"931abbdb79d54a0763cf1e36d9ff7f9412ed8ee73782f76a4e9c1f0f09af01ce": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.359Z"
+ "updatedAt": "2025-12-10T11:52:24.913Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.360Z"
+ "updatedAt": "2025-12-10T11:52:24.943Z",
+ "postProcessHash": "cb4cb32718637afb9c442c905d5a780757e9b78c8d1fb24191abebe22fe547cf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.380Z"
+ "updatedAt": "2025-12-10T11:52:24.943Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.374Z"
+ "updatedAt": "2025-12-10T11:52:24.948Z",
+ "postProcessHash": "8a7ca8fd033f5d9970e23624a53524bbb082ced1988a69392c04862c77886d0d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.375Z"
+ "updatedAt": "2025-12-10T11:52:24.949Z",
+ "postProcessHash": "747ec5e0b29085f5bb8681b99ca9843582880c7243c0900fa931fb28115a3d11"
}
}
},
"5ceadbe2fe801d8d178404bb0e79f1fc4221f1a67f61b5c8d1ec0d600e365ef1": {
"f510aaf11368d1609eded908902eeef36902b71ca4b6084991323b18bdc76ed8": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.360Z"
+ "updatedAt": "2025-12-10T11:52:24.914Z",
+ "postProcessHash": "f48aa466ee06da294808d0e315c62d8e8485d976bbe5ad05306e7e93ca32a525"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.362Z"
+ "updatedAt": "2025-12-10T11:52:24.927Z",
+ "postProcessHash": "9e1f232d9ca28e54b5deafdfd3824c07a65fe0c3475e37bd7195354dcb9f3bb5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.367Z"
+ "updatedAt": "2025-12-10T11:52:24.936Z",
+ "postProcessHash": "510c5c08cf6e4b42dc2b6fd2b30ad33d87ff48f4d66aa3fb83a1898bd1789db0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.368Z"
+ "updatedAt": "2025-12-10T11:52:24.936Z",
+ "postProcessHash": "1b4f0635a4b32906cd484cfde9e60c4678fc59ba993523b179b717ff6a36e355"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.369Z"
+ "updatedAt": "2025-12-10T11:52:24.938Z",
+ "postProcessHash": "2f74cc6ae00104a8d7470675dbb4ec044adfa9be95d0eb43fd958c03d55fa2f2"
}
}
},
"b02845cc582e4bbde6dc16dfbc5a99fa5875c0e0cb82947c5093178df1b2e1a5": {
"69505a12121d80fabfed25ca952374b0ea56ad172fe1a505c8040da894eeb8cb": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.339Z"
+ "updatedAt": "2025-12-10T11:52:24.914Z",
+ "postProcessHash": "b16a60264b134000cba8edacac2cc5264542215329a3012e1a1636f2e1e5f25d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.344Z"
+ "updatedAt": "2025-12-10T11:52:24.921Z",
+ "postProcessHash": "52b83dc28057c75501e637b59fc3044bfdc3c6de91f1ee4500331e775f63d87b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.345Z"
+ "updatedAt": "2025-12-10T11:52:24.922Z",
+ "postProcessHash": "b16a60264b134000cba8edacac2cc5264542215329a3012e1a1636f2e1e5f25d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.345Z"
+ "updatedAt": "2025-12-10T11:52:24.923Z",
+ "postProcessHash": "d1d55c845a08413cd14f1e2647ab73d0d575062c78c9722977f001bc1d09c99c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.346Z"
+ "updatedAt": "2025-12-10T11:52:24.923Z",
+ "postProcessHash": "319e1a85e165d64a71b091d5adda2b55e28e6f1178bb017040683d97a740c14e"
}
}
},
"21abff6d2ca931acca18591d601dbf651ab5699b8bf74c88fa53be29e5e50b4b": {
"11307952b0645f5422a775c43893f3d5e358652d76cdb06ea5c22b9ff103e838": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.340Z"
+ "updatedAt": "2025-12-10T11:52:24.915Z",
+ "postProcessHash": "136aef439991204c85a53175af08e1feb1155116344ac4e327e6ff1b3ed11c7f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.341Z"
+ "updatedAt": "2025-12-10T11:52:24.916Z",
+ "postProcessHash": "6b7a897833758a28f578a62e16bbbd20ca5eb875b5df7b812a6952a14d0a6b5f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.346Z"
+ "updatedAt": "2025-12-10T11:52:24.924Z",
+ "postProcessHash": "4b104d50126f8b06a6a36786d64dc188bcc2cc1b662913535f425cc627db8ea2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.346Z"
+ "updatedAt": "2025-12-10T11:52:24.924Z",
+ "postProcessHash": "03a3a5e5177c17d15f113a13d973f2a3e6c8249426206bd2d097b2ce206d1d40"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.347Z"
+ "updatedAt": "2025-12-10T11:52:24.925Z",
+ "postProcessHash": "bfa558a20908639b004fe340b3a0af2e327616e27d613dd61680ca3d3d8878a0"
}
}
},
"aeb52c4306f91acd52a8875a023172efa6ab24e47d492bf75aa6316f2c68026d": {
"68fbeac3689379d401d16cc785f9f094977ce6da2b50dc5704b6e37099c6cd04": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.342Z"
+ "updatedAt": "2025-12-10T11:52:24.917Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.343Z"
+ "updatedAt": "2025-12-10T11:52:24.919Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.348Z"
+ "updatedAt": "2025-12-10T11:52:24.925Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.350Z"
+ "updatedAt": "2025-12-10T11:52:24.930Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.351Z"
+ "updatedAt": "2025-12-10T11:52:24.931Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
}
}
},
"9aed481548d52f99a1cf42de1de2c883365c413abe517247853d0d54b7d00efb": {
"72b5bd00f671558b2d521b8159643c2000f87db814b87b94b963b4de2d165a08": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.342Z"
+ "updatedAt": "2025-12-10T11:52:24.918Z",
+ "postProcessHash": "42a8e86a3e10401e21012893f076111e3403101135318507b783d43745b3e38f"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.344Z"
+ "updatedAt": "2025-12-10T11:52:24.920Z",
+ "postProcessHash": "1d4d6f44f13aead8e7730342a5d37f40bb98c86e66e94760c75e8aab04e30914"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.349Z"
+ "updatedAt": "2025-12-10T11:52:24.929Z",
+ "postProcessHash": "1d4d6f44f13aead8e7730342a5d37f40bb98c86e66e94760c75e8aab04e30914"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.350Z"
+ "updatedAt": "2025-12-10T11:52:24.929Z",
+ "postProcessHash": "1d4d6f44f13aead8e7730342a5d37f40bb98c86e66e94760c75e8aab04e30914"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.352Z"
+ "updatedAt": "2025-12-10T11:52:24.932Z",
+ "postProcessHash": "1260d6229ac2418d41a17fcf620e2030e3fa123f45f7a6f7ef9a469c3344dd5e"
}
}
},
"49432128560c77049536503803b5eea9230534fe3cc164aaae1b75934a8c7af7": {
"4bf605856f47c89d69e03072e299bc6d38849ec11e26f01cb416cd98dc2ed9bd": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.343Z"
+ "updatedAt": "2025-12-10T11:52:24.918Z",
+ "postProcessHash": "0102d6f0a72b0a230dd5471dee7d2afe7b57c6b1b74307d7922c3ad97b4ecce3"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.344Z"
+ "updatedAt": "2025-12-10T11:52:24.920Z",
+ "postProcessHash": "0102d6f0a72b0a230dd5471dee7d2afe7b57c6b1b74307d7922c3ad97b4ecce3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.347Z"
+ "updatedAt": "2025-12-10T11:52:24.925Z",
+ "postProcessHash": "0102d6f0a72b0a230dd5471dee7d2afe7b57c6b1b74307d7922c3ad97b4ecce3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.351Z"
+ "updatedAt": "2025-12-10T11:52:24.932Z",
+ "postProcessHash": "0102d6f0a72b0a230dd5471dee7d2afe7b57c6b1b74307d7922c3ad97b4ecce3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.352Z"
+ "updatedAt": "2025-12-10T11:52:24.932Z",
+ "postProcessHash": "0102d6f0a72b0a230dd5471dee7d2afe7b57c6b1b74307d7922c3ad97b4ecce3"
}
}
},
"94edced272f9451a64c59c38670e59c6ad3d262baecba4142261482a6435ac47": {
"e506d8e01a23311baf45df9a02b42b69f0ea122a94a973a5c1945fe1f680c9da": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.348Z"
+ "updatedAt": "2025-12-10T11:52:24.927Z",
+ "postProcessHash": "4b1788a99a213fdd0fb3514cd31a36b81dd4103fa76134cba8ab60b6de6566f0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.350Z"
+ "updatedAt": "2025-12-10T11:52:24.931Z",
+ "postProcessHash": "a1e1753b80a3fe54334a3b75eb6e25de1bea93b339b2d2e538e46fd05becf2bd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.352Z"
+ "updatedAt": "2025-12-10T11:52:24.933Z",
+ "postProcessHash": "f862289866d22e2fea7d94206a5c6a8176cbbdc005e5e459bd06e3cc587b1ef0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.353Z"
+ "updatedAt": "2025-12-10T11:52:24.934Z",
+ "postProcessHash": "c294baa83705d0348cba435bf551a66ed759a9369f278d25188052899100974e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.353Z"
+ "updatedAt": "2025-12-10T11:52:24.940Z",
+ "postProcessHash": "f35176f35ca7ffa9f938bfd52dbc0fd78c02d6a8a85e8c50be65f0312b01093e"
}
}
},
"67bd4c732b725701896cc2482372b60e3a81ce52a3b7e141b0d2d5c75501f661": {
"3ddf6fd696eacd4dca723e148835bd0fac2e763f92d58e0494acbb1b0baa13df": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.353Z"
+ "updatedAt": "2025-12-10T11:52:24.942Z",
+ "postProcessHash": "0dd56b678022d3ec84fb87498e333310ffcf5fb554cd395c68607c7aac9061b7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.354Z"
+ "updatedAt": "2025-12-10T11:52:24.980Z",
+ "postProcessHash": "c558d6ab8597bf1fd1a007eeec8aa1670ecb4ce761aebde1ba615ffcd920b0b7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.354Z"
+ "updatedAt": "2025-12-10T11:52:24.980Z",
+ "postProcessHash": "804ce9f0979df94c318b367e964499707f7a00e38f25a5aa5f8b1b5082208584"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.354Z"
+ "updatedAt": "2025-12-10T11:52:24.980Z",
+ "postProcessHash": "c2e264adf8c0e0d0082c5b03468a1125362dafa38d41c070178b2fc5128e006a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.355Z"
+ "updatedAt": "2025-12-10T11:52:24.981Z",
+ "postProcessHash": "318b1922daeb110726378a45e4caeccdd7d7f56ceee2d3466278c96f2212e103"
}
}
},
"e6aa34c6fa344c219ddd8190a341e46e933f4c8d47910ec53c7a1c522815b653": {
"581b0675900b629f79b74515c3cc385efa53b0e73d3506bc8aced870d5b451b0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.361Z"
+ "updatedAt": "2025-12-10T11:52:24.944Z",
+ "postProcessHash": "34bcfd4257886dd3bf3b48806775dee113d5bda41ab990ed52b24d839c5af2cf"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.376Z"
+ "updatedAt": "2025-12-10T11:52:24.951Z",
+ "postProcessHash": "8588f454c87df1e2f5ce4a3ccc1f72cefaf84ba41ecd2c2bb704672346dfa0bd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.377Z"
+ "updatedAt": "2025-12-10T11:52:24.954Z",
+ "postProcessHash": "13bf46c7c9a40c1225334160ad1f56c2de8f4499cae7a0794347da3afeafab63"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.378Z"
+ "updatedAt": "2025-12-10T11:52:24.956Z",
+ "postProcessHash": "fc1a9e8b08f56a641772263d1e79eb52b836afc62277db63235f648753503df1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.378Z"
+ "updatedAt": "2025-12-10T11:52:24.967Z",
+ "postProcessHash": "4415b4656da0c5d91660f1a42d05b57deebb0dfc8bf1844f5131b09fe1f3e3a0"
}
}
},
"18797d75c77ed44f3c5ec78018b66592e4bd210756afd64f9a7987509d787e7f": {
"68fbeac3689379d401d16cc785f9f094977ce6da2b50dc5704b6e37099c6cd04": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.361Z"
+ "updatedAt": "2025-12-10T11:52:24.926Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.362Z"
+ "updatedAt": "2025-12-10T11:52:24.926Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.364Z"
+ "updatedAt": "2025-12-10T11:52:24.932Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.365Z"
+ "updatedAt": "2025-12-10T11:52:24.933Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.365Z"
+ "updatedAt": "2025-12-10T11:52:24.934Z",
+ "postProcessHash": "60124cd3065d1fb0815d5cd28ce85770d0394959fbdc62a18565a0ccc036ef56"
}
}
},
"64680d2e6f40d41304e02c942f6903c66d3fc068b11118f2b2b380a5ec0ab181": {
"16abd9d0f2d6dbbe1b98eab0dee7fbf10bb60322c3d3184cd456ab8ad749100f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.363Z"
+ "updatedAt": "2025-12-10T11:52:24.930Z",
+ "postProcessHash": "eb8f6b47701e9164f1ad2c92872c25b7cb36272b00f8e03d6b48488b9d409898"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.367Z"
+ "updatedAt": "2025-12-10T11:52:24.935Z",
+ "postProcessHash": "82f0483ee30d988c382d11a735adec170b9a16f3ec2927d02984c76837ae413e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.370Z"
+ "updatedAt": "2025-12-10T11:52:24.939Z",
+ "postProcessHash": "5b55acd880fceb4457658d00e0603f1182668ef2209378663aa388fb3b6fa9b0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.371Z"
+ "updatedAt": "2025-12-10T11:52:24.939Z",
+ "postProcessHash": "ff144ece6820ed29c6754d178108c2d3f6c1d219f18813ad3af725328a09b569"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.371Z"
+ "updatedAt": "2025-12-10T11:52:24.939Z",
+ "postProcessHash": "37c38e6b569dd331a776a2de53bb6ee76a16e3b0867455fc41e7efb55c8b01f7"
}
}
},
"7b332389e0548918ef5d48701fc9a65e140cc65e8c81d7821a5d8159ac5eeb56": {
"efa2588a2a6cfe0dcb55b4dfcdd8fbb244a3aaaeb47177f52ce7c56239114453": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.363Z"
+ "updatedAt": "2025-12-10T11:52:24.944Z",
+ "postProcessHash": "6c97c74ca3cdd743ee19c869d1c6ff94732cb72721ff92b537c5146e606b22f3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.364Z"
+ "updatedAt": "2025-12-10T11:52:24.945Z",
+ "postProcessHash": "fbab4c01815a3d74375330af5f453160d76ff731b37ed51e3469c317f71653a4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.370Z"
+ "updatedAt": "2025-12-10T11:52:24.946Z",
+ "postProcessHash": "4cb15fd9ab033aea9d7310f4f2da1e6b94d59d02552cb934ecac7ed73d8dcd5f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.374Z"
+ "updatedAt": "2025-12-10T11:52:24.948Z",
+ "postProcessHash": "770bb49e1aba84f76fcb264f4850fb90c8f78235ba944088b8b9365db98a1576"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.379Z"
+ "updatedAt": "2025-12-10T11:52:24.967Z",
+ "postProcessHash": "c78bd7532e79c51c13d8554c3aaeba0e35cd056f743f5cd93543652f51abec49"
}
}
},
"e40889d1586bd702a5d0a1cbef0f9a0873f005029853dd8f219a7a12d3f0546d": {
"d2f4611ed9565627551b15c1f07e5b996c169187ca61f84c2588a4c8885ab58f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.364Z"
+ "updatedAt": "2025-12-10T11:52:24.945Z",
+ "postProcessHash": "0bb09915f85090521d7355be2840c415aa282a3ae868ea86c4bc10a91915bb2e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.372Z"
+ "updatedAt": "2025-12-10T11:52:24.947Z",
+ "postProcessHash": "0bb09915f85090521d7355be2840c415aa282a3ae868ea86c4bc10a91915bb2e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.373Z"
+ "updatedAt": "2025-12-10T11:52:24.947Z",
+ "postProcessHash": "3c687c91b6236cd62383d5ad01b23f4924d74809cd274a33f34b5a2bc6be4d8c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.376Z"
+ "updatedAt": "2025-12-10T11:52:24.952Z",
+ "postProcessHash": "66c20e687fcb8fdae4dfcd1758393e46129b7ee65b0fdb99c12246e892561ed7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.377Z"
+ "updatedAt": "2025-12-10T11:52:24.953Z",
+ "postProcessHash": "0bb09915f85090521d7355be2840c415aa282a3ae868ea86c4bc10a91915bb2e"
}
}
},
"7c7146ea574c25f2e27fe70c5b4414cf68f17f96d37b06450d9c074d89232bb7": {
"b2d3b49225ef625b73ff489c9edb825df49b969070092b3e6b46e44fc0b09450": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.365Z"
+ "updatedAt": "2025-12-10T11:52:24.933Z",
+ "postProcessHash": "0644c51e2d1ac4865909059d7f7223dc0e285d10048703ab9974f599cdd476fe"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.365Z"
+ "updatedAt": "2025-12-10T11:52:24.934Z",
+ "postProcessHash": "112f81ac2651fb34caf3767019818b0a2f3fa033e62adf03993cb38f593011ec"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.366Z"
+ "updatedAt": "2025-12-10T11:52:24.934Z",
+ "postProcessHash": "112f81ac2651fb34caf3767019818b0a2f3fa033e62adf03993cb38f593011ec"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.366Z"
+ "updatedAt": "2025-12-10T11:52:24.935Z",
+ "postProcessHash": "43e984bbbc1f58645d611dfc4a21d7144e25d6f4a50ad14027781d8c40191635"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.366Z"
+ "updatedAt": "2025-12-10T11:52:24.935Z",
+ "postProcessHash": "6f64e7b45fd1e345930209c5a4b2495b44e34ddb93a06ca657fa755e9591d3ee"
}
}
},
"03794f55c823c05a131a4c066a18fb8ef8f23bf2d02656eb0b9b93d45fbe947e": {
"b2ee8165fb3e9a4c54c92c0b1cc119ab88112a4cf966355b0509d6dcc6b375ff": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.367Z"
+ "updatedAt": "2025-12-10T11:52:24.936Z",
+ "postProcessHash": "9b949376b67a27bdab861e7784387ce0db223e5a371adb42a98d85ffb4c1b8d3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.368Z"
+ "updatedAt": "2025-12-10T11:52:24.936Z",
+ "postProcessHash": "9b949376b67a27bdab861e7784387ce0db223e5a371adb42a98d85ffb4c1b8d3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.368Z"
+ "updatedAt": "2025-12-10T11:52:24.937Z",
+ "postProcessHash": "b75885a049a721f19fd65582fbdbf36709bc76c4255981d1a90836d822e67e4d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.368Z"
+ "updatedAt": "2025-12-10T11:52:24.937Z",
+ "postProcessHash": "bfbc694013c2ff1a8c926061c5dca19455f0ea0e17b770aec7c057179e2666bc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.369Z"
+ "updatedAt": "2025-12-10T11:52:24.938Z",
+ "postProcessHash": "af25b492f20d59e10795d8fa48be39bba0dacac334e569807cd3135f92a82ac9"
}
}
},
"906402f4bf31ada76d7de9d3347404aed2f056463636966f3b3818a081bcdc65": {
"b377e08c686996aa8e5877ebb31402eceeea58ff6fb75f2e6212985234bea5be": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.380Z"
+ "updatedAt": "2025-12-10T11:52:24.949Z",
+ "postProcessHash": "ddb83b945ee08244ef0a1ec39f0769c4dc9d9f64b48dc50812a27de993f145be"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.381Z"
+ "updatedAt": "2025-12-10T11:52:24.949Z",
+ "postProcessHash": "a699c1b5ab515b25d54b728c303286499ce1dd05cf63eca285f55ae80eb3e2e1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.389Z"
+ "updatedAt": "2025-12-10T11:52:24.961Z",
+ "postProcessHash": "19850e0bea61c21367f0af1ff687a0ea549666fac8c3a90e406c64bc27b579a0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.394Z"
+ "updatedAt": "2025-12-10T11:52:24.966Z",
+ "postProcessHash": "1421894415eaf3eec20b0f4d5cf40d57572d2e3127b6eafc71c42f6ae6746599"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.395Z"
+ "updatedAt": "2025-12-10T11:52:24.969Z",
+ "postProcessHash": "00192c4d9bd4d2c4e29a94e00db120dc14b3983ced752832bac72b88d5c261dd"
}
}
},
"6c2abff207290eb4745d9467bb62347955c3605742379d4a940b9dbd8024f3b5": {
"6c54fb71e163e6b022d7e27b17b163ef968f516ebf2c73fb48bdc98387abd74f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.381Z"
+ "updatedAt": "2025-12-10T11:52:24.950Z",
+ "postProcessHash": "1db645d1dcfaee5356f4f4137164a8a077a41c51ee41f9bbbe8b688ae11d918b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.382Z"
+ "updatedAt": "2025-12-10T11:52:24.950Z",
+ "postProcessHash": "3bae36e726f8f3c75bb07bc4ab845d2d20c12f668c0afa5b9fa0e68b9f138127"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.386Z"
+ "updatedAt": "2025-12-10T11:52:24.957Z",
+ "postProcessHash": "08c2dfb7c083b7512ca0d415c9fa4191519a3c47dfa44d0fdf818c42c93bad04"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.387Z"
+ "updatedAt": "2025-12-10T11:52:24.958Z",
+ "postProcessHash": "9879a1fcdfb0b83af5b042de49ea3b2edb6494ccffad471f50f3c462e7f06e8b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.392Z"
+ "updatedAt": "2025-12-10T11:52:24.965Z",
+ "postProcessHash": "62ea36455f30575b04a5f7fecb77203069a967518b5ba6e5bd06133f82b22a13"
}
}
},
"b7af8b9e76f7c7a62cabd0dcc4d2ee5e1dc295c9dbc294fad879d763c181c0f5": {
"3012e82faa3874fc3bde205b6da3b774249f383b8cb1af1fcb5627edc2c8494d": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.382Z"
+ "updatedAt": "2025-12-10T11:52:24.951Z",
+ "postProcessHash": "ea6aad6e7719a407dcf3042ea2718f83511cc51d921c89c15e370201e970dfbd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.384Z"
+ "updatedAt": "2025-12-10T11:52:24.954Z",
+ "postProcessHash": "8b6bf8814eac75daffc2899c498aa813474f2c7da54261cefdaeb5e55a44643d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.385Z"
+ "updatedAt": "2025-12-10T11:52:24.955Z",
+ "postProcessHash": "600be10455b4779eb36ecfe29057ad8f1b27727afebf89ffa3dbf0b48e05bd8a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.385Z"
+ "updatedAt": "2025-12-10T11:52:24.956Z",
+ "postProcessHash": "7d16768e454aa199510e6ab21773e6eb9341fc1e987b01b802e3c05ce9681f7c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.386Z"
+ "updatedAt": "2025-12-10T11:52:24.958Z",
+ "postProcessHash": "806eb96dbecf1a0df022ba9857ceef19b40ae914d2e5594a5833db49c6866f7f"
}
}
},
"3f53831feb013a5fd0068d90c84822e87b506b091bde7aff9912d13249e5b48a": {
"218a967b0c2c3a23809d42ed73dcf5694a016b45d8ceeee42ce35cd3f8826843": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.382Z"
+ "updatedAt": "2025-12-10T11:52:24.951Z",
+ "postProcessHash": "5cd22d725e582e151daac8d1a23e5e282993782b6c5bdca7edd69bd5e5b7f564"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.383Z"
+ "updatedAt": "2025-12-10T11:52:24.952Z",
+ "postProcessHash": "9c87d9986d25db287efde4deea2bc66f49124751ca7057f7a4f053746ef8b666"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.383Z"
+ "updatedAt": "2025-12-10T11:52:24.952Z",
+ "postProcessHash": "dd8f7333f215d05c941642b975b2009cc39ce2ffd09735d74f201c25eed89c4b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.390Z"
+ "updatedAt": "2025-12-10T11:52:24.962Z",
+ "postProcessHash": "efa14490702dd0d99ef13d5469f8cbc0a72b8d919c007c70835704ceccbe045e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.390Z"
+ "updatedAt": "2025-12-10T11:52:24.962Z",
+ "postProcessHash": "986fe19c2b045eeb0fb5d921c58d5b64a176d1f9cf4db48d42703cc0fb25a5c0"
}
}
},
"119758ecbc8e872b6034384cbdd7fa7dbdfe8d9c3ea2030383b06126045d478b": {
"842e4260c55a14cb77cdda18baddb1874551b141eb89a5f94cccaed28da6ae43": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.384Z"
+ "updatedAt": "2025-12-10T11:52:24.953Z",
+ "postProcessHash": "d3383d861ceccd54eb531f3d099d0993a1e7021633f539abcf19d5a2d9611d2c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.386Z"
+ "updatedAt": "2025-12-10T11:52:24.957Z",
+ "postProcessHash": "306c37cdadf5a9e5b7665a1b3cc4ad0f96f8eeafaa4244fe4a93863fdf4c9513"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.387Z"
+ "updatedAt": "2025-12-10T11:52:24.959Z",
+ "postProcessHash": "82c8bc55e8f01fa750c4d47108800ad776781a1cbe0445f37ea538b5199f0afe"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.390Z"
+ "updatedAt": "2025-12-10T11:52:24.963Z",
+ "postProcessHash": "5ff5e68fb2edc0cfcb7e6af7ebb4f891b0a5a32b765081b12b5dd92d04a5431c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.392Z"
+ "updatedAt": "2025-12-10T11:52:24.965Z",
+ "postProcessHash": "9f4fcd683343bc06e02d7bed25def8e536c22652d98dfa211f41f5c4ad8995bf"
}
}
},
"a36b020aff41b7dcf7d76527fb077007098e9ebd22d09296d4dc09d5bf4daef2": {
"700fc5b74da56109a4a9cd05aa35547828930f0f1cb6ffbfb49b282d60f18588": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.384Z"
+ "updatedAt": "2025-12-10T11:52:24.953Z",
+ "postProcessHash": "baa476f7ef368062fffb3f6c4bb11338f260b099126dfe97b33c9d40f337b34b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.391Z"
+ "updatedAt": "2025-12-10T11:52:24.963Z",
+ "postProcessHash": "51fb4ab507d2cc1c0729f1e84bd7b8f4288455fbab2ff78e0e6b30e980c27120"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.391Z"
+ "updatedAt": "2025-12-10T11:52:24.964Z",
+ "postProcessHash": "b1f93556c0edb98948692e244ff53fbe0279f6c2fb5fc95a83e92eafea2753d3"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.391Z"
+ "updatedAt": "2025-12-10T11:52:24.964Z",
+ "postProcessHash": "a6d7afa08d0adf8bf91ed48b6928eb242686e89a18237c584ed097ddad2f7cb2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.398Z"
+ "updatedAt": "2025-12-10T11:52:24.977Z",
+ "postProcessHash": "8bd7ccff684769c37c19a6a06493b8a21c6ff5017823db2837f4ed5bb126d2ee"
}
}
},
"155fa8e5be832403caffe96e1f4268a520420d4d4b722b369e98fe2d7f7f35ae": {
"1dbd22030ee74c6e2f046e4f540b1843c72230fdffaf730e78b8b618a4c37d36": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.387Z"
+ "updatedAt": "2025-12-10T11:52:24.959Z",
+ "postProcessHash": "96ecf9fe427e8d5e281a790b55f8451518a46f1bdd265d6f3735e92d2c4a1836"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.388Z"
+ "updatedAt": "2025-12-10T11:52:24.959Z",
+ "postProcessHash": "a73e2a47239e42de15731409ab3b095ac86d18af8a843bf650b952d322186bec"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.389Z"
+ "updatedAt": "2025-12-10T11:52:24.960Z",
+ "postProcessHash": "38c4650086bd68c997979fd5fbf63f0b879066f9c0a4151f6384489309ce5274"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.399Z"
+ "updatedAt": "2025-12-10T11:52:24.981Z",
+ "postProcessHash": "31c4a213f9d3a6e539a4148b5d444977812e59e1d800da5b51a9761bcac4c64a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.400Z"
+ "updatedAt": "2025-12-10T11:52:24.984Z",
+ "postProcessHash": "a01ec34a064726447a5160f6362a5d96e45d955104d3978ba599fba4b23340bb"
}
}
},
"8df76792a332223c3bd710317fc1fa13fc1678bc85568fd418fd913fd3b9fdc5": {
"80f1ab00f742014a801f53e6ccbc03b1c0e2084b4713531375a818201b346634": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.388Z"
+ "updatedAt": "2025-12-10T11:52:24.960Z",
+ "postProcessHash": "69203e7b5311443b275ad130b9c4d45d0a57301d001bf3d7f84707343cc549b3"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.396Z"
+ "updatedAt": "2025-12-10T11:52:24.970Z",
+ "postProcessHash": "61859a44bdcd574f5de4d170ffe8f81320c02b5f0729cf5db09a2927df273490"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.397Z"
+ "updatedAt": "2025-12-10T11:52:24.975Z",
+ "postProcessHash": "634cd9629e24dfdb5915e16eeb0230dca35b9c28718cc70c3cd4cd7390c59625"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.398Z"
+ "updatedAt": "2025-12-10T11:52:24.978Z",
+ "postProcessHash": "bd05a32f0cbafe9d315e3356f60ae652434b0522523447f837f6db8f21913268"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.400Z"
+ "updatedAt": "2025-12-10T11:52:24.986Z",
+ "postProcessHash": "7e1102b2a17605f9cf72baac6218902952f94d1ee293c477dc25a93eda2bb988"
}
}
},
"2b7160d64a12c2c9e4f68923fe8ed7962989e335192422a5b2d77b84ffa81a04": {
"a02abcf3f98239aff8c140cb37c232c015c1d46933de77678b3f8ea11e1d54fc": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.389Z"
+ "updatedAt": "2025-12-10T11:52:24.961Z",
+ "postProcessHash": "f30d06b77e92aaffc6c372f525a0565e76d560fd17ce9b969e8e910f08760bcf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.396Z"
+ "updatedAt": "2025-12-10T11:52:24.971Z",
+ "postProcessHash": "02e07b39838ac81e869c7f2fb2b83b3501948d02f7d6e3336d3c4bd6a9307d97"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.397Z"
+ "updatedAt": "2025-12-10T11:52:24.975Z",
+ "postProcessHash": "7e19a81a60c6c12f0be1f8508b84e2a0902139369498ca3495e834ba6b77b5f5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.400Z"
+ "updatedAt": "2025-12-10T11:52:24.985Z",
+ "postProcessHash": "8afad5fe94bfdf2d9da36c8e9a9bd45f7e1cf608849b98fe79f9b39984f6a71a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.401Z"
+ "updatedAt": "2025-12-10T11:52:24.991Z",
+ "postProcessHash": "4ff451214fa21106635032be803a2ed69a63dbc02abf3f19c738d3063771b798"
}
}
},
"78f627210090b03cefef67207d3e11bb52b210300e823488431dad4d2a87e9ca": {
"db2c000384174b774317193479be8845a0b87e2f8199f79420bfaf384b12ef80": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.403Z"
+ "updatedAt": "2025-12-10T11:52:24.962Z",
+ "postProcessHash": "256194841e06f96548b43ee3097f6e851911b905be885d056ae49c66ad85c60d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.407Z"
+ "updatedAt": "2025-12-10T11:52:24.975Z",
+ "postProcessHash": "4ff50c2a84f16e4724c2472d0118e163b398c961683b9156b1ac92773534c9c7"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.408Z"
+ "updatedAt": "2025-12-10T11:52:24.976Z",
+ "postProcessHash": "ea69902e24634d73c60d5f2f30298e4af5be2593ad135267f09c6c0a976fa229"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.410Z"
+ "updatedAt": "2025-12-10T11:52:24.985Z",
+ "postProcessHash": "61471c7d579da599b7cfc7d473b8de431e1817fe13a4e414d661d9d61e8cdf7d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.424Z"
+ "updatedAt": "2025-12-10T11:52:25.021Z",
+ "postProcessHash": "3b4a2902208e90a8287f21edcc18aa7cb756d74d987ff380b8c1cd6ba6ec6c94"
}
}
},
"c32c7487cf48b21a3c730f4063206deda3a82e1ddfa5eb05c0440a6fd0e6052d": {
"2f22fd0241aaa6d1d20c9d1d2aa093e1e977a49591602ff9ad370db4bd811984": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.390Z"
+ "updatedAt": "2025-12-10T11:52:24.963Z",
+ "postProcessHash": "057c6065f580741aaba0204871c98f2346dd2361c338394544ea8373ff0055ad"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.391Z"
+ "updatedAt": "2025-12-10T11:52:24.963Z",
+ "postProcessHash": "be9b0e5304dfae0bf48302a576d0c017def8ba049ffafc71a560d54d4c220625"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.394Z"
+ "updatedAt": "2025-12-10T11:52:24.967Z",
+ "postProcessHash": "97c3dbef855bca6ed8b63a8a1b5ee7f6aedd734cd12ece0ca7ff9a2baf7c89c0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.398Z"
+ "updatedAt": "2025-12-10T11:52:24.977Z",
+ "postProcessHash": "a3d5d34ec899e0b3ae2ddf3f3c6378f9bc13111b8c86f37f450e01dfd4c5fc65"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.401Z"
+ "updatedAt": "2025-12-10T11:52:24.994Z",
+ "postProcessHash": "31f4f3bc353e4dcaae6304880827dde24e3734de1bc7b0e4c7250539bb52df92"
}
}
},
"ba7d165c24e72b037deeda79bb300b32c063eb47c3cfc58dcb6f803f16353c3b": {
"1ea7d08fab1b02bedab07fc8bcf4fc31dd03e45a9969287fb48bf99d9523fb9b": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.394Z"
+ "updatedAt": "2025-12-10T11:52:24.966Z",
+ "postProcessHash": "910883835fa1aa9302ce0e529244d62336e459e5e8ce227325a1df7cd0df52a3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.395Z"
+ "updatedAt": "2025-12-10T11:52:24.969Z",
+ "postProcessHash": "5872b1c4c423eae1749ae74096ec7cd272d627f4706e550319efb7a76193bfbb"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.397Z"
+ "updatedAt": "2025-12-10T11:52:24.972Z",
+ "postProcessHash": "c5acee740269a5b34ef7c5aebe68395a99e16718acd9d609e33d31e5e63fea48"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.399Z"
+ "updatedAt": "2025-12-10T11:52:24.982Z",
+ "postProcessHash": "2681c96ffd8ce676b7e37da3b74e5563bbd8a9f860b91cfc13b210162aac7e24"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.401Z"
+ "updatedAt": "2025-12-10T11:52:24.999Z",
+ "postProcessHash": "80115237d51a5158029e0bf33f97ded9ac92315b594e6062400307b705bebc37"
}
}
},
"0840f7697c964d04b6c20a62911bbc4ceeb7dbde1cbdedce4429f85df806bb89": {
"6defd80b57f9211e26364d0e4d9c5f144dd4c71691e0a92306a9d4d621b6acf8": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.395Z"
+ "updatedAt": "2025-12-10T11:52:24.968Z",
+ "postProcessHash": "4033d124a77619347f9ab4ac10abf65e95aa7a365eac1aa44ef3e29b44a8acd2"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.403Z"
+ "updatedAt": "2025-12-10T11:52:24.968Z",
+ "postProcessHash": "4033d124a77619347f9ab4ac10abf65e95aa7a365eac1aa44ef3e29b44a8acd2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.399Z"
+ "updatedAt": "2025-12-10T11:52:24.983Z",
+ "postProcessHash": "4033d124a77619347f9ab4ac10abf65e95aa7a365eac1aa44ef3e29b44a8acd2"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.401Z"
+ "updatedAt": "2025-12-10T11:52:25.003Z",
+ "postProcessHash": "4033d124a77619347f9ab4ac10abf65e95aa7a365eac1aa44ef3e29b44a8acd2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.408Z"
+ "updatedAt": "2025-12-10T11:52:24.977Z",
+ "postProcessHash": "4033d124a77619347f9ab4ac10abf65e95aa7a365eac1aa44ef3e29b44a8acd2"
}
}
},
"9091180ae9fb861c3d357831f33d1a7a4dcd9fb2efd04c0ef5f50fa3804ed26e": {
"58e30382903f1a7888482009cea224d406bbb5f95806838338950ab596dd6a0d": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.403Z"
+ "updatedAt": "2025-12-10T11:52:24.970Z",
+ "postProcessHash": "dcb776b9ee0ce91bece6ca38c49fdccf45a4d5a30f299d72671350dec2d797a9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.404Z"
+ "updatedAt": "2025-12-10T11:52:24.970Z",
+ "postProcessHash": "758f431cabecbd88ba971566dded69232c0f1251ead672f6603a4e83dcb6dfe2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.408Z"
+ "updatedAt": "2025-12-10T11:52:24.981Z",
+ "postProcessHash": "4f9d176d9c3f1dd82839cf4850635152a36878cf8dc5bceef2cee456c050379c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.409Z"
+ "updatedAt": "2025-12-10T11:52:24.982Z",
+ "postProcessHash": "7123613a45af0d7216bd4edd33b60c04b6eeff2ec437bfa422c26685bc3e839a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.419Z"
+ "updatedAt": "2025-12-10T11:52:24.998Z",
+ "postProcessHash": "d193ccd76452e366a216298fab88221926fa12dae37c1ac81c942c3b4c0d85de"
}
}
},
"a7488f74c4407d02a0fe3fa6e9b9e8213b06574e4701cb76e4609defc0574360": {
"bf2e127859daa6667b2913a59a4fcaa1db88a5077eb3589d152e8250d4df9cd1": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.404Z"
+ "updatedAt": "2025-12-10T11:52:24.971Z",
+ "postProcessHash": "a2cc61c1d96cddccf56c5a42c241ef33b79c19137bf1a04e0c5413f061979e4a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.411Z"
+ "updatedAt": "2025-12-10T11:52:24.985Z",
+ "postProcessHash": "52240f4d062ea9461aa7e459f03aca6572f491996bdb053808d968347a2e9ac2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.412Z"
+ "updatedAt": "2025-12-10T11:52:24.987Z",
+ "postProcessHash": "5a3a55adf97ad02604970e9ab4f4ce88a9c00d1c5a5b887953581763fd1f78af"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.417Z"
+ "updatedAt": "2025-12-10T11:52:24.993Z",
+ "postProcessHash": "d220bc2d4598d9576c12956f988bda7746c3e468cc43cd499dcfb8eed19b5128"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.420Z"
+ "updatedAt": "2025-12-10T11:52:24.999Z",
+ "postProcessHash": "27d1afd2b539fd2adc8b3d9ceaba7acdf2da5609523c230f248f0bcbb52f9c46"
}
}
},
"973c64813b196e557d2d07e933311214c8883fbb3a68aa5181f8ae31ada51af9": {
"4d9143e8b1b2464b6c299c1c6a503207e9b9a2b2f366c192294fa89548493ef0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.404Z"
+ "updatedAt": "2025-12-10T11:52:24.971Z",
+ "postProcessHash": "1b141d6df70c603d0bda2bd9e9d76dc7e91fe9c6acd0db94d4c2e05ed04c20e4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.405Z"
+ "updatedAt": "2025-12-10T11:52:24.973Z",
+ "postProcessHash": "0c2d0697171eaf22387fe5b43a1cd4c60e491df0962956901a8cde713801ac9b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.407Z"
+ "updatedAt": "2025-12-10T11:52:24.976Z",
+ "postProcessHash": "0c2d0697171eaf22387fe5b43a1cd4c60e491df0962956901a8cde713801ac9b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.408Z"
+ "updatedAt": "2025-12-10T11:52:24.976Z",
+ "postProcessHash": "c007f5445cb1de2e628ee777dfc7f1f86bdd44da9cf3b7bf1bd103557c0f2192"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.419Z"
+ "updatedAt": "2025-12-10T11:52:24.996Z",
+ "postProcessHash": "980e3c94f340d695afbf4ce144db87d41caecac34f3f7a5bd1f85784ed441fc3"
}
}
},
"3e58ffe8693211efefc9129b89257e9143cef9ed3e5972cffa48d10312dee7ed": {
"909aba143de4c22448d96b66b49b0f7508cec11027ef78912628c1301929c983": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.405Z"
+ "updatedAt": "2025-12-10T11:52:24.972Z",
+ "postProcessHash": "fdf63d38636434919af92deb01cf6a1c58333a71fb3777e92af00d24bae0d42d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.405Z"
+ "updatedAt": "2025-12-10T11:52:24.972Z",
+ "postProcessHash": "2ab8b5c236551bd442bb8f317a969504538cc10d766bb4874197925db0b9f7dc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.406Z"
+ "updatedAt": "2025-12-10T11:52:24.973Z",
+ "postProcessHash": "75acb8063bedae2684f60c80c8fa5b927292ac61544584d7e73afaf19e3cd25b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.420Z"
+ "updatedAt": "2025-12-10T11:52:25.000Z",
+ "postProcessHash": "60ad79ae3357ab333652afc4fc3e87eebdb9a4cbf5c12503b36e909a96209c2b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.423Z"
+ "updatedAt": "2025-12-10T11:52:25.013Z",
+ "postProcessHash": "2858de571ca676191e554c02738e69d99280458255d816973fdcd2e972981b63"
}
}
},
"ce9cfab9d1e57ce1e2dbb0e1e3eb33d60504a647d9e90abda1acb5b3f734f581": {
"292d3104eb86713ce81cb81e5d66d4ad7d2659325233a79d1883b8d4269676ec": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.406Z"
+ "updatedAt": "2025-12-10T11:52:24.973Z",
+ "postProcessHash": "f48cbe42e739ff716ddaddc123eac46b949c6f1bca5454b0099a183d2ce8fbf0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.411Z"
+ "updatedAt": "2025-12-10T11:52:24.986Z",
+ "postProcessHash": "fa440a2cb5c2798215a30a9d6d92f7ee2c64b307f51f24b09cb41529c95902ff"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.412Z"
+ "updatedAt": "2025-12-10T11:52:24.987Z",
+ "postProcessHash": "3e665fad346c32f944d93cd4508cb436463cdf2c7582b0dbbdf86ec2f5e35b1f"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.413Z"
+ "updatedAt": "2025-12-10T11:52:24.988Z",
+ "postProcessHash": "cfda266823a99592eed9341131e4daec3adafd2ec378fc016bd602744156e205"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.421Z"
+ "updatedAt": "2025-12-10T11:52:25.002Z",
+ "postProcessHash": "bea53f7803e9cdc6cc0cbca5c3eb4aa5e0d5517c537a4252ff04e65da399bb93"
}
}
},
"cde4641e7c76223777f5bc04c2413bd1cf1cee1e1d3873367c086c232c44038a": {
"d00c6a724384135cb42e0a10ac0de69364d01c4d129210d0dd9d52b2e701c74f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.402Z"
+ "updatedAt": "2025-12-10T11:52:24.978Z",
+ "postProcessHash": "42b01d4b46df944e87795ba09e21978fe43cfbe8cb21960e50be81bb0b0bebaf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.402Z"
+ "updatedAt": "2025-12-10T11:52:24.978Z",
+ "postProcessHash": "2d054fc0cb3eb4cc96c6b649afa3af72d3fc005be34664ea0cb83af170361479"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.402Z"
+ "updatedAt": "2025-12-10T11:52:24.979Z",
+ "postProcessHash": "29bfb8baa64100fda45811ce454cf971bbac9169cafa01a8810b3f21b83ef340"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.402Z"
+ "updatedAt": "2025-12-10T11:52:24.979Z",
+ "postProcessHash": "5225b9279c8667063abc244e78937d15827c50173055113d43029c9f6dece81c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.403Z"
+ "updatedAt": "2025-12-10T11:52:24.979Z",
+ "postProcessHash": "33b080f73a17d87b1c1e8a97ed35b9220a396a1669bd0c28cdd80fe3d6ddc4bf"
}
}
},
"804361874cccaa0e8c9e71b6f4f8e5a88257b439f37164873d85c86bb6521315": {
"a525f4f6b35439c78758defab1d61216853666e14cd024281a2d4b507d4ebc47": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.407Z"
+ "updatedAt": "2025-12-10T11:52:24.974Z",
+ "postProcessHash": "1a0ac3684f3dc2c142596083f98082bc0dda4cbbf437e49a6e43a2c98124198b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.409Z"
+ "updatedAt": "2025-12-10T11:52:24.982Z",
+ "postProcessHash": "c07412b60dae9e081e1c90181474218c2897ffe763034bcfc363af0b426d8d75"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.410Z"
+ "updatedAt": "2025-12-10T11:52:24.984Z",
+ "postProcessHash": "239ad2e852de5e9ea9214d62c54defbda46da21c94985357f90eec2bc4083e9c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.417Z"
+ "updatedAt": "2025-12-10T11:52:24.994Z",
+ "postProcessHash": "3bd3a27b98802067e65fe2bb1c0c6cd34a8f288d9e3cafe17bfa4e1802d2bafb"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.421Z"
+ "updatedAt": "2025-12-10T11:52:25.001Z",
+ "postProcessHash": "ec59dacffaf02aa7d50243b8948432bcff95e7af76bcd4302c5094f49e68e6ae"
}
}
},
"ee4079487f122349ded8a1f7e06b2841d7538ea550ffa61e353bc0c1c5679207": {
"b9e7acc25d82627e3ebfee7f7bf64ab6154d61cb51a958ef2e362ddaebbabe55": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.409Z"
+ "updatedAt": "2025-12-10T11:52:24.983Z",
+ "postProcessHash": "82a44b5ff9e1163883317bd8aed6662a898903d5b185a1050a2826fb0a6eea7d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.409Z"
+ "updatedAt": "2025-12-10T11:52:24.983Z",
+ "postProcessHash": "fca60a0442b95caf48600bf937e2b2cee2c14a293dce202bde3814f76437b0ad"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.413Z"
+ "updatedAt": "2025-12-10T11:52:24.987Z",
+ "postProcessHash": "eaa070d27a667105a0de5ac3e62b98c6304b53cefcad4aa3a41ba450ef61ee5e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.414Z"
+ "updatedAt": "2025-12-10T11:52:24.989Z",
+ "postProcessHash": "70dab36db3e08768a4baf0312495f0176215f4e508348acd18f009684a2347e3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.418Z"
+ "updatedAt": "2025-12-10T11:52:24.995Z",
+ "postProcessHash": "6af25baf927c37253a10ac37e3986745d09c73339f41fb19bb2c1c069a17bdce"
}
}
},
"9a4dd64c32b556c94a4cc10aef0720174e32f321584de2f0f35676f99dfc26bb": {
"28c12e415e43f6fd7f572e53028b9340d3f0cc386105b76c61988b3bc0c73aea": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.410Z"
+ "updatedAt": "2025-12-10T11:52:24.984Z",
+ "postProcessHash": "d4b7b90b885506508398fa0679ab8e79fb25202c5e39e4a7a06215606baeaa69"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.411Z"
+ "updatedAt": "2025-12-10T11:52:24.986Z",
+ "postProcessHash": "8c7204efcca7a2f17a05a4510d6957cf30802073228070bcc5e3ba4abd67daad"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.417Z"
+ "updatedAt": "2025-12-10T11:52:24.993Z",
+ "postProcessHash": "6c12da678d1caafa6be3adeac5e9f88ee3306ef10543c4929d6e8b0b13f6b36f"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.420Z"
+ "updatedAt": "2025-12-10T11:52:24.999Z",
+ "postProcessHash": "277dfb3ff3c699c53cdb2db36970f2f08f2cd07d38491f0170a18df0aca06224"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.423Z"
+ "updatedAt": "2025-12-10T11:52:25.013Z",
+ "postProcessHash": "f7ccfa47db162c85d3f75925d7c3255d3690dc52a56ccc536e2b958e16d8909d"
}
}
},
"5699966320637ad907e87f04a9bc80abe17dca5358cfc7790058b65ca69dc21b": {
"2271c6d54cfd6d7c33d71f03ec09079de9d4bbf1de9b84949ce6683991204e85": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.413Z"
+ "updatedAt": "2025-12-10T11:52:24.988Z",
+ "postProcessHash": "49e5a55d389516eba90e1ea85b81c37b0747f1fc673d2258a1175ff33a8e96e2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.421Z"
+ "updatedAt": "2025-12-10T11:52:25.000Z",
+ "postProcessHash": "de76e2827b94bea1fe9c05d6a4ec49ca8ad1c6367b67f48b5e5e532467555013"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.427Z"
+ "updatedAt": "2025-12-10T11:52:25.003Z",
+ "postProcessHash": "3ee864dd2ee304d923b73a70e458b19797a37e9538569ebad576c560b073c67b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.431Z"
+ "updatedAt": "2025-12-10T11:52:25.014Z",
+ "postProcessHash": "0a35e711aac613537c46187c3c83a2cd8134c206aa207aa03a03969dfc3ba86f"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.439Z"
+ "updatedAt": "2025-12-10T11:52:25.022Z",
+ "postProcessHash": "fe972ea3018e946e5d6cc7a78ade6c5f643264d49ae02cb85a124a6a28d11fc4"
}
}
},
"fbf18d52f72b7574bd65cbfdecf15e01b5ec8953be719827594eaea9f2635fa6": {
"bc814623d99b41c0c499022b31a8f022f622a68d86d29d8588213299d929d586": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.424Z"
+ "updatedAt": "2025-12-10T11:52:24.988Z",
+ "postProcessHash": "95dc9ea73f495babc18fd1f94d65c93f1fb1293c53d52c38cfc3368539ff742e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.425Z"
+ "updatedAt": "2025-12-10T11:52:24.996Z",
+ "postProcessHash": "c1062cfdcd7dbe6e1074cc05030f2325cccab7669ef875a5442d090a68a81acf"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.426Z"
+ "updatedAt": "2025-12-10T11:52:25.002Z",
+ "postProcessHash": "60a161d6619ac46ff905893c4e55b4fa4932d69719a08f2f5fcf990fb9b2ba2e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.427Z"
+ "updatedAt": "2025-12-10T11:52:25.004Z",
+ "postProcessHash": "f2ec6b93041db79d0d079c0a97664609bbb2ad197559b54a486fa3a2a44b9bfa"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.429Z"
+ "updatedAt": "2025-12-10T11:52:25.009Z",
+ "postProcessHash": "f2ec6b93041db79d0d079c0a97664609bbb2ad197559b54a486fa3a2a44b9bfa"
}
}
},
"e165f47365c0cfee1107a16a5bd57b82e0e26ecf74d70366da83bd3f85bd0717": {
"76df0dd3991e4fbb708b57031aa4264db5a3b61c898878a19a07b543b7ada7ae": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.414Z"
+ "updatedAt": "2025-12-10T11:52:24.989Z",
+ "postProcessHash": "ae0b9ea973553d69bb925a53dc1e2c2328c7c4728c348cd66c1f37e8191fd8ce"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.414Z"
+ "updatedAt": "2025-12-10T11:52:24.990Z",
+ "postProcessHash": "fdd4413f0f39bc99ed5b5391246ebd8e196b5183682a0e05cde990f20aedbdad"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.422Z"
+ "updatedAt": "2025-12-10T11:52:25.005Z",
+ "postProcessHash": "42e83e58717f122fc30206838badc8c9a0a47638598c01d69456e3e1f39d7442"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.423Z"
+ "updatedAt": "2025-12-10T11:52:25.010Z",
+ "postProcessHash": "da255d8c6b2101752d0012b0d80eae9e495e3aa9309c5f77f26c5e6a4ebfd5a2"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.424Z"
+ "updatedAt": "2025-12-10T11:52:25.023Z",
+ "postProcessHash": "46e0b2f7910b58b2907bc392675d8c533e72f856980f94c7d8dbee680557a5c3"
}
}
},
"a3d91dd55c3c8a59026a498be96b9aa4ccce562867fe62f947feb358b264da04": {
"2d3d8e20e69900eb3c17d01f7de7a10e8623dc7b0e8fe5ae6d5696c191c380ea": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.415Z"
+ "updatedAt": "2025-12-10T11:52:24.990Z",
+ "postProcessHash": "ec7ad7e992a9e66ae73316aae4c16ebcef756db4ba61bdf0649130f9f38aaee1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.418Z"
+ "updatedAt": "2025-12-10T11:52:24.995Z",
+ "postProcessHash": "ec7ad7e992a9e66ae73316aae4c16ebcef756db4ba61bdf0649130f9f38aaee1"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.422Z"
+ "updatedAt": "2025-12-10T11:52:25.002Z",
+ "postProcessHash": "e4d65f8b88430f463a408a5d01844d0ad462e33f934bfa2c01b6819e4e8dd470"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.422Z"
+ "updatedAt": "2025-12-10T11:52:25.003Z",
+ "postProcessHash": "ec7ad7e992a9e66ae73316aae4c16ebcef756db4ba61bdf0649130f9f38aaee1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.422Z"
+ "updatedAt": "2025-12-10T11:52:25.007Z",
+ "postProcessHash": "8dd6ad1bdcde2beb203e2bbd076bed9d42f45e0a3f74f2e16a9ba4c862d5fd8b"
}
}
},
"565af83edadf94934876bae5b79aa5b8f4130c658c7cc79110d1e975430b5c48": {
"c2bf3c368c33596b0609480a35dfb7df6994ca2a72cfb52b03ba805ae01a546b": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.415Z"
+ "updatedAt": "2025-12-10T11:52:24.991Z",
+ "postProcessHash": "d9effeab8bd76f5f2caa4f68084f59f52dc26ec46e57315c2387315ee4f4ceed"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.416Z"
+ "updatedAt": "2025-12-10T11:52:24.992Z",
+ "postProcessHash": "eef64145593e9f90410f09296007c7f8c041c5ca48ae649faf7d0e6546768a56"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.416Z"
+ "updatedAt": "2025-12-10T11:52:24.992Z",
+ "postProcessHash": "1ba11159b068e90a19b3161cebbee10bdcc14ff6c14c3b26c42e081bec105448"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.419Z"
+ "updatedAt": "2025-12-10T11:52:24.998Z",
+ "postProcessHash": "6a2edd0be889cd9622db2bc196d67c4e4e514376a90085b71c4b200094fca6c4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.423Z"
+ "updatedAt": "2025-12-10T11:52:25.015Z",
+ "postProcessHash": "d2a4a1bfa62af1e90087f6c601f5fee46bb070cba3651b3830ba9cdce501b99a"
}
}
},
"12fd663b92c70aae4300a1ee08d8eade3d694de204c85b55d8302ef7dffb1afe": {
"46c6eba0cdbf3711e92bb164798f1e0b00f3cf276c0a8bbc71545e777072fee5": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.425Z"
+ "updatedAt": "2025-12-10T11:52:24.997Z",
+ "postProcessHash": "3051997a65c924e0d80de67557fe8ae2f2515b97d59f8d91480178efc9b04f8b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.425Z"
+ "updatedAt": "2025-12-10T11:52:25.000Z",
+ "postProcessHash": "3051997a65c924e0d80de67557fe8ae2f2515b97d59f8d91480178efc9b04f8b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.426Z"
+ "updatedAt": "2025-12-10T11:52:25.001Z",
+ "postProcessHash": "3051997a65c924e0d80de67557fe8ae2f2515b97d59f8d91480178efc9b04f8b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.426Z"
+ "updatedAt": "2025-12-10T11:52:25.001Z",
+ "postProcessHash": "7af0570c2e63bfe42b8cfe29b6016d5f5fcaa2c385ff7d7a2ec7466b2f0ce808"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.436Z"
+ "updatedAt": "2025-12-10T11:52:25.020Z",
+ "postProcessHash": "3051997a65c924e0d80de67557fe8ae2f2515b97d59f8d91480178efc9b04f8b"
}
}
},
"a0301ddb4d71855fb9bcdff2257e28f68ba1060ceb7f7b8cc303432d1f7fd3fc": {
"252272ad447a62066035b6c6d935bd30b1cb0340b6f3a1c985d808284ef38599": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.427Z"
+ "updatedAt": "2025-12-10T11:52:25.004Z",
+ "postProcessHash": "423355ff0ad08b2b9c1e05b490a30fd79fd34d7e81eb14616812fb805c7f3d6b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.428Z"
+ "updatedAt": "2025-12-10T11:52:25.006Z",
+ "postProcessHash": "252272ad447a62066035b6c6d935bd30b1cb0340b6f3a1c985d808284ef38599"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.431Z"
+ "updatedAt": "2025-12-10T11:52:25.012Z",
+ "postProcessHash": "252272ad447a62066035b6c6d935bd30b1cb0340b6f3a1c985d808284ef38599"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.438Z"
+ "updatedAt": "2025-12-10T11:52:25.021Z",
+ "postProcessHash": "252272ad447a62066035b6c6d935bd30b1cb0340b6f3a1c985d808284ef38599"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.438Z"
+ "updatedAt": "2025-12-10T11:52:25.022Z",
+ "postProcessHash": "67e979ade21000022a1e5043ed38a0f0270edc7f462b467b5c1ef0a2e9285530"
}
}
},
"37c444e0a2de1573f9fc1053a9a49591118e72064abfcf771cac7312668cc421": {
"9f1f8a444c2eda322b0bf802e916b526af9750fdaeb66791f63a7ef8006111fb": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.427Z"
+ "updatedAt": "2025-12-10T11:52:25.005Z",
+ "postProcessHash": "c0d2d7bee4c0ca8923c0884d13bec2587e170e0c8538bdacfaded60b4e0481b1"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.428Z"
+ "updatedAt": "2025-12-10T11:52:25.007Z",
+ "postProcessHash": "c0d2d7bee4c0ca8923c0884d13bec2587e170e0c8538bdacfaded60b4e0481b1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.430Z"
+ "updatedAt": "2025-12-10T11:52:25.011Z",
+ "postProcessHash": "c0d2d7bee4c0ca8923c0884d13bec2587e170e0c8538bdacfaded60b4e0481b1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.432Z"
+ "updatedAt": "2025-12-10T11:52:25.016Z",
+ "postProcessHash": "c0d2d7bee4c0ca8923c0884d13bec2587e170e0c8538bdacfaded60b4e0481b1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.439Z"
+ "updatedAt": "2025-12-10T11:52:25.023Z",
+ "postProcessHash": "77e216e3328f9b649ee8e0a25483c7558eea021fc01fd71c9c744914097b1ad0"
}
}
},
"f0cd340fae47b211622619869a1d923b054a1ef8caa5da9b1f1512fa6fcfe4e3": {
"5799ef96853ef76926a27fd9bfd80eb7cda4c6bb9307cbc2d2b6f64bd7eadb5d": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.428Z"
+ "updatedAt": "2025-12-10T11:52:25.006Z",
+ "postProcessHash": "8e50c1790fbfa54712cc9a98fb29e2f747bc0be230d3a97867b77ee662d6599b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.430Z"
+ "updatedAt": "2025-12-10T11:52:25.011Z",
+ "postProcessHash": "bf6f1d7d755b02b2f0d4adc5946ce1b11b44f849929efd2ed1789f424b6dabf0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.432Z"
+ "updatedAt": "2025-12-10T11:52:25.014Z",
+ "postProcessHash": "bf6f1d7d755b02b2f0d4adc5946ce1b11b44f849929efd2ed1789f424b6dabf0"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.433Z"
+ "updatedAt": "2025-12-10T11:52:25.016Z",
+ "postProcessHash": "bf6f1d7d755b02b2f0d4adc5946ce1b11b44f849929efd2ed1789f424b6dabf0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.439Z"
+ "updatedAt": "2025-12-10T11:52:25.022Z",
+ "postProcessHash": "8e50c1790fbfa54712cc9a98fb29e2f747bc0be230d3a97867b77ee662d6599b"
}
}
},
"99a1e0e1fa4ee478b88c5040aace9d603e9722fcade5deae9a2e2a14e4786d4c": {
"3bca2b8c16e61a3fef7f28e5f1680e8a24d5bba1ccd12bec508336e62958b718": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.428Z"
+ "updatedAt": "2025-12-10T11:52:25.008Z",
+ "postProcessHash": "ffbaeeca1f455426d26405422f882647e2c888dde5ff5689d86fcd13ac334ec6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.429Z"
+ "updatedAt": "2025-12-10T11:52:25.008Z",
+ "postProcessHash": "ffbaeeca1f455426d26405422f882647e2c888dde5ff5689d86fcd13ac334ec6"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.432Z"
+ "updatedAt": "2025-12-10T11:52:25.015Z",
+ "postProcessHash": "ffbaeeca1f455426d26405422f882647e2c888dde5ff5689d86fcd13ac334ec6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.434Z"
+ "updatedAt": "2025-12-10T11:52:25.017Z",
+ "postProcessHash": "ffbaeeca1f455426d26405422f882647e2c888dde5ff5689d86fcd13ac334ec6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.440Z"
+ "updatedAt": "2025-12-10T11:52:25.023Z",
+ "postProcessHash": "ffbaeeca1f455426d26405422f882647e2c888dde5ff5689d86fcd13ac334ec6"
}
}
},
"550bd145e647d1e4586cfb059f46e81bef0520ea0164da378a9cfa0f0f2f4e62": {
"4f5057d3de65775adb48756102237dff3ae33a727b1a173ea21ef8e1b97add0c": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.429Z"
+ "updatedAt": "2025-12-10T11:52:25.009Z",
+ "postProcessHash": "be7df150d33b4ced60c83a34a1d9fb060ad19475a7ce33f681eb801a371af209"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.436Z"
+ "updatedAt": "2025-12-10T11:52:25.020Z",
+ "postProcessHash": "f08364f0f991c3b535afe2b3b853e6934b56d8841b19eece357c81bd5e613fa2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.438Z"
+ "updatedAt": "2025-12-10T11:52:25.028Z",
+ "postProcessHash": "01d019980e2b3fb2d101ce0d1f41d5b03915a107316c1283b07aafeeee2ddecf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.440Z"
+ "updatedAt": "2025-12-10T11:52:25.038Z",
+ "postProcessHash": "b482b3d29fe7a195cd7da693d8864fb467808b0d62a89903f9d866e3339e9a35"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.441Z"
+ "updatedAt": "2025-12-10T11:52:25.046Z",
+ "postProcessHash": "0c144db207e8a4c5accf0802c65442142ca6e08fd4899c5b261e6ce1f04f2db1"
}
}
},
"4765c8df5b7c71111ea2de8f55e8237eb82ddd25470ca5c57d501aa5eb05a898": {
"9e1ae43cfe8b6deed69d9a445cdd2ac8e04df036ff4dbe58b198794eb1b8301c": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.430Z"
+ "updatedAt": "2025-12-10T11:52:25.010Z",
+ "postProcessHash": "e282f664637a140293d1c95b106854afb6b8fae9bbac1f7d769399e642281e51"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.437Z"
+ "updatedAt": "2025-12-10T11:52:25.024Z",
+ "postProcessHash": "e282f664637a140293d1c95b106854afb6b8fae9bbac1f7d769399e642281e51"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.438Z"
+ "updatedAt": "2025-12-10T11:52:25.027Z",
+ "postProcessHash": "e282f664637a140293d1c95b106854afb6b8fae9bbac1f7d769399e642281e51"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.441Z"
+ "updatedAt": "2025-12-10T11:52:25.046Z",
+ "postProcessHash": "e282f664637a140293d1c95b106854afb6b8fae9bbac1f7d769399e642281e51"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.442Z"
+ "updatedAt": "2025-12-10T11:52:25.048Z",
+ "postProcessHash": "e282f664637a140293d1c95b106854afb6b8fae9bbac1f7d769399e642281e51"
}
}
},
"725a1eeecacabfb2c82e747fe26c5dc6f1ee3fc35aefe745fb8a83ce4dcd55e8": {
"18313f4d411d6e805d751159f9c65ff5cab929c2f49849628e32f4ed4bc7413d": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.433Z"
+ "updatedAt": "2025-12-10T11:52:25.016Z",
+ "postProcessHash": "6aa436187d3e2377623be2d7664fdcfdf6432f9ccbedb01bca94f7d5da94baeb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.435Z"
+ "updatedAt": "2025-12-10T11:52:25.018Z",
+ "postProcessHash": "6aa436187d3e2377623be2d7664fdcfdf6432f9ccbedb01bca94f7d5da94baeb"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.435Z"
+ "updatedAt": "2025-12-10T11:52:25.019Z",
+ "postProcessHash": "6aa436187d3e2377623be2d7664fdcfdf6432f9ccbedb01bca94f7d5da94baeb"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.436Z"
+ "updatedAt": "2025-12-10T11:52:25.019Z",
+ "postProcessHash": "6aa436187d3e2377623be2d7664fdcfdf6432f9ccbedb01bca94f7d5da94baeb"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.443Z"
+ "updatedAt": "2025-12-10T11:52:25.024Z",
+ "postProcessHash": "6aa436187d3e2377623be2d7664fdcfdf6432f9ccbedb01bca94f7d5da94baeb"
}
}
},
"b216e1be5346dc1c4b1b1a7ac8e73eb303e320963370b06c45a6f4e64a115073": {
"58fa5ca39447cbc367de53abc8318a820bd6b3e47f4bf6c133ebd44ff33fcff3": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.434Z"
+ "updatedAt": "2025-12-10T11:52:25.017Z",
+ "postProcessHash": "b7a0b3e4d336b79f5fce823d542e35f2a668c8601546f0d5c983b5e0634a8795"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.435Z"
+ "updatedAt": "2025-12-10T11:52:25.018Z",
+ "postProcessHash": "a813c4c4178261f1efe12a1fd2d3ce26a71bffd6767ca4cd11569e4f3a656409"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.439Z"
+ "updatedAt": "2025-12-10T11:52:25.037Z",
+ "postProcessHash": "b56603c3f7784815e20edbd10d78feb64ce6267f3352531b8782255c0b8c39ae"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.440Z"
+ "updatedAt": "2025-12-10T11:52:25.038Z",
+ "postProcessHash": "70e086a3532ae71613fe2d39303c5214e83d8b38024e7ea08ec7c32cbb69aecd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.441Z"
+ "updatedAt": "2025-12-10T11:52:25.039Z",
+ "postProcessHash": "51e00f69ece0575735ff9f0ed3f8c9100303d35cb7f22a4161012789e523d96a"
}
}
},
"bdc516ef862d4232f068df01504d548e493b625b9120b5ee93cd8855b43fb99f": {
"7e011add78b86c3265a0437355ce41295decb0ebb628ac6d81a5c66029a365e9": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.436Z"
+ "updatedAt": "2025-12-10T11:52:25.024Z",
+ "postProcessHash": "43800d68e48c9f31c1392c9bae57fade73b24adca155b031504410e2b055227a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.437Z"
+ "updatedAt": "2025-12-10T11:52:25.025Z",
+ "postProcessHash": "f4b39da02d6e87b944cdba9b560514e73a70126aec7cef0543f657b479ae3957"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.437Z"
+ "updatedAt": "2025-12-10T11:52:25.025Z",
+ "postProcessHash": "5d563614da19aed9861bef08285ac74c465563eefc65a3a043c2b506a3f0364d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.438Z"
+ "updatedAt": "2025-12-10T11:52:25.026Z",
+ "postProcessHash": "08ff7a4dc78f6a06877b7e21933e0be7a28d50574b5b8bf6b883570455974bf9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.441Z"
+ "updatedAt": "2025-12-10T11:52:25.040Z",
+ "postProcessHash": "87a1817a2d7bc848fa75d161d8ae2459a4a8047ba16ca5298e920a57433496af"
}
}
},
"7c3ad961202fd93b33839b2cf59c088452795d0ca97e81cf180a428263949c31": {
"74146b60f772c46bcf649e1c7a991cc57109ae6a80a66989182f22acc69e1473": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.444Z"
+ "updatedAt": "2025-12-10T11:52:25.026Z",
+ "postProcessHash": "515536d8511de8c1aba16e9fc168bb6471c902d1d8fdd1ce2cdd8d27f1cd07f7"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.445Z"
+ "updatedAt": "2025-12-10T11:52:25.028Z",
+ "postProcessHash": "4521042022121c357b9cdd5a238881dfb9f9682abe662db8725eaea6c20f7e38"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.445Z"
+ "updatedAt": "2025-12-10T11:52:25.029Z",
+ "postProcessHash": "171a533b751a6c11e88015ccb89ce657698f20aad2c7482d651ca5f2e41a8c8d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.445Z"
+ "updatedAt": "2025-12-10T11:52:25.029Z",
+ "postProcessHash": "cda5632872116cfd77223cad63b246dc4a84b9421b163d67b7d8402243717d04"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.455Z"
+ "updatedAt": "2025-12-10T11:52:25.038Z",
+ "postProcessHash": "a7734ae615edcd52091fd2d9ff2f86d1162e24aa2df6ec087032869dd9c13b37"
}
}
},
"dfbe73a13066ce1c0ccc1944841e5c37cd96c275673f45ebd1ed61f19882136e": {
"c578ffee94d282151be4285f79933e9cf79a28220893cd3999f9a22610986ef3": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.444Z"
+ "updatedAt": "2025-12-10T11:52:25.027Z",
+ "postProcessHash": "04ed11d46152e99e8f3e7c1f324dd17a9788793c931853691e1952e4c0c51d7b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.442Z"
+ "updatedAt": "2025-12-10T11:52:25.047Z",
+ "postProcessHash": "4533401589e8282f151a9ceba0746fb4ff4d2a0b2dc791efe85b1cc8e7786bf5"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.448Z"
+ "updatedAt": "2025-12-10T11:52:25.033Z",
+ "postProcessHash": "56b563ce837c9bdba5e131030589a00becd1d55ec8784dabac5127cdf55ba37d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.449Z"
+ "updatedAt": "2025-12-10T11:52:25.033Z",
+ "postProcessHash": "8e500fb5060588870b9f34d63d9877b6f6119e7d275c407369146f7e6d4a6ba2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.464Z"
+ "updatedAt": "2025-12-10T11:52:25.052Z",
+ "postProcessHash": "fdfa3026e954105b09372e1d395a85f4a76a067fb066327275460fd6b889e52c"
}
}
},
"8d25b7784e1629c8b13c0d5b21418495a919e5caac982541994dd3ad0b3458b6": {
"5d8bb1c3b07433f1c3acf4620939da5c0a8dce864e5f1f4295168a55893af1d3": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.445Z"
+ "updatedAt": "2025-12-10T11:52:25.030Z",
+ "postProcessHash": "c4bb8c5d398cc37977f4ac03cf7737884aa34c740ff826263c3c67d83e036583"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.449Z"
+ "updatedAt": "2025-12-10T11:52:25.033Z",
+ "postProcessHash": "5d8bb1c3b07433f1c3acf4620939da5c0a8dce864e5f1f4295168a55893af1d3"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.457Z"
+ "updatedAt": "2025-12-10T11:52:25.041Z",
+ "postProcessHash": "b39d32f506ac188585fda962602b62622ec4b492534d8837988ebc1b9a8bb26b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.459Z"
+ "updatedAt": "2025-12-10T11:52:25.043Z",
+ "postProcessHash": "b7e3eaeb78dd971d1b449faeebf6280ec0cdcf9b6ac5d30e0dd9c3a65bdc9097"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.465Z"
+ "updatedAt": "2025-12-10T11:52:25.057Z",
+ "postProcessHash": "5d8bb1c3b07433f1c3acf4620939da5c0a8dce864e5f1f4295168a55893af1d3"
}
}
},
"a743547a4ccda7eeb92bb78855cfa1ffac74e7a8fd103e2131f747b94d8f2bb2": {
"d22311b7a01e932d5c3acc7481fba6473c37c9a5c335660ac0da8f8746118db7": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.446Z"
+ "updatedAt": "2025-12-10T11:52:25.030Z",
+ "postProcessHash": "8b6a2cd69a65e084e872c95e6afce0c03194bdb37cad2024def64cf0374faceb"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.448Z"
+ "updatedAt": "2025-12-10T11:52:25.032Z",
+ "postProcessHash": "2627e408c047f8c4c9eeae2f6d902065d887d98e0052f5f9403a71abb77500b0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.464Z"
+ "updatedAt": "2025-12-10T11:52:25.051Z",
+ "postProcessHash": "f3b15d63a5bc8000f4d4cba87d940b75d68313a161a91519fd4c0dfe60784023"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.465Z"
+ "updatedAt": "2025-12-10T11:52:25.052Z",
+ "postProcessHash": "d34ed925ebaa422dd8c4815da851d4f6fee77b00373a2868fbd3771678e05518"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.467Z"
+ "updatedAt": "2025-12-10T11:52:25.084Z",
+ "postProcessHash": "7b13d505f47c74eca243c0e7d276f6f0cf54671fc6fa53e26febfbdd0656e29c"
}
}
},
"c18d3f9fd05fe52c2cc735c86b120841f943cc49b278424ce52f16a436d05187": {
"69d31c747f1573fa04bf97624d05a6a41f06c8e2f0b41e5d1da7715b29f5d55e": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.446Z"
+ "updatedAt": "2025-12-10T11:52:25.031Z",
+ "postProcessHash": "ffb0db45d11bcf8f815c0cf2646d7a9fe1880cdd184a5aeaa0572aea156995b4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.447Z"
+ "updatedAt": "2025-12-10T11:52:25.032Z",
+ "postProcessHash": "8090ed3ea38adca58b8921bc011f8b8378196cf797393ced482481d49fe12522"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.448Z"
+ "updatedAt": "2025-12-10T11:52:25.032Z",
+ "postProcessHash": "25d6048098b3dc174633004eacf7799396a0c5dfa388531a1bb5aa4346d46f6a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.463Z"
+ "updatedAt": "2025-12-10T11:52:25.051Z",
+ "postProcessHash": "31d9142599028750eb497548270d5f29d478f77e1d7c98098b23966503f993cc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.465Z"
+ "updatedAt": "2025-12-10T11:52:25.056Z",
+ "postProcessHash": "489d86d2ea5f93bae26a4fd0b96ff0c37aed1420c7df2c1fc2ca84ac4fe9ac3a"
}
}
},
"f5062a5d1444b6b62fc7a04d2bc91b4d898a270e0da1c9c87f90abd3bb18b09e": {
"75f238baf5582f9ea864c298f75b9787914e18461ffebad133caafdd8ee8246e": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.447Z"
+ "updatedAt": "2025-12-10T11:52:25.031Z",
+ "postProcessHash": "0626678502da8bfe1602cebca676a7117200536281a3f06f2a3f709e02ba4b03"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.458Z"
+ "updatedAt": "2025-12-10T11:52:25.042Z",
+ "postProcessHash": "00cd98a38405b0f0583a370d48570953cbb192f5c15159a8b4001880eda28455"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.463Z"
+ "updatedAt": "2025-12-10T11:52:25.050Z",
+ "postProcessHash": "e7daf498de9b9d779e17aebb2b0c8de045d0d82cda9df6151a097a3ec04f549a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.463Z"
+ "updatedAt": "2025-12-10T11:52:25.051Z",
+ "postProcessHash": "c828ad6da2bc0f18905bd4d18c5d7d5c62c061b10fa7c654ef5d8371044a5f10"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.464Z"
+ "updatedAt": "2025-12-10T11:52:25.052Z",
+ "postProcessHash": "db1ead3883d8212838a510cdeb82e3101067ffc82a7bb55a1b869a2e34ca713d"
}
}
},
"14b5616718d902ed7a47b6a6e47573fd1463b4ed42d84025ccab84e745cf4216": {
"26e94fc1832b106e97453a81cdd3ad764835329d253fed2f23fbb738344da3d1": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.443Z"
+ "updatedAt": "2025-12-10T11:52:25.061Z",
+ "postProcessHash": "ca030be2bf0bcedeb9c5687f221e16cc903b372a0c7674a0444152d3844c0ef8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.443Z"
+ "updatedAt": "2025-12-10T11:52:25.062Z",
+ "postProcessHash": "44b45d327c408a3eedcbb926cadf47a3773a5ecec540a3d7a441351d0d202f29"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.443Z"
+ "updatedAt": "2025-12-10T11:52:25.063Z",
+ "postProcessHash": "44b45d327c408a3eedcbb926cadf47a3773a5ecec540a3d7a441351d0d202f29"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.444Z"
+ "updatedAt": "2025-12-10T11:52:25.063Z",
+ "postProcessHash": "44b45d327c408a3eedcbb926cadf47a3773a5ecec540a3d7a441351d0d202f29"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.444Z"
+ "updatedAt": "2025-12-10T11:52:25.063Z",
+ "postProcessHash": "44b45d327c408a3eedcbb926cadf47a3773a5ecec540a3d7a441351d0d202f29"
}
}
},
"b2d6aad696480d01479c02a5f964308a68edd02189d5aa3a6d39ff2839bc09e3": {
"08c7294810aefab382e0eb7b37c64497e6b776bd103c57976dddaaf4c9d9b2d1": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.450Z"
+ "updatedAt": "2025-12-10T11:52:25.034Z",
+ "postProcessHash": "e15a57683846671020862b31128cf65946ebe205c9f0a6aade4a40f68929c5ce"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.450Z"
+ "updatedAt": "2025-12-10T11:52:25.034Z",
+ "postProcessHash": "ef06783b3385886a324fda75ce86772a27ef03809b366dd523f517ec343d94ae"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.451Z"
+ "updatedAt": "2025-12-10T11:52:25.035Z",
+ "postProcessHash": "6144feeb72da4f87634e0ea23f473f81bdb288906b0f4e632ca11ccf47b581ee"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.451Z"
+ "updatedAt": "2025-12-10T11:52:25.035Z",
+ "postProcessHash": "2531d84b2b243ed49b332776b6c8db5a7c32617d57057f5a5d7684085da123ee"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.462Z"
+ "updatedAt": "2025-12-10T11:52:25.049Z",
+ "postProcessHash": "8853cb0ab3c5e02c3b462adf757356a1417b494819942bb0276c116370521c9f"
}
}
},
"8f22fc61dfd424d3a0998bf6e01147d7bd3173cd5267b35bb09f4f144228d9c4": {
"837fd381d8adeb76ba932e18bcb0577da8bbf3a46709f9350863d409cd6937ed": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.452Z"
+ "updatedAt": "2025-12-10T11:52:25.035Z",
+ "postProcessHash": "ec230f6436a021fb112a4d6b9a53ce5c785c92106b79c7b227275f07e46d7743"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.454Z"
+ "updatedAt": "2025-12-10T11:52:25.036Z",
+ "postProcessHash": "8c2f01965eedd1b582ac52209dc8a4f80389593b048d89b5285ff2a16a4f17a4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.460Z"
+ "updatedAt": "2025-12-10T11:52:25.045Z",
+ "postProcessHash": "6f2513921c4ec622aa3d987890c64da25e13b359649ee02349a8872bd4642e01"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.460Z"
+ "updatedAt": "2025-12-10T11:52:25.045Z",
+ "postProcessHash": "ab845e841b84a4f198def6b9c2e4633c01f2b65b4cadf37450dd347fd11d3b59"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.460Z"
+ "updatedAt": "2025-12-10T11:52:25.047Z",
+ "postProcessHash": "93f9b859b0a30adaa7519c68e653842a0f85eee79fbb3ff373b87520b6108906"
}
}
},
"7a6d71e760ce0b6db96fbc1e9f2aa01d2e6d17ff21672aaeb48143c6afbac202": {
"245f19808f968e6b11e86515c489c28c0763a23ba5b2ef04c372ddbe7e256fb0": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.452Z"
+ "updatedAt": "2025-12-10T11:52:25.036Z",
+ "postProcessHash": "7fd0b97dcbcf5c019e2eef9e05f4b6d1d8c5118d0c44b89771b352268d6015a0"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.454Z"
+ "updatedAt": "2025-12-10T11:52:25.036Z",
+ "postProcessHash": "7fd0b97dcbcf5c019e2eef9e05f4b6d1d8c5118d0c44b89771b352268d6015a0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.455Z"
+ "updatedAt": "2025-12-10T11:52:25.037Z",
+ "postProcessHash": "7fd0b97dcbcf5c019e2eef9e05f4b6d1d8c5118d0c44b89771b352268d6015a0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.459Z"
+ "updatedAt": "2025-12-10T11:52:25.043Z",
+ "postProcessHash": "7fd0b97dcbcf5c019e2eef9e05f4b6d1d8c5118d0c44b89771b352268d6015a0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.466Z"
+ "updatedAt": "2025-12-10T11:52:25.061Z",
+ "postProcessHash": "0e0e72f8b189e880b5bdb48aab5117dfde283dfaa2e39fd302ef5d7c13e24571"
}
}
},
"dffd4c42da3504b24c18dcd0fd7658ebc25c4cd4e0fc86ddcafb01b05719aad5": {
"d2a54262f65d87ec7b66b0bc4e4506e7ff90cbaffd387ee4fe68dde97978aa79": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.455Z"
+ "updatedAt": "2025-12-10T11:52:25.039Z",
+ "postProcessHash": "03ca9ba898d8d66e1174aaa5ecce1160a535d5146fb37e331d1c25763db7ecf0"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.456Z"
+ "updatedAt": "2025-12-10T11:52:25.041Z",
+ "postProcessHash": "7110bf9c5c2951272e4ba72661604fa278830029bcf4381cf08eca71030c3bac"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.460Z"
+ "updatedAt": "2025-12-10T11:52:25.047Z",
+ "postProcessHash": "0fc487a74be5f088399f4a3ef9ed96bbef566979956d6aefb61f859fe0fe0067"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.461Z"
+ "updatedAt": "2025-12-10T11:52:25.048Z",
+ "postProcessHash": "7110bf9c5c2951272e4ba72661604fa278830029bcf4381cf08eca71030c3bac"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.465Z"
+ "updatedAt": "2025-12-10T11:52:25.055Z",
+ "postProcessHash": "a332a569f91a411e37a12c79bec9096a12493f7fba67448a49d8ccd5007046f9"
}
}
},
"7932d9bcd4b9594ee35035a723ee451d329721cd2bb4c2548f35d4be4c0d7734": {
"3aec1e39751f7f6ae7e109672135e28609234b282652f4e748d096643b8c5301": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.456Z"
+ "updatedAt": "2025-12-10T11:52:25.040Z",
+ "postProcessHash": "6826e6329c29c78a4768ff31883e2ac4b4aa81a384fd42eed66d4fcdf3b667ab"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.456Z"
+ "updatedAt": "2025-12-10T11:52:25.040Z",
+ "postProcessHash": "b55b4f18095116e29855d9247fd03402e4d2bec804d63b7e7eb63ada111f5be9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.461Z"
+ "updatedAt": "2025-12-10T11:52:25.048Z",
+ "postProcessHash": "b55b4f18095116e29855d9247fd03402e4d2bec804d63b7e7eb63ada111f5be9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.461Z"
+ "updatedAt": "2025-12-10T11:52:25.049Z",
+ "postProcessHash": "b55b4f18095116e29855d9247fd03402e4d2bec804d63b7e7eb63ada111f5be9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.466Z"
+ "updatedAt": "2025-12-10T11:52:25.078Z",
+ "postProcessHash": "b55b4f18095116e29855d9247fd03402e4d2bec804d63b7e7eb63ada111f5be9"
}
}
},
"329223b498b2c65a40990630cb0373a4a1a9bc3f83d61594b86f60de660d2490": {
"401511f578ad4a6a72c6c4fcc4ae0685089400d1fa856c4b037316c88d6ef7ab": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.457Z"
+ "updatedAt": "2025-12-10T11:52:25.042Z",
+ "postProcessHash": "5b9038f761fea347527847e37d7530ccc7f10cbb3b55e3c21af58ac391188205"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.462Z"
+ "updatedAt": "2025-12-10T11:52:25.049Z",
+ "postProcessHash": "5b9038f761fea347527847e37d7530ccc7f10cbb3b55e3c21af58ac391188205"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.462Z"
+ "updatedAt": "2025-12-10T11:52:25.050Z",
+ "postProcessHash": "627b248039d8f71c395b28c4b738ab60750d2fffd03e7b800263437766fbd798"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.463Z"
+ "updatedAt": "2025-12-10T11:52:25.050Z",
+ "postProcessHash": "627b248039d8f71c395b28c4b738ab60750d2fffd03e7b800263437766fbd798"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.467Z"
+ "updatedAt": "2025-12-10T11:52:25.079Z",
+ "postProcessHash": "07f35eef5af3e1f76d92d29c403eec393b0b61a1af5093cd40345b300348da90"
}
}
},
"ae56dd531b654349007b5366d35691e520399b2e5755e0981d52d07db2bd0149": {
"890171db650bacefaf5a36c2a55ef7bb5b3ae2bddbe4108f789959afcc16a58e": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.470Z"
+ "updatedAt": "2025-12-10T11:52:25.044Z",
+ "postProcessHash": "50febff37f519b77fccccaa46a11f7446f2f7011a8a02039b6e108749df62814"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.473Z"
+ "updatedAt": "2025-12-10T11:52:25.056Z",
+ "postProcessHash": "aea23bab6bcfe96e23a34cf3ee454c2090c15bb10fa36c6ce1e2460805b664a2"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.481Z"
+ "updatedAt": "2025-12-10T11:52:25.076Z",
+ "postProcessHash": "4400dc0955cf1323657aea65339efbe69e312f4f9585e9b4508ff8d4c450b539"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.482Z"
+ "updatedAt": "2025-12-10T11:52:25.077Z",
+ "postProcessHash": "4cbab1c673f090808bc355de75c8f9be83d31dd6bbb801935db83bfd2e9040ad"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.488Z"
+ "updatedAt": "2025-12-10T11:52:25.106Z",
+ "postProcessHash": "4400dc0955cf1323657aea65339efbe69e312f4f9585e9b4508ff8d4c450b539"
}
}
},
"55431d6a800bc38f54a449009eab12f6f9bab5ac27008999fd2d0ffad253ebd4": {
"ccc07de45f6fc0989c545ed105b9ab7b48ca1f5a15183b5428d18da4059e38fa": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.471Z"
+ "updatedAt": "2025-12-10T11:52:25.053Z",
+ "postProcessHash": "8c7488e6be2aab9cc049194e48092648d5dab5e833039c708fb372d31eca531c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.471Z"
+ "updatedAt": "2025-12-10T11:52:25.053Z",
+ "postProcessHash": "3663a1253e2f31380406126a88ccb7899def50a7f21f0522881fc8d53e748b27"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.475Z"
+ "updatedAt": "2025-12-10T11:52:25.060Z",
+ "postProcessHash": "be12bdaef1120ec792e6d0502b19773421d45533d23595479ae26bfd45784031"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.478Z"
+ "updatedAt": "2025-12-10T11:52:25.072Z",
+ "postProcessHash": "c2a1ecb458fc9e1446d70f8ee5f6335ddbdd089d349a1ab32c83718377da0b85"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.478Z"
+ "updatedAt": "2025-12-10T11:52:25.073Z",
+ "postProcessHash": "43d5ddea5b8c01fb53b1e870d75a495ce8155de0988e41731c271a23b1b7c635"
}
}
},
"b52a9ffc3e0953721d5cc7fadae8b5846ddb71b76b645abd8cd962b6081d9f81": {
"c7d9f1cba735a20a7d37156f5f5e761bc964c3550fdf2f98425ec862e24fdce0": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.471Z"
+ "updatedAt": "2025-12-10T11:52:25.053Z",
+ "postProcessHash": "e0516e80e3a5d6aa08ce4ca12afc2c5e05132eb0e5d2a8119b4aa045bea8de56"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.472Z"
+ "updatedAt": "2025-12-10T11:52:25.054Z",
+ "postProcessHash": "fb35a8468e4619eb0fb06c02c7631634ee769cea908ac99bc18cb7b81f87f35e"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.474Z"
+ "updatedAt": "2025-12-10T11:52:25.058Z",
+ "postProcessHash": "a168d92cc636c038e04c88c6026b214e2fc8138e92649a9c66dfc7c08fcccbca"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.477Z"
+ "updatedAt": "2025-12-10T11:52:25.071Z",
+ "postProcessHash": "224ad982a7ec9e17530cf51ff7dce96e9fbf53a945d63e900ab7f39d172fe6b0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.482Z"
+ "updatedAt": "2025-12-10T11:52:25.078Z",
+ "postProcessHash": "adb8e7faa1bd5484552c9cce4eaba5164f09041fe09a289acc0e9addc0150fc3"
}
}
},
"a8daa920472039d885cb4780476fd7c9a7e7941bcc2305d5b7c5d9ca041ea150": {
"c300427f664c8ae0f834b262f7e17e03f00f6f05a9ab2617ea7393badd228c5c": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.472Z"
+ "updatedAt": "2025-12-10T11:52:25.054Z",
+ "postProcessHash": "21ffc1241ef8e478c4d46209307278b37ba4ca0936aa9b09485fcd1813a99dbf"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.473Z"
+ "updatedAt": "2025-12-10T11:52:25.055Z",
+ "postProcessHash": "123999d4b604a1293f4e89e8aa5683d5b38b54fb2328ba419db665eda9eac8d8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.475Z"
+ "updatedAt": "2025-12-10T11:52:25.060Z",
+ "postProcessHash": "6471624b1838a0cbeed2e83b096476c87f5a0b5cd2c849b145a51f207d9b9e4c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.480Z"
+ "updatedAt": "2025-12-10T11:52:25.074Z",
+ "postProcessHash": "41e52fdefbb6f9a280054bce3a4b05671ecd08702a5b35dd1fddcf8da78d2f95"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.482Z"
+ "updatedAt": "2025-12-10T11:52:25.079Z",
+ "postProcessHash": "702bdd8ba0bdc05c86f99df5c4c302b8e44d22768bdff4fd17dcd63fdf61f2cf"
}
}
},
"de072b6c00a2b129c55ded32bd17439ddda585119b85a75685049d4163805a4d": {
"9c138a3a23d72582f4ab3daec53dae89fe7c5a4cf005595a73f5ba1b9806c857": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.472Z"
+ "updatedAt": "2025-12-10T11:52:25.055Z",
+ "postProcessHash": "0e42d7580ee97aa9037af6068931be394526a887b8cb6ca23d19441b4f8e409d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.475Z"
+ "updatedAt": "2025-12-10T11:52:25.059Z",
+ "postProcessHash": "ea3dcff1befa6acf08abd1d539461c08b34991bc9919f8ff282324ecf5818454"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.475Z"
+ "updatedAt": "2025-12-10T11:52:25.060Z",
+ "postProcessHash": "6882ba8fa5d412efeded481521c273ff4dd90b1d1f89818d77b79292f6c288e8"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.477Z"
+ "updatedAt": "2025-12-10T11:52:25.071Z",
+ "postProcessHash": "b4e052f54b1bc7a009b9b834e620f60e6dedd08a6dfd3b5e44878371a26661b9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.482Z"
+ "updatedAt": "2025-12-10T11:52:25.078Z",
+ "postProcessHash": "2e951b82bf1f1b98e002311e1c3bcffe06fd27a48083b4c2551ec897c2c5a32b"
}
}
},
"35971633cee8b45ada59b882da8792675488b905ab07ce2c8d1a5c7656f61f00": {
"df67d6526d18c4d54e8232120f5418e611c2d805114083d80f6dd111dec9e04e": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.473Z"
+ "updatedAt": "2025-12-10T11:52:25.057Z",
+ "postProcessHash": "0c4f1382096b6e8c641dc4d8893f4da9d81385338b1a7ba4ff2f21ab17d37b25"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.476Z"
+ "updatedAt": "2025-12-10T11:52:25.069Z",
+ "postProcessHash": "9457ff210cfe55ab0bd7ea28c84b5aee1ee85feae66ccb895838f42639e10748"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.479Z"
+ "updatedAt": "2025-12-10T11:52:25.073Z",
+ "postProcessHash": "cda9979ffbebbdd35921b401a45280d17679f96d3c531fbb11c7cacb3efb902c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.480Z"
+ "updatedAt": "2025-12-10T11:52:25.075Z",
+ "postProcessHash": "23dffc0c0c480aae98c05614deed9d115ca7d97997303f7d555bee86c3b7a8e1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.486Z"
+ "updatedAt": "2025-12-10T11:52:25.091Z",
+ "postProcessHash": "68238c01a62af5e6cbb6dab4d0a972a0bcb3f2d132f91d8d2ed39783d2d55d43"
}
}
},
"4bb195404776aa0760c57c03f638915b194684e43823b7475895849af1c7e254": {
"7dc16f5d35a0fd67128ef6d548c92a2ade345ec2ef606c204f2b6cc1ad751c31": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.468Z"
+ "updatedAt": "2025-12-10T11:52:25.064Z",
+ "postProcessHash": "16c41fa4a36533870dd2900dbc5bd32be4f017ce49e1ea634d87886ed7157738"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.468Z"
+ "updatedAt": "2025-12-10T11:52:25.064Z",
+ "postProcessHash": "7dc16f5d35a0fd67128ef6d548c92a2ade345ec2ef606c204f2b6cc1ad751c31"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.469Z"
+ "updatedAt": "2025-12-10T11:52:25.065Z",
+ "postProcessHash": "7dc16f5d35a0fd67128ef6d548c92a2ade345ec2ef606c204f2b6cc1ad751c31"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.469Z"
+ "updatedAt": "2025-12-10T11:52:25.065Z",
+ "postProcessHash": "6cdac6147ce3bba07ccd87e3ccda3cbb5d917c1f8fc7bfc58b8ed8689e2a626a"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.470Z"
+ "updatedAt": "2025-12-10T11:52:25.066Z",
+ "postProcessHash": "cf8ba080247f7719467c57b6c0d9a6d8c76d9135321c8beb277f09a86f9801bb"
}
}
},
"3a95e6895533532982d4b12440b160759632da7caee0e245d4a53d648f45466b": {
"3b7f1c0e1df63bc2cdcf7356269e23dd987704c961dfcfb02d9f3115245087b7": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.474Z"
+ "updatedAt": "2025-12-10T11:52:25.058Z",
+ "postProcessHash": "24034bb0a30026f38e23b3b4c4f7b4dbbec6449b82a206efbd04519b177f25d6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.474Z"
+ "updatedAt": "2025-12-10T11:52:25.059Z",
+ "postProcessHash": "3b6e5716910853e26018a605a3a4b934007c1316c6724c4e1ac118ba29948a3d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.474Z"
+ "updatedAt": "2025-12-10T11:52:25.059Z",
+ "postProcessHash": "25cb4a8730c51551daaf8fbe34fc96f34dde7d746b04ef010ae7a4e2ae063c8e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.485Z"
+ "updatedAt": "2025-12-10T11:52:25.087Z",
+ "postProcessHash": "24ebb3e9e223c3a11aadb7243d89265e51d110dd102bffb23de7a159deefdc13"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.487Z"
+ "updatedAt": "2025-12-10T11:52:25.095Z",
+ "postProcessHash": "2caa3b98430459d18c06ea9f45bdd7f1955627d60e73f8ed6c147a39e8a65d9e"
}
}
},
"427a01be524b52fd4b9b7b459ba50bb64a81e28d252ba42c9bc849254788b3ed": {
"15fdaddb9d673a0d75d3ee71edb2a4f70c192551f927a6f0371e939cf586f7cd": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.476Z"
+ "updatedAt": "2025-12-10T11:52:25.068Z",
+ "postProcessHash": "aaff0a26adf8967af6b324f3186383bdcfc143f1873126d541bf2055601ec34a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.481Z"
+ "updatedAt": "2025-12-10T11:52:25.077Z",
+ "postProcessHash": "aaff0a26adf8967af6b324f3186383bdcfc143f1873126d541bf2055601ec34a"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.483Z"
+ "updatedAt": "2025-12-10T11:52:25.080Z",
+ "postProcessHash": "aaff0a26adf8967af6b324f3186383bdcfc143f1873126d541bf2055601ec34a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.483Z"
+ "updatedAt": "2025-12-10T11:52:25.080Z",
+ "postProcessHash": "aaff0a26adf8967af6b324f3186383bdcfc143f1873126d541bf2055601ec34a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.483Z"
+ "updatedAt": "2025-12-10T11:52:25.081Z",
+ "postProcessHash": "aaff0a26adf8967af6b324f3186383bdcfc143f1873126d541bf2055601ec34a"
}
}
},
"382b60428b12cc451b447dfa88da236533c08515d2a59a1d4617d3224cb84b9f": {
"2f026aa374e36c1a2dc7482aff76fdd035fa7b0d853e15cb55f43c3857b9aa4f": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.476Z"
+ "updatedAt": "2025-12-10T11:52:25.069Z",
+ "postProcessHash": "05cc6440c81ff849161417b1e14f1085bc80b98a064b6f00908797e64b988399"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.477Z"
+ "updatedAt": "2025-12-10T11:52:25.070Z",
+ "postProcessHash": "301e9f4ada98a50953dc07047dceda69bcaf0ebe64db45b015fa3e49ee0a5254"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.479Z"
+ "updatedAt": "2025-12-10T11:52:25.074Z",
+ "postProcessHash": "64ed6820627738b66e591eac9d16d12d8ed6231be20c1dc27b2dec0cf07909f9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.485Z"
+ "updatedAt": "2025-12-10T11:52:25.088Z",
+ "postProcessHash": "05cc6440c81ff849161417b1e14f1085bc80b98a064b6f00908797e64b988399"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.487Z"
+ "updatedAt": "2025-12-10T11:52:25.099Z",
+ "postProcessHash": "ac56fea6b290d09521f3d936ee9f9314d7e560754474c53509ef5ed71b2ce3bb"
}
}
},
"fc083fcc20595a5f38421325e0cc8f00819e79190b8a5dc92321ee01887e4151": {
"ba5df453115d233903b6da70be572ed418c243228b9f97996bd8cf81dd0f3462": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.478Z"
+ "updatedAt": "2025-12-10T11:52:25.072Z",
+ "postProcessHash": "134fdfa2cca056132ef329bfc3116f74d43d917839b4aa002709fe6f5a250e8c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.478Z"
+ "updatedAt": "2025-12-10T11:52:25.073Z",
+ "postProcessHash": "2dcfc060eb964da0dbb6d800bcffb4770cee9eef880929ca2d2129586cad6914"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.479Z"
+ "updatedAt": "2025-12-10T11:52:25.074Z",
+ "postProcessHash": "718ad6afd37a364a66ddb8b58b4c43774ca4859d7ef2ca352a982b537fffec45"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.484Z"
+ "updatedAt": "2025-12-10T11:52:25.086Z",
+ "postProcessHash": "0e7196a67ddf12ce965edea04d0356593fcef18366f634891c385daaa33bfc4f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.486Z"
+ "updatedAt": "2025-12-10T11:52:25.088Z",
+ "postProcessHash": "163fa156135d8febbde01b6538c7af23fc302d06ebb1b71d74a384354f6a9cb4"
}
}
},
"ccb2d79baa889c5c2fade16e30a2cb95ea91257757be953474e8017e4240ca8a": {
"82a448a6c6bd0cbabbe18cd311c5cb8ae26dd820bc99b3170a28b3251da8afe6": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.480Z"
+ "updatedAt": "2025-12-10T11:52:25.075Z",
+ "postProcessHash": "d8db0846bf724e54679e4efd4131d98193a4dba0fe27af72570519760d83320d"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.484Z"
+ "updatedAt": "2025-12-10T11:52:25.081Z",
+ "postProcessHash": "d8db0846bf724e54679e4efd4131d98193a4dba0fe27af72570519760d83320d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.484Z"
+ "updatedAt": "2025-12-10T11:52:25.084Z",
+ "postProcessHash": "d8db0846bf724e54679e4efd4131d98193a4dba0fe27af72570519760d83320d"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.487Z"
+ "updatedAt": "2025-12-10T11:52:25.102Z",
+ "postProcessHash": "d8db0846bf724e54679e4efd4131d98193a4dba0fe27af72570519760d83320d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.501Z"
+ "updatedAt": "2025-12-10T11:52:25.101Z",
+ "postProcessHash": "a5353719af46e426e8d9558b1331106399788b772213ac75f18429d2c2e5c131"
}
}
},
"a766af4151b504649b977388d894ea3b1c93dfdddfd1fcce1a52da3c98273bcc": {
"6fbb437c01183272a935e7d0993578854121a10a6f60056dc771ba4ad650e9e5": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.490Z"
+ "updatedAt": "2025-12-10T11:52:25.075Z",
+ "postProcessHash": "a609bc0e4bb210b97abd6e81b8293d2def1e58491cdcf9dd868a5997c4ce07b0"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.490Z"
+ "updatedAt": "2025-12-10T11:52:25.076Z",
+ "postProcessHash": "28700aaea8db07ed2022df2789b39427fda2ce60b7bddf4fe47235f2a3fb442d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.494Z"
+ "updatedAt": "2025-12-10T11:52:25.090Z",
+ "postProcessHash": "cabe56576eaea1b373376e8bd6500940df8cd78c68efcfad14a72b1dafceb97c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.507Z"
+ "updatedAt": "2025-12-10T11:52:25.105Z",
+ "postProcessHash": "92b5847a356b3eb1a519ad68ea4d20af14abbcf3cd88c81550f4536214b64da8"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.511Z"
+ "updatedAt": "2025-12-10T11:52:25.106Z",
+ "postProcessHash": "60a8eab9ef575e14e9f63ee562f5d89f30d84503352df7b0a793082d19e64385"
}
}
},
"1cddecb6c60e552f90c905b8ee5774082e2e26e7294ca0c4dec713ed97a2f43b": {
"51472d855670d2643470632913d84c800170e0e8bfc0e2a3433bf0a1e7811aac": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.491Z"
+ "updatedAt": "2025-12-10T11:52:25.081Z",
+ "postProcessHash": "b6c36ab58f60cfd2d13f08e2b45775842a4d93ba2e5f7f7306f739d6eba661a6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.504Z"
+ "updatedAt": "2025-12-10T11:52:25.111Z",
+ "postProcessHash": "922ac994831c7f86ecce5f2dc6cc329d604cb6ece6ce71d00613474c592a6397"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.513Z"
+ "updatedAt": "2025-12-10T11:52:25.132Z",
+ "postProcessHash": "443bfd1a96a2d4ac42c513d9c0a6122c061234eaf90852b342060850b1192535"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.513Z"
+ "updatedAt": "2025-12-10T11:52:25.136Z",
+ "postProcessHash": "70ba79067bf0380934ff41a151a30be4fa6e2e3826aaa116c97809f0a99df510"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.515Z"
+ "updatedAt": "2025-12-10T11:52:25.145Z",
+ "postProcessHash": "e4c5b520fb5c6184ce2768a82620d86949b42222e31006704bef5ed7cc3c6fd2"
}
}
},
"756ec1dabfac20b85a0b881a4d6fd97678f762dda95eb93ea10e5dc4a43baa3f": {
"296909ac8c951f76d3a166495bab4af3c50c4e0611e7370e9eff1ee4aaaaf01f": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.491Z"
+ "updatedAt": "2025-12-10T11:52:25.082Z",
+ "postProcessHash": "6d0179e2fbe0c0694cbe03c775e3cef31d9dc83874cb678fffc6f13f8b6a502b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.493Z"
+ "updatedAt": "2025-12-10T11:52:25.086Z",
+ "postProcessHash": "22c2e11fd7ed557eb037d30c3d693e9da66383a8f46644300b9cc5d062a69e7b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.493Z"
+ "updatedAt": "2025-12-10T11:52:25.087Z",
+ "postProcessHash": "2ccb9bc5ea2fb04bfc70952c6cb480a966593381cf5a3d008235f727276bca03"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.511Z"
+ "updatedAt": "2025-12-10T11:52:25.106Z",
+ "postProcessHash": "17b3efdfac86e5165639672bb1ea87bf60566e6e46e137e26c737094ed0fc869"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.515Z"
+ "updatedAt": "2025-12-10T11:52:25.107Z",
+ "postProcessHash": "b5bb33941e823c3c56353afadef9f7d58eb48b5a935c91febe778a2c5e15aaa6"
}
}
},
"e5dabc88fbe9cceda68aa84f85c4eac6b5ccc8461e98d3473c49088e9fa10c96": {
"dca835b35c72bc153e918336c184ed82234fc2324782570fd62464ae0b8206e6": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.492Z"
+ "updatedAt": "2025-12-10T11:52:25.082Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.515Z"
+ "updatedAt": "2025-12-10T11:52:25.083Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.518Z"
+ "updatedAt": "2025-12-10T11:52:25.118Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.510Z"
+ "updatedAt": "2025-12-10T11:52:25.119Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.514Z"
+ "updatedAt": "2025-12-10T11:52:25.138Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
}
}
},
"d9f6163d3cfe0476202b246bca1c45715a4762c67d3ab1efe303d568fce34dd9": {
"ba5df453115d233903b6da70be572ed418c243228b9f97996bd8cf81dd0f3462": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.492Z"
+ "updatedAt": "2025-12-10T11:52:25.083Z",
+ "postProcessHash": "ed44764f9ea617777d035fe0d6c94247eb75f7a9b969b0805a5b26b37b23997d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.492Z"
+ "updatedAt": "2025-12-10T11:52:25.084Z",
+ "postProcessHash": "134fdfa2cca056132ef329bfc3116f74d43d917839b4aa002709fe6f5a250e8c"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.498Z"
+ "updatedAt": "2025-12-10T11:52:25.096Z",
+ "postProcessHash": "134fdfa2cca056132ef329bfc3116f74d43d917839b4aa002709fe6f5a250e8c"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.501Z"
+ "updatedAt": "2025-12-10T11:52:25.100Z",
+ "postProcessHash": "85ff8a7914699ea89b8480b65de2b6f512a250d19b3a4ede49693d61bdb74111"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.511Z"
+ "updatedAt": "2025-12-10T11:52:25.105Z",
+ "postProcessHash": "c528d8d52888d364717058f8a4e211d315fe44ff4ea292fbb43e27956c808478"
}
}
},
"0a0730370260ce807af94e146d6ac52c2fd5ac094c41641474fa9e36b398417d": {
"6efe6ae5cbc2b952c7e6c981fb896032dfdb96a734598ee284379b2da9da0122": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.493Z"
+ "updatedAt": "2025-12-10T11:52:25.085Z",
+ "postProcessHash": "5dad65b55a6fe7e6746740625c5841acdfb261aac514c63255d54e33d3921b21"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.494Z"
+ "updatedAt": "2025-12-10T11:52:25.089Z",
+ "postProcessHash": "711db2649dd3b0da0bd0968041a18f00d4b724af937e5586e03bfa961f8b4254"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.494Z"
+ "updatedAt": "2025-12-10T11:52:25.089Z",
+ "postProcessHash": "5deaf11b78841a97f234a5639ea94797e21cd71b191072808aa75fe891c41b16"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.500Z"
+ "updatedAt": "2025-12-10T11:52:25.099Z",
+ "postProcessHash": "e8bfd7420ae9136827be4d7b0fb4ab237cdcdaa67393adb917c1d700741baf16"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.502Z"
+ "updatedAt": "2025-12-10T11:52:25.103Z",
+ "postProcessHash": "1708895836f2c65656a8656c85fb830a355f88a410ab913c63aa2f08eea1e9e9"
}
}
},
"7019807117604292edf9faaac5ee9f3dfc26ec8e69c3fb4a7186d3033288c8a9": {
"c817690e2eb454b817094110f5a4767c3fa777576b9e999daa997893a70732a1": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.484Z"
+ "updatedAt": "2025-12-10T11:52:25.085Z",
+ "postProcessHash": "b0f4bece0dbce3bc7f693fb275be41ffcfa6f09fe1bdc02f02e681ca95a25b51"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.485Z"
+ "updatedAt": "2025-12-10T11:52:25.087Z",
+ "postProcessHash": "5afff67324ccad421d8a737b2b4439a281f7d5f90285f0664e0ace9734975771"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.486Z"
+ "updatedAt": "2025-12-10T11:52:25.090Z",
+ "postProcessHash": "b47ab25f2eeadcdb745be91b96f17b7180cf64a543eaa119d82c290d4681e56b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.486Z"
+ "updatedAt": "2025-12-10T11:52:25.090Z",
+ "postProcessHash": "cb2a4ad70099fccad972e84d5ff55d4dedc7a044e790955c6c6d0abc9a6d78b4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.487Z"
+ "updatedAt": "2025-12-10T11:52:25.101Z",
+ "postProcessHash": "6e86a42e960ba8be4e34c8e719660be862f55a4faa46ce21f7b74abb9bf386b3"
}
}
},
"7c6f70473c6a93d337a4d9ef2c1360adbd7b1d2669fc138fd942ca7a43e5dd9f": {
"ec771556953ec22ab8d82fb2e69d9f66e18f5dc30e5cea114f849d5011dab76e": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.488Z"
+ "updatedAt": "2025-12-10T11:52:25.107Z",
+ "postProcessHash": "413cd88a49db1b47777026199bae1439d53990851da9192cd8fcf7e977484ec4"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.489Z"
+ "updatedAt": "2025-12-10T11:52:25.108Z",
+ "postProcessHash": "68fd9a73bf5c6d507e59c083afc256f5f2881d283f71018530bb6a99d032104e"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.489Z"
+ "updatedAt": "2025-12-10T11:52:25.108Z",
+ "postProcessHash": "ec771556953ec22ab8d82fb2e69d9f66e18f5dc30e5cea114f849d5011dab76e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.489Z"
+ "updatedAt": "2025-12-10T11:52:25.109Z",
+ "postProcessHash": "f50d3cfba5fe3290ca87fe687750c9167389c2be5c13357de0856098ea47a5f4"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.489Z"
+ "updatedAt": "2025-12-10T11:52:25.109Z",
+ "postProcessHash": "ec771556953ec22ab8d82fb2e69d9f66e18f5dc30e5cea114f849d5011dab76e"
}
}
},
"a56b1dbf7019b555c91141227f4e51642f48b0c49d067eabe9097f6fbc7e60c6": {
"93d1ef3f8e481b180cfad75e2a7241a2a2d6c15869741d9ba1f2c07f5cdd6e08": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.494Z"
+ "updatedAt": "2025-12-10T11:52:25.089Z",
+ "postProcessHash": "e7a4127b810a194c32de6e29984b42968edd5766e459b4f599402165e130e97d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.500Z"
+ "updatedAt": "2025-12-10T11:52:25.099Z",
+ "postProcessHash": "ed10fe7e1a75c186833376184d84b5140087c0087732fba477699c6f49eb55ca"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.500Z"
+ "updatedAt": "2025-12-10T11:52:25.100Z",
+ "postProcessHash": "54b22c8e73f5dcea681f7936c29e9facb822cfe9b3d4d3307b0f7f4ff043a3d5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.501Z"
+ "updatedAt": "2025-12-10T11:52:25.101Z",
+ "postProcessHash": "610d37f7def40dd56a7a30a5873f3786a29cd41773ffd4ae8eb13f7b94ca9dc6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.508Z"
+ "updatedAt": "2025-12-10T11:52:25.115Z",
+ "postProcessHash": "543b33a1549c3123b366b7dde6bb55a59d35b970376c574edae7316d3d6c304f"
}
}
},
"8a54310c41f81a31375ade8fcc9743c2ad20f43147ab1aba80f3a9254a65e098": {
"b642f1dd2c7969663a665994be9b1a1e8e449742823dcaece268ef66504eb1fe": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.495Z"
+ "updatedAt": "2025-12-10T11:52:25.091Z",
+ "postProcessHash": "14f6aa7be33b819084d8a3f437e4f4549b9d764481702e76218af59c3005ef41"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.495Z"
+ "updatedAt": "2025-12-10T11:52:25.092Z",
+ "postProcessHash": "f26361619e83b194ab100d5430922f0187a82e5e5edd4de878148bf0d5b1289e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.495Z"
+ "updatedAt": "2025-12-10T11:52:25.092Z",
+ "postProcessHash": "d924ab6432c417f854e57a3c19f319c42d1379cf13e76a5233212fd0aaa02cf7"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.496Z"
+ "updatedAt": "2025-12-10T11:52:25.093Z",
+ "postProcessHash": "bb0f2fb5863ee586d14b75b18007f585e7117a6b2cb23d5a3d0944d55438b38a"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.496Z"
+ "updatedAt": "2025-12-10T11:52:25.094Z",
+ "postProcessHash": "5c1061119e876a4c82d2c6808516ac112fdcb2b73124d072233546260f084bc6"
}
}
},
"8c1ae8eea748e67b05515ffb60dbc762fd354cca121b8af179c0e9ba317382a3": {
"76a15d0f583c07e1d7c705d43ad49eeb1e7d60fd2f7c22a17eef2d6ec83662b7": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.496Z"
+ "updatedAt": "2025-12-10T11:52:25.094Z",
+ "postProcessHash": "b86b4f38c866520d43ef822f3eca923dca60552132314cf7720c23e62f201a4a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.497Z"
+ "updatedAt": "2025-12-10T11:52:25.095Z",
+ "postProcessHash": "0360c9bb5e47cdaeacd8d07a0bd7132c8621857fdb7f727256beb33d2982b301"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.497Z"
+ "updatedAt": "2025-12-10T11:52:25.096Z",
+ "postProcessHash": "0022461044b8d024dd915c35076f6771f80f6f2655109f568f865fbe89db24ab"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.508Z"
+ "updatedAt": "2025-12-10T11:52:25.105Z",
+ "postProcessHash": "a6da47aeffa5755bbad9930d8abd58755de1b8d5f7d8a783e50bb52ef2d0610c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.514Z"
+ "updatedAt": "2025-12-10T11:52:25.107Z",
+ "postProcessHash": "906a895e1347215285ddfc98023cd95a8415b2b498dd4188f3e0df882ce9eeee"
}
}
},
"b1a75277754de0398228570210e3ddb5f00a108e5913f3cb0bb566dd01dab52d": {
"dca835b35c72bc153e918336c184ed82234fc2324782570fd62464ae0b8206e6": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.498Z"
+ "updatedAt": "2025-12-10T11:52:25.097Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.499Z"
+ "updatedAt": "2025-12-10T11:52:25.098Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.502Z"
+ "updatedAt": "2025-12-10T11:52:25.103Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.506Z"
+ "updatedAt": "2025-12-10T11:52:25.112Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.510Z"
+ "updatedAt": "2025-12-10T11:52:25.116Z",
+ "postProcessHash": "a1fc63526fe42c5d57c1d12f5948b2d01555ff025944c16323b2a94467a3d370"
}
}
},
"6cbb691c92aef84c0278ecf14f16f6886dc950f479dd5cf7926280f93bec6254": {
"22f5f50bf48508f67bdeb7c4dcf7e2edd0b7b1321f4c9a5230f0298b29039048": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.499Z"
+ "updatedAt": "2025-12-10T11:52:25.098Z",
+ "postProcessHash": "27641fcb47349a4276afaefdf143795877cf728109b14a0e5a4c0c15b84d8b68"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.503Z"
+ "updatedAt": "2025-12-10T11:52:25.104Z",
+ "postProcessHash": "57e32004debee7eb66457ae266accf52514bd9f0f1a1616076a2b9380851c012"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.512Z"
+ "updatedAt": "2025-12-10T11:52:25.129Z",
+ "postProcessHash": "c56f1f738dd5db4a75a1caee98f8ae31fce5465496151da88d86609860f29dc5"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.512Z"
+ "updatedAt": "2025-12-10T11:52:25.132Z",
+ "postProcessHash": "679e1ff6b2b0934148f7e9603e55f1b242ff7aa7919190a42014049ec9aa07a3"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.514Z"
+ "updatedAt": "2025-12-10T11:52:25.140Z",
+ "postProcessHash": "eed88cb4e4714bf7a3e130697925061bf75dac5d47074ad59286a2637369ff45"
}
}
},
"7468f91fb48adb9b5b7c646808a23e2928795e21007804ab8477c3f11e196d81": {
"e1ac4189e186bbafa5115ef86d2f83f54cac754f2574bfd79bec47f9f6bdadcc": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.502Z"
+ "updatedAt": "2025-12-10T11:52:25.102Z",
+ "postProcessHash": "adccdebc9379b19efd300338f691e7ce6e28250ceb2be79ff2e7f397005dc888"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.505Z"
+ "updatedAt": "2025-12-10T11:52:25.111Z",
+ "postProcessHash": "b52b926c86bdbaaf56ca4c26acde288b412e1bed9c206392438a080f01024bae"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.505Z"
+ "updatedAt": "2025-12-10T11:52:25.111Z",
+ "postProcessHash": "3577359e47a367bfbc0fb87b514df0988b44d1478a8fc397a8a8a8a28e356629"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.506Z"
+ "updatedAt": "2025-12-10T11:52:25.112Z",
+ "postProcessHash": "b344e375847aba507dd99d41b62c672dcfefe7e9d55ebab7f66617d06fdb49a5"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.509Z"
+ "updatedAt": "2025-12-10T11:52:25.116Z",
+ "postProcessHash": "3577359e47a367bfbc0fb87b514df0988b44d1478a8fc397a8a8a8a28e356629"
}
}
},
"f74f8eeb1018ad53574dd8c9961efb73be0d66de71633eef109c5a5b67ff191e": {
"b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.503Z"
+ "updatedAt": "2025-12-10T11:52:25.104Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.504Z"
+ "updatedAt": "2025-12-10T11:52:25.104Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.505Z"
+ "updatedAt": "2025-12-10T11:52:25.112Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.507Z"
+ "updatedAt": "2025-12-10T11:52:25.113Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.508Z"
+ "updatedAt": "2025-12-10T11:52:25.114Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
}
}
},
"105decee0a46df1fca5eb4c7404f9884ff02d6b1334005fc6d6371e9f05ec702": {
"44daff96b5a074d255010ea08fd7c59827f5522b3753b21f61aac67d562925eb": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.516Z"
+ "updatedAt": "2025-12-10T11:52:25.113Z",
+ "postProcessHash": "e1dcafa0c59f447b246c4eaed050330eb1c173a96a109885cf1429d5178708a9"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.516Z"
+ "updatedAt": "2025-12-10T11:52:25.114Z",
+ "postProcessHash": "e1dcafa0c59f447b246c4eaed050330eb1c173a96a109885cf1429d5178708a9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.516Z"
+ "updatedAt": "2025-12-10T11:52:25.114Z",
+ "postProcessHash": "e1dcafa0c59f447b246c4eaed050330eb1c173a96a109885cf1429d5178708a9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.518Z"
+ "updatedAt": "2025-12-10T11:52:25.119Z",
+ "postProcessHash": "e1dcafa0c59f447b246c4eaed050330eb1c173a96a109885cf1429d5178708a9"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.525Z"
+ "updatedAt": "2025-12-10T11:52:25.128Z",
+ "postProcessHash": "e1dcafa0c59f447b246c4eaed050330eb1c173a96a109885cf1429d5178708a9"
}
}
},
"6fe2bfa4f40f8d77169fb1f6e3005b3fc0f6f68d4b4448516c448d2116384eb5": {
"c8c380c65ec5a6114ef86c2016d3f26e1ea42811cd5062fcca60357ceb0e31ba": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.517Z"
+ "updatedAt": "2025-12-10T11:52:25.115Z",
+ "postProcessHash": "d8c5e510aad7f764418ef019aa67e4abf1eddb68c97170e9017f6e7ba8f365c4"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.520Z"
+ "updatedAt": "2025-12-10T11:52:25.120Z",
+ "postProcessHash": "c2879b66700edb11316da28f9a0ea55bccb2cc1274db8bbf52ac4c7a63c39394"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.525Z"
+ "updatedAt": "2025-12-10T11:52:25.128Z",
+ "postProcessHash": "9f7cb0d9898f8491e9f9e4ea9097cf1e55b00114171ee5867d2943b28ba71fda"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.526Z"
+ "updatedAt": "2025-12-10T11:52:25.129Z",
+ "postProcessHash": "c2879b66700edb11316da28f9a0ea55bccb2cc1274db8bbf52ac4c7a63c39394"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.541Z"
+ "updatedAt": "2025-12-10T11:52:25.150Z",
+ "postProcessHash": "bfee133877d2d27ee4cd7306fa8ce035f063f85bf9e05b90a1480dcea4d54957"
}
}
},
"8a66a60b05aa5a534ed2f94aed27b8c9785a85f181b662b04522f95248f21344": {
"b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.517Z"
+ "updatedAt": "2025-12-10T11:52:25.117Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.518Z"
+ "updatedAt": "2025-12-10T11:52:25.118Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.522Z"
+ "updatedAt": "2025-12-10T11:52:25.122Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.523Z"
+ "updatedAt": "2025-12-10T11:52:25.124Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.527Z"
+ "updatedAt": "2025-12-10T11:52:25.131Z",
+ "postProcessHash": "b5968829b2277e2aca634c8c1857d374b7c23c8175c8b7e778c4c6314d06d893"
}
}
},
"fa161697d413aa0cce69a1cefc632cf8cbee35713d165b14debc527ae7fad1aa": {
"2b1087c4fa9d6fcd9bc6b8bc020adf43afdbcf988419e474c9032d6497a62d30": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.517Z"
+ "updatedAt": "2025-12-10T11:52:25.117Z",
+ "postProcessHash": "e573d8591bd570faf339045e674415f754c6c354f6eb6d353393afad6f0b43fe"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.518Z"
+ "updatedAt": "2025-12-10T11:52:25.118Z",
+ "postProcessHash": "e573d8591bd570faf339045e674415f754c6c354f6eb6d353393afad6f0b43fe"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.520Z"
+ "updatedAt": "2025-12-10T11:52:25.121Z",
+ "postProcessHash": "e573d8591bd570faf339045e674415f754c6c354f6eb6d353393afad6f0b43fe"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.521Z"
+ "updatedAt": "2025-12-10T11:52:25.122Z",
+ "postProcessHash": "e573d8591bd570faf339045e674415f754c6c354f6eb6d353393afad6f0b43fe"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.528Z"
+ "updatedAt": "2025-12-10T11:52:25.134Z",
+ "postProcessHash": "e573d8591bd570faf339045e674415f754c6c354f6eb6d353393afad6f0b43fe"
}
}
},
"5e43e2dc7b1656f7f6b5cc4cb3ee732d76f54db759bdfb2a89a9bb3500f21c2a": {
"6aba839f4650716683a101f6f9b029f875a5014042685034f5eb376e517ecf71": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.544Z"
+ "updatedAt": "2025-12-10T11:52:25.109Z",
+ "postProcessHash": "6aba839f4650716683a101f6f9b029f875a5014042685034f5eb376e517ecf71"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.544Z"
+ "updatedAt": "2025-12-10T11:52:25.110Z",
+ "postProcessHash": "6aba839f4650716683a101f6f9b029f875a5014042685034f5eb376e517ecf71"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.550Z"
+ "updatedAt": "2025-12-10T11:52:25.232Z",
+ "postProcessHash": "7c21a96df22d1dbcb1d08a98b7d9972a87b597f57cd2e6afa5e3ffbc5e72ad06"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.552Z"
+ "updatedAt": "2025-12-10T11:52:25.235Z",
+ "postProcessHash": "6aba839f4650716683a101f6f9b029f875a5014042685034f5eb376e517ecf71"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.553Z"
+ "updatedAt": "2025-12-10T11:52:25.237Z",
+ "postProcessHash": "8ba8e5fc6d08c059dc679700a9162351423b0d12b3c48fa49e559f6809ac9fe5"
}
}
},
"3e96b75a5b9f723919ebc66220876d31119e516af6c0843c5c80ac21a953f770": {
"71c98eb545122f91c9f9826b71e30b9d3ed582ded5348b1bbd209405d2398fcc": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.545Z"
+ "updatedAt": "2025-12-10T11:52:25.066Z",
+ "postProcessHash": "ef07a2b56f83257b10026f3cd9e1159936fae26a5ac51589f94b83cf60fa962b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.555Z"
+ "updatedAt": "2025-12-10T11:52:25.154Z",
+ "postProcessHash": "ef07a2b56f83257b10026f3cd9e1159936fae26a5ac51589f94b83cf60fa962b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.558Z"
+ "updatedAt": "2025-12-10T11:52:25.158Z",
+ "postProcessHash": "ef07a2b56f83257b10026f3cd9e1159936fae26a5ac51589f94b83cf60fa962b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.562Z"
+ "updatedAt": "2025-12-10T11:52:25.247Z",
+ "postProcessHash": "ef07a2b56f83257b10026f3cd9e1159936fae26a5ac51589f94b83cf60fa962b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.562Z"
+ "updatedAt": "2025-12-10T11:52:25.247Z",
+ "postProcessHash": "ef07a2b56f83257b10026f3cd9e1159936fae26a5ac51589f94b83cf60fa962b"
}
}
},
"c270106463ee206cd1a58e831f5e10df5ff0bc82d5698d1f02b4540d42bfc572": {
"a79d0c98476d6247553db3b2937156d22e22ecc4deb48270a7937b5148a934ab": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.545Z"
+ "updatedAt": "2025-12-10T11:52:25.066Z",
+ "postProcessHash": "f70d783d89cfc7ea308641e1f17b8786ed5444f970936e1ee6451c3c1514e9a8"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.557Z"
+ "updatedAt": "2025-12-10T11:52:25.157Z",
+ "postProcessHash": "60d9532de8ed09d4b0a5e6b0ff0a63a11f281893d5c06cd71248d18b32f31ddf"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.559Z"
+ "updatedAt": "2025-12-10T11:52:25.241Z",
+ "postProcessHash": "64259054c0fcdabb8de4a2365aae85a181a79397884f01d1380b7f63157b43bc"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.560Z"
+ "updatedAt": "2025-12-10T11:52:25.242Z",
+ "postProcessHash": "64259054c0fcdabb8de4a2365aae85a181a79397884f01d1380b7f63157b43bc"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.562Z"
+ "updatedAt": "2025-12-10T11:52:25.246Z",
+ "postProcessHash": "b7f4cdeffda979030d8402afc14b605a7f80242e3db36abdfb8e51f1cfa182b7"
}
}
},
"7c2a6224e991b6bf91709f161a96825fc6657086404f4000eb076610e0bb7299": {
"9be392b226222107c9da1f5d2eae7e75e3356ecd41b2a01dae6c1c9f0bd32f4b": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.545Z"
+ "updatedAt": "2025-12-10T11:52:25.067Z",
+ "postProcessHash": "e26031b156af1231172a0187a814fc6ec73d9794af87e03f4032c5e638eb3210"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.558Z"
+ "updatedAt": "2025-12-10T11:52:25.158Z",
+ "postProcessHash": "e26031b156af1231172a0187a814fc6ec73d9794af87e03f4032c5e638eb3210"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.558Z"
+ "updatedAt": "2025-12-10T11:52:25.158Z",
+ "postProcessHash": "ac1ca5b22e6ce0c850d6edc6fb729458849c345be18a457a5884c40819b714a9"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.560Z"
+ "updatedAt": "2025-12-10T11:52:25.243Z",
+ "postProcessHash": "ac1ca5b22e6ce0c850d6edc6fb729458849c345be18a457a5884c40819b714a9"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.561Z"
+ "updatedAt": "2025-12-10T11:52:25.244Z",
+ "postProcessHash": "ac1ca5b22e6ce0c850d6edc6fb729458849c345be18a457a5884c40819b714a9"
}
}
},
"7cb770d02369a417ebec1b76a251368e9542ab4051f807d9e3ceebc411e6e060": {
"67d32ff67b3313f36406e4e0d5f697b7bb2e531ef8913fca2902497caec09826": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.545Z"
+ "updatedAt": "2025-12-10T11:52:25.067Z",
+ "postProcessHash": "25ca8cd3192f9e1a88ce42342ad2459a8990a9aa8fc95e299dcf0ab4ca8f63ef"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.555Z"
+ "updatedAt": "2025-12-10T11:52:25.154Z",
+ "postProcessHash": "25ca8cd3192f9e1a88ce42342ad2459a8990a9aa8fc95e299dcf0ab4ca8f63ef"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.556Z"
+ "updatedAt": "2025-12-10T11:52:25.155Z",
+ "postProcessHash": "25ca8cd3192f9e1a88ce42342ad2459a8990a9aa8fc95e299dcf0ab4ca8f63ef"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.556Z"
+ "updatedAt": "2025-12-10T11:52:25.156Z",
+ "postProcessHash": "25ca8cd3192f9e1a88ce42342ad2459a8990a9aa8fc95e299dcf0ab4ca8f63ef"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.559Z"
+ "updatedAt": "2025-12-10T11:52:25.240Z",
+ "postProcessHash": "df31cd90ec154b0ecc1797bf41ec053f1bec86b3df4bbf481d69a124941cf8ac"
}
}
},
"a91d0c98ca796f09d90e49839fa7fe29b2e18442d46c9f1d97e155c8b4eda42d": {
"327e6abb7c9d35ff60f243e9ca8fb5a4e7ed041b43c23bc495ef60d302e76602": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.546Z"
+ "updatedAt": "2025-12-10T11:52:25.068Z",
+ "postProcessHash": "ddc3f78dfa53ae8d5734c4aed5df80eadc6db12c5a7a34dabcbe1d75ec28655e"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.555Z"
+ "updatedAt": "2025-12-10T11:52:25.155Z",
+ "postProcessHash": "2bf0bf2c545e290eaa826e0c50c84b9341fb91da508ce1edeb994ea739031320"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.557Z"
+ "updatedAt": "2025-12-10T11:52:25.157Z",
+ "postProcessHash": "cf3f9f861317b6a8573e9643544d4ffe65c0b94096586dad116a24b08cd21508"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.559Z"
+ "updatedAt": "2025-12-10T11:52:25.241Z",
+ "postProcessHash": "2bf0bf2c545e290eaa826e0c50c84b9341fb91da508ce1edeb994ea739031320"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.560Z"
+ "updatedAt": "2025-12-10T11:52:25.243Z",
+ "postProcessHash": "2bf0bf2c545e290eaa826e0c50c84b9341fb91da508ce1edeb994ea739031320"
}
}
},
"df6b2888a8e9740b6721ccdc9ac452a23c5088e70ef5e4669000d6834e2ec88d": {
"ab087523a16b089dc3bbcb3dd0a38274f8fc5afd96d712cb1196afd63750575f": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.521Z"
+ "updatedAt": "2025-12-10T11:52:25.122Z",
+ "postProcessHash": "7a4fc5256aa7d4a7bec2e69bc446c91253c24697ac5c866876a67e74b098f878"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.530Z"
+ "updatedAt": "2025-12-10T11:52:25.136Z",
+ "postProcessHash": "2b3b6dd3d10ad2e9f9e4baca51ffed325d29fd396be234b2bd45b87f28b4eaea"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.532Z"
+ "updatedAt": "2025-12-10T11:52:25.139Z",
+ "postProcessHash": "d3192b9d8306528fba4c5f1952442b456e8050cad703f49db59bba97ffb6495c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.539Z"
+ "updatedAt": "2025-12-10T11:52:25.147Z",
+ "postProcessHash": "05ec8c6c63b1386c6807aa456f989f23888516227d7a46b6b7c879b12e319700"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.540Z"
+ "updatedAt": "2025-12-10T11:52:25.149Z",
+ "postProcessHash": "9cbcb6a4e5d2c88e702bdf509c73a8b3e03c7c8d37e691034814f65fbf953845"
}
}
},
"27985738075e0a6095d16753a2c9dc8ea938b7485beef70347623687e8750f81": {
"78862acb162e1dd44e1b56a2c09efe53199585aff8eeb9d9019a1a4577ab6f96": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.522Z"
+ "updatedAt": "2025-12-10T11:52:25.123Z",
+ "postProcessHash": "296d58c238eec3b0417fa232b13e9ed1ea9b4b0085353bc60e6771a4257d7a10"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.523Z"
+ "updatedAt": "2025-12-10T11:52:25.124Z",
+ "postProcessHash": "c763b310688fd315b2407f29e16f3f0f3ff36a5c01d52c567769b0c350058265"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.531Z"
+ "updatedAt": "2025-12-10T11:52:25.137Z",
+ "postProcessHash": "825095b4d9278165c5edad97ac0171189077018b468687cfbc35ed6823befbf7"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.531Z"
+ "updatedAt": "2025-12-10T11:52:25.138Z",
+ "postProcessHash": "22cdab876388ad03428f45eb06eecec2344002d29fe9affd92623ce748f2c55b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.540Z"
+ "updatedAt": "2025-12-10T11:52:25.148Z",
+ "postProcessHash": "e4903c429d84d7b3ebc5bc8e887c56904fad96d3177b9fe3fcebed4bd2df6838"
}
}
},
"4c9c4ae38754fba17ec50bb4bef3ca12cb48a0d829cde79257bb7648bf0fea0e": {
"717ebbd299966fc85cb3f7498b4e31e1bd314467b80fd33b1d6b9121bda7a795": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.524Z"
+ "updatedAt": "2025-12-10T11:52:25.125Z",
+ "postProcessHash": "3706dea4fd233069e205816951acfed3d7273dcbabad6d8ec5277ffb74540200"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.524Z"
+ "updatedAt": "2025-12-10T11:52:25.127Z",
+ "postProcessHash": "e7d62c415871d470a57886497f0e5460e8d6177dca71e1763a64cf27a3f398c6"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.526Z"
+ "updatedAt": "2025-12-10T11:52:25.130Z",
+ "postProcessHash": "aa93ca36173c3e7eb0b586f069c73945d832a6e0a05352cccd00b31bbf8714d0"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.527Z"
+ "updatedAt": "2025-12-10T11:52:25.130Z",
+ "postProcessHash": "54951321b81b9fa6d8c4f3a8bf70e9c872d202c83d76b0a2bf4b511730f8c246"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.538Z"
+ "updatedAt": "2025-12-10T11:52:25.146Z",
+ "postProcessHash": "15c07822b7d805887d1ddac605a3717cbe6dd821880e0e812698ac47fefd914e"
}
}
},
"612171c1503b8c49aa010f76f4aa5e2f63c84aabc256c1ea5c1d815725a5f25f": {
"1f8136b178663d03fb648cc0ec8f99a649c27e4e8f906445d767bb0b72a164aa": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.524Z"
+ "updatedAt": "2025-12-10T11:52:25.126Z",
+ "postProcessHash": "930f64f72ac2902d417bfbf4fbbd4419c21426a6081cbea563c5c442ff3d2b20"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.537Z"
+ "updatedAt": "2025-12-10T11:52:25.145Z",
+ "postProcessHash": "1133ed62b883281f70cf14deb9e6b3f5efd7f726b85aaa0b0140e19eba3a7aa8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.541Z"
+ "updatedAt": "2025-12-10T11:52:25.151Z",
+ "postProcessHash": "930f64f72ac2902d417bfbf4fbbd4419c21426a6081cbea563c5c442ff3d2b20"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.542Z"
+ "updatedAt": "2025-12-10T11:52:25.151Z",
+ "postProcessHash": "ca11dd61d7873aacd70fe758b6a173fed9a06869108ea8472670517f17876fa3"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.542Z"
+ "updatedAt": "2025-12-10T11:52:25.153Z",
+ "postProcessHash": "82e5c8640e082c07f60b56f01e4f3c343dde878837b06d6ad61ae774fd23b78f"
}
}
},
"3fe37f43f2f2ef64736c70eddc6381890f39ac68fee677bd9cdcdfddbcf8deca": {
"09ad0a9396bc1e5eda676c4bfe371d0d12aaade3c6174ad08e0a6b3b018a2b63": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.546Z"
+ "updatedAt": "2025-12-10T11:52:25.126Z",
+ "postProcessHash": "62247462ad4a3610a874fdb1c90d9d3460c199a98e4e1b6e2d4dc9de83a2eb13"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.546Z"
+ "updatedAt": "2025-12-10T11:52:25.199Z",
+ "postProcessHash": "11a1063ef4dc2f3280cac169d3889d2a0429e7648bfa34c6f6f8584f3f8d8554"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.547Z"
+ "updatedAt": "2025-12-10T11:52:25.200Z",
+ "postProcessHash": "ea50193ca8316675f8c0fe5101ebc3984a235e3c804fda055f67b8529a6ab947"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.547Z"
+ "updatedAt": "2025-12-10T11:52:25.201Z",
+ "postProcessHash": "33fc21e2c44fe44b0e78da29fbe879ffcd96b714535f10489fffcbffcd4d5ae7"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.547Z"
+ "updatedAt": "2025-12-10T11:52:25.204Z",
+ "postProcessHash": "806e9c3d1ac4b0d145097bb141d2fad3675c98a49290cb53e7b051dc4cd82166"
}
}
},
"f0727cb7913e520659485b30bff6401a9e1f1d5aabc1ec2ee24df76e8af0c648": {
"d536efbfe1ee025ca1d5f35ee12be1bf5e1e47ffc30316076aeaa65edbbe01bc": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.527Z"
+ "updatedAt": "2025-12-10T11:52:25.133Z",
+ "postProcessHash": "925294ddfc307cd9fdec520b4ce9fb3d17cd64f6dfcc4747d104ef5bb90582fe"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.527Z"
+ "updatedAt": "2025-12-10T11:52:25.133Z",
+ "postProcessHash": "84e5d900ca87dd20874fb2d36cc75ddac9e8ceab839bda8ef40325f553894099"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.528Z"
+ "updatedAt": "2025-12-10T11:52:25.134Z",
+ "postProcessHash": "5a8cd3e4d762cbcd8f0834b583e3aa12c7747272c55b7849fb6abbdecc1aa4aa"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.538Z"
+ "updatedAt": "2025-12-10T11:52:25.146Z",
+ "postProcessHash": "84e5d900ca87dd20874fb2d36cc75ddac9e8ceab839bda8ef40325f553894099"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.538Z"
+ "updatedAt": "2025-12-10T11:52:25.146Z",
+ "postProcessHash": "3cf9ed11a01c9abe980658d7565d55ee85eaf52265de7e41438759132d187bf8"
}
}
},
"612e0175177410b9a3237ab37e2bd6e4d7aa57cc67ac6bf300a391f992f80430": {
"7d358f96f15743414d09c22d00545761fb19c749512bce1ac94a6259073ebfe5": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.528Z"
+ "updatedAt": "2025-12-10T11:52:25.135Z",
+ "postProcessHash": "53bbb677a8d679f0e6b6f4ad22c3787c9d20245e862d563a83753ef4c77a8213"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.529Z"
+ "updatedAt": "2025-12-10T11:52:25.135Z",
+ "postProcessHash": "a5fbc00933f2eb5cf15d43cbeff3c03ae35b2f170de19d8630996de523719b89"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.531Z"
+ "updatedAt": "2025-12-10T11:52:25.137Z",
+ "postProcessHash": "59217392a89628f816792f966e4c52306b196dac42b06c48d413dc60d61985d1"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.533Z"
+ "updatedAt": "2025-12-10T11:52:25.140Z",
+ "postProcessHash": "1447e914790e74a3d867aec3ae2d4c88e792f9b71773f756603beef426e437ee"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.539Z"
+ "updatedAt": "2025-12-10T11:52:25.147Z",
+ "postProcessHash": "b24d596465a6c649c63ef2ec2f630b70e37f8436673a17d02ed85762a9e25dcd"
}
}
},
"a095548ad57f0146e622c0ec9030a581b0eef4de95f0ed30b548f46b6fd5cf29": {
"88925e1abd104a56abf4ed4314b996c597305da24d0e507ba2934f16a5ae9c35": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.534Z"
+ "updatedAt": "2025-12-10T11:52:25.140Z",
+ "postProcessHash": "73afdaf8dc0afea20f322bf5dd0d8ec302a834dfa7d198530fab5975eaa91d50"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.535Z"
+ "updatedAt": "2025-12-10T11:52:25.141Z",
+ "postProcessHash": "69a1006d4143f9092f7ea3fb707f7326aa716453efba4efcb9f5c10d3daf43d9"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.535Z"
+ "updatedAt": "2025-12-10T11:52:25.142Z",
+ "postProcessHash": "73afdaf8dc0afea20f322bf5dd0d8ec302a834dfa7d198530fab5975eaa91d50"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.539Z"
+ "updatedAt": "2025-12-10T11:52:25.148Z",
+ "postProcessHash": "73afdaf8dc0afea20f322bf5dd0d8ec302a834dfa7d198530fab5975eaa91d50"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.541Z"
+ "updatedAt": "2025-12-10T11:52:25.149Z",
+ "postProcessHash": "73afdaf8dc0afea20f322bf5dd0d8ec302a834dfa7d198530fab5975eaa91d50"
}
}
},
"3b1cbb6e195c80499a2e87a4113a5667b2d5ae17a6eede037cb934c6553c1719": {
"24cdd5c830e523191064a5306b5438d702b45a5f2c4372a6f7186a64c2314e6b": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.536Z"
+ "updatedAt": "2025-12-10T11:52:25.142Z",
+ "postProcessHash": "895537e96fd0505858fae1bdd460dbab3a29a4a4e7a5f0d99555dc4c0288296e"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.536Z"
+ "updatedAt": "2025-12-10T11:52:25.143Z",
+ "postProcessHash": "62c148fbb09d8c00e2ae6ba2202fcc57b2561830cfe2be5ac483a3fe9e9925ad"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.537Z"
+ "updatedAt": "2025-12-10T11:52:25.143Z",
+ "postProcessHash": "f2a7d216db745b538d73fdc393f6fb7fc0569dfba00a36d72c3ad7bad7eb788b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.537Z"
+ "updatedAt": "2025-12-10T11:52:25.144Z",
+ "postProcessHash": "11a18355e1259a5dcb57c754025feea5505c096a55cd2e78912cfbb38f56b1e4"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.542Z"
+ "updatedAt": "2025-12-10T11:52:25.152Z",
+ "postProcessHash": "74af0ce3192e406648498a4b00fdd03defe1de938405d70d16b90f37af0ad945"
}
}
},
"2d044f81baa5ce8fe73a57ee9de7f08ab3ecd777eecaea875733544ff2fcde35": {
"3da76192e9e31cc18adf5228894f4674f691fd8c7d3ea765cbc8a6dc9a7a3b04": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.543Z"
+ "updatedAt": "2025-12-10T11:52:25.240Z",
+ "postProcessHash": "7843a808045c61fd799e0382420f792232a2dbb68b0bcb4a2947760cb368ee75"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.543Z"
+ "updatedAt": "2025-12-10T11:52:25.246Z",
+ "postProcessHash": "7843a808045c61fd799e0382420f792232a2dbb68b0bcb4a2947760cb368ee75"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.557Z"
+ "updatedAt": "2025-12-10T11:52:25.157Z",
+ "postProcessHash": "0c35d83152a12ab007cf551d5efd5c4d74cea1a14d4edaa374500a56dca66447"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.560Z"
+ "updatedAt": "2025-12-10T11:52:25.242Z",
+ "postProcessHash": "7843a808045c61fd799e0382420f792232a2dbb68b0bcb4a2947760cb368ee75"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.561Z"
+ "updatedAt": "2025-12-10T11:52:25.244Z",
+ "postProcessHash": "7843a808045c61fd799e0382420f792232a2dbb68b0bcb4a2947760cb368ee75"
}
}
},
"389e5298d5251316e9fdd74197805b174ba7830cab4fe1e5c475d759d580299e": {
"9356a143e11affcbaca5464b709590bfd831d52dfd9445c5ddb4d4aa4ea1dcf1": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.563Z"
+ "updatedAt": "2025-12-10T11:52:25.110Z",
+ "postProcessHash": "739926b1e1298e12ce1a62405e452fc4a92c27e44191aa258ad145125da9f8b1"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.548Z"
+ "updatedAt": "2025-12-10T11:52:25.206Z",
+ "postProcessHash": "eacae1a03010618a4bd0260730545e1be950b1751a781bea3ece760dca4d4d1c"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.569Z"
+ "updatedAt": "2025-12-10T11:52:25.207Z",
+ "postProcessHash": "6daf4b46361974f736c65e81e598e22b57797fca512842a3c383ae71e57109a8"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.569Z"
+ "updatedAt": "2025-12-10T11:52:25.207Z",
+ "postProcessHash": "106f66ea1503d277d53082dbc83bb10ee8c4cabfb93c4359d00c336c19eb621c"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.571Z"
+ "updatedAt": "2025-12-10T11:52:25.229Z",
+ "postProcessHash": "d7635ebefacc2da4e6d1c0f30cb3ccf0d6df4f38ac600224ad061fed50d9d17a"
}
}
},
"effe2ea2d4138bd05b509fa11dc45d3086effd51b14db25e74b538ab907e586b": {
"a9a08b0825496e5bc41c7fb37ed94bc13fd7d27c4ee252c0158175f8de707c66": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.563Z"
+ "updatedAt": "2025-12-10T11:52:25.127Z",
+ "postProcessHash": "5a5cb6a01a6d2c4f6b9271ef4acc173ed494d1e4a26f93a1ee957d1921c2a357"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.564Z"
+ "updatedAt": "2025-12-10T11:52:25.200Z",
+ "postProcessHash": "e107f61bc42a85ac602e24ee2040849e3146697b30e815076aee3c67a43e88bc"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.565Z"
+ "updatedAt": "2025-12-10T11:52:25.201Z",
+ "postProcessHash": "59e8561beee6e0e5ac45fc600ed18975b3555de13a82101190d415878c875a8b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.566Z"
+ "updatedAt": "2025-12-10T11:52:25.203Z",
+ "postProcessHash": "6e4bfff730ed167e4e142ce9a4fa801c58ff248cd5718719bab31c468463ce1d"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.567Z"
+ "updatedAt": "2025-12-10T11:52:25.204Z",
+ "postProcessHash": "e27b1b6ffdfe269855e6d675bf39fe803e6e52a231fae0786b8f648ac1af2d09"
}
}
},
"10844edc6c0014b315d27029003fd9afe32846a4464e400dac1b643378446cd6": {
"8d65f2dc3d48fe6f4b0a6f09fe4e655996bee2a2c34f686e46675d83847d94c6": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.563Z"
+ "updatedAt": "2025-12-10T11:52:25.198Z",
+ "postProcessHash": "069fa0c69aaa564656732b9e05194b3134bc87e3570eb982d45afa7b634d83dd"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.564Z"
+ "updatedAt": "2025-12-10T11:52:25.199Z",
+ "postProcessHash": "93045effa20eba210387de9379d770773b161347c288380bffe7d7eb2de6fb0f"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.565Z"
+ "updatedAt": "2025-12-10T11:52:25.202Z",
+ "postProcessHash": "65279dfa82cb21973789bb6c0dbfd00119cc0ebd2f31abc163a6a9800eb03c9d"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.565Z"
+ "updatedAt": "2025-12-10T11:52:25.202Z",
+ "postProcessHash": "c41822cdeb9c06e7b0c096709d76cead2eaab49b6e63ebf9d4bc36e4c013954a"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.565Z"
+ "updatedAt": "2025-12-10T11:52:25.203Z",
+ "postProcessHash": "06e991398da48a872bfee385f35aee8b51f14a79fd02de94a31e8e2800ef3f22"
}
}
},
"9481c2c4d56f8f82c97911859b4e850a0d9ed187c529616fc25d8f191daedc97": {
"414f334c9a3508470fd77120618d271ee5177fbbc7e39cda246490735ea1bdea": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.548Z"
+ "updatedAt": "2025-12-10T11:52:25.205Z",
+ "postProcessHash": "414f334c9a3508470fd77120618d271ee5177fbbc7e39cda246490735ea1bdea"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.549Z"
+ "updatedAt": "2025-12-10T11:52:25.209Z",
+ "postProcessHash": "1034e807213f98ee1fe91ad461eb1fdaedcb171c896d7da76b6d3993e8ec7f9b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.551Z"
+ "updatedAt": "2025-12-10T11:52:25.232Z",
+ "postProcessHash": "414f334c9a3508470fd77120618d271ee5177fbbc7e39cda246490735ea1bdea"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.551Z"
+ "updatedAt": "2025-12-10T11:52:25.233Z",
+ "postProcessHash": "48d4e6b450eb68abdd1f3f8e3649b462802a49cd7d13e6ebf8a518a322ef0058"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.552Z"
+ "updatedAt": "2025-12-10T11:52:25.236Z",
+ "postProcessHash": "414f334c9a3508470fd77120618d271ee5177fbbc7e39cda246490735ea1bdea"
}
}
},
"7c79ddd3fbf3a3416ca5bb48821f50b9777e6ba01f25dff0124e46bc5e0842ba": {
"5df152e3e8ce360183f9dcd0a564274c401b8065f077ab74e2ecf11072624016": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.548Z"
+ "updatedAt": "2025-12-10T11:52:25.208Z",
+ "postProcessHash": "5df152e3e8ce360183f9dcd0a564274c401b8065f077ab74e2ecf11072624016"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.549Z"
+ "updatedAt": "2025-12-10T11:52:25.153Z",
+ "postProcessHash": "1effa8ddcb8d1320c7b3b2e7adcf77052fda6796282ffd5cd972c9a124dfdc60"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.551Z"
+ "updatedAt": "2025-12-10T11:52:25.235Z",
+ "postProcessHash": "5df152e3e8ce360183f9dcd0a564274c401b8065f077ab74e2ecf11072624016"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.552Z"
+ "updatedAt": "2025-12-10T11:52:25.237Z",
+ "postProcessHash": "5df152e3e8ce360183f9dcd0a564274c401b8065f077ab74e2ecf11072624016"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.553Z"
+ "updatedAt": "2025-12-10T11:52:25.238Z",
+ "postProcessHash": "979179f6045c270f7e425de3c29f6f2ccac6afea64c44b1d6935747b03d672f4"
}
}
},
"85e067a93f1383fa2da195c647d0a13a92dd8e9ea284668395676725eb96b04d": {
"623c59ae72b8f8ce6d1fecc122cb22bbb0cd6b23527759b3e1c3668bd71dd844": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.548Z"
+ "updatedAt": "2025-12-10T11:52:25.208Z",
+ "postProcessHash": "e7d06ec126b64a763be322584f195aba583fd266d76722ef442d1f6dda183ed5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.549Z"
+ "updatedAt": "2025-12-10T11:52:25.209Z",
+ "postProcessHash": "d6d3c848265a19667974f9a90b285c4b6c9830f2378bf2a83344fab7f19eed86"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.550Z"
+ "updatedAt": "2025-12-10T11:52:25.209Z",
+ "postProcessHash": "ef6cf91fa75437b085034540a9c16de2cd9c842fcef82f2aa6a54795915c5968"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.550Z"
+ "updatedAt": "2025-12-10T11:52:25.231Z",
+ "postProcessHash": "ddff6b43cfa3ee88550f5fa3a3397e893ef57261c8bbf6984c732f7da0d8011b"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.552Z"
+ "updatedAt": "2025-12-10T11:52:25.236Z",
+ "postProcessHash": "eb02bb9afb5bf31d68377a301e9bd814672a5c7ad58a53cd8a1bab17be0fde01"
}
}
},
"d63950c691f085fc20c2ce43600e6ceca1ce497d4f57e8a2874f2930ab35a052": {
"3512611a600dcb841829ac156bff94f6d061199ea686aa563c11fc2841a831e6": {
"es": {
- "updatedAt": "2025-12-01T18:59:36.551Z"
+ "updatedAt": "2025-12-10T11:52:25.234Z",
+ "postProcessHash": "3512611a600dcb841829ac156bff94f6d061199ea686aa563c11fc2841a831e6"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.553Z"
+ "updatedAt": "2025-12-10T11:52:25.238Z",
+ "postProcessHash": "3512611a600dcb841829ac156bff94f6d061199ea686aa563c11fc2841a831e6"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.554Z"
+ "updatedAt": "2025-12-10T11:52:25.239Z",
+ "postProcessHash": "5597eeaef41e444af4886e1045bc8b0759a56eb331eec8f984194bcac0d15c7d"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.554Z"
+ "updatedAt": "2025-12-10T11:52:25.239Z",
+ "postProcessHash": "3512611a600dcb841829ac156bff94f6d061199ea686aa563c11fc2841a831e6"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.554Z"
+ "updatedAt": "2025-12-10T11:52:25.239Z",
+ "postProcessHash": "ce87cf3d0df1f0ec3b0731d4ac36938aeb6f55252a57b02190a033e95c21572c"
}
}
},
"87482778e23f7bceaab8e8151d60dd1b771c8f493bff43e8be7097b161b5c1d8": {
"a889de34aad891fe09527fa4ea54d9da7a1931d87b4932d5eae63175cfa20b4c": {
"ja": {
- "updatedAt": "2025-12-01T18:59:36.556Z"
+ "updatedAt": "2025-12-10T11:52:25.156Z",
+ "postProcessHash": "cdd48c557f44182d26c0b41c7ea9e89c6a38b7df8a324ad75df2310b80b2440b"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.557Z"
+ "updatedAt": "2025-12-10T11:52:25.156Z",
+ "postProcessHash": "cdd48c557f44182d26c0b41c7ea9e89c6a38b7df8a324ad75df2310b80b2440b"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.559Z"
+ "updatedAt": "2025-12-10T11:52:25.159Z",
+ "postProcessHash": "cdd48c557f44182d26c0b41c7ea9e89c6a38b7df8a324ad75df2310b80b2440b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.561Z"
+ "updatedAt": "2025-12-10T11:52:25.245Z",
+ "postProcessHash": "cdd48c557f44182d26c0b41c7ea9e89c6a38b7df8a324ad75df2310b80b2440b"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.562Z"
+ "updatedAt": "2025-12-10T11:52:25.246Z",
+ "postProcessHash": "cdd48c557f44182d26c0b41c7ea9e89c6a38b7df8a324ad75df2310b80b2440b"
}
}
},
@@ -27989,76 +30809,240 @@
"c2e553142d3da7d83c2f5c35aa6287684604aec1a6a565135c5fed3939d19357": {
"eeffe73ab4852e81b6c57b151b3e4891a9718aa369eac8133562daf0d9f8e9a4": {
"zh": {
- "updatedAt": "2025-12-01T18:59:35.736Z"
+ "updatedAt": "2025-12-10T11:52:24.153Z",
+ "postProcessHash": "f35d92be59322f3b2161da2bcd7dbeecc8cb714fbe3a260a453b181a24cfe0d5"
},
"es": {
- "updatedAt": "2025-12-01T18:59:35.736Z"
+ "updatedAt": "2025-12-10T11:52:24.153Z",
+ "postProcessHash": "74c237ba5c4cf815cde3b6be55c5a5bd4475b37106983d862018e6bd40bc1c96"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:35.737Z"
+ "updatedAt": "2025-12-10T11:52:24.154Z",
+ "postProcessHash": "0a3ccc2d8f7065125580e13d2a6488a33ad0042820110d6d79508969c4a87cbf"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:35.737Z"
+ "updatedAt": "2025-12-10T11:52:24.154Z",
+ "postProcessHash": "ba7a752bae764efbedd77d86c1a931b6e6a5f978b47f69a6c16d32a3ffecaab2"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:35.738Z"
+ "updatedAt": "2025-12-10T11:52:24.205Z",
+ "postProcessHash": "36a3965dc8d004b050ca5fc007a592ce26650651a9e248b5a5f0be81e93a3c6e"
}
}
},
"b4f7b00614b406850462159d40609b528f74c9618615dfdba536e138a7d83197": {
"50ec9d2e8160125cc47455dc044a7bd026789904e3a50f7c402773c4472e7b7f": {
"fr": {
- "updatedAt": "2025-12-01T18:59:36.567Z"
+ "updatedAt": "2025-12-10T11:52:25.204Z",
+ "postProcessHash": "162de995920103013c9556702c9e58034d3ace40bac34471b48500f32209c0d3"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.567Z"
+ "updatedAt": "2025-12-10T11:52:25.205Z",
+ "postProcessHash": "dc54ae2bfa66b8292c067a9a6b21cbea19a7df5566ad2043c097d6e509d016ad"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.570Z"
+ "updatedAt": "2025-12-10T11:52:25.208Z",
+ "postProcessHash": "d8cc134bc55efd65902f5a71f76136091a07d944e1621cfc955cfaf044f5a91b"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.570Z"
+ "updatedAt": "2025-12-10T11:52:25.209Z",
+ "postProcessHash": "676dccd0939694d71fdbda9bff64c7a2f2fc443448d69aeee8e779d60a143a7c"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.570Z"
+ "updatedAt": "2025-12-10T11:52:25.210Z",
+ "postProcessHash": "3d02a1c2154e364e936edf211a1208fa2fbec6d12a6bafe087e6aea958382ecb"
}
}
},
"e316e21da3041ad69d295a1830dfa74305883a0c7fc8864de293ce4d71bb556d": {
"54b547fbe9dec035ff0e06c35dde8f8574e9fd82230497618852c885a3172739": {
"zh": {
- "updatedAt": "2025-12-01T18:59:36.568Z"
+ "updatedAt": "2025-12-10T11:52:25.205Z",
+ "postProcessHash": "54b547fbe9dec035ff0e06c35dde8f8574e9fd82230497618852c885a3172739"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.568Z"
+ "updatedAt": "2025-12-10T11:52:25.206Z",
+ "postProcessHash": "54b547fbe9dec035ff0e06c35dde8f8574e9fd82230497618852c885a3172739"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.568Z"
+ "updatedAt": "2025-12-10T11:52:25.206Z",
+ "postProcessHash": "cf32901160706f5ffd3fa88484c3b44fa5e81850bc03e6950181dc1df69c8754"
},
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.571Z"
+ "updatedAt": "2025-12-10T11:52:25.231Z",
+ "postProcessHash": "54b547fbe9dec035ff0e06c35dde8f8574e9fd82230497618852c885a3172739"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.572Z"
+ "updatedAt": "2025-12-10T11:52:25.237Z",
+ "postProcessHash": "54b547fbe9dec035ff0e06c35dde8f8574e9fd82230497618852c885a3172739"
}
}
},
"c3304e1d1e0d87b6b54de058973970bc701ca15333cf6aa3bf29624ce2718382": {
"cd50140ba4b6f0e065b2c04ccf02214fe58fcc5b92e0e6341aea433d318fdabb": {
"pt-BR": {
- "updatedAt": "2025-12-01T18:59:36.571Z"
+ "updatedAt": "2025-12-10T11:52:25.230Z",
+ "postProcessHash": "bc5d297680b75d5c0a5970e56a3f650163230f25b78ce23b956d48044955bda1"
},
"ja": {
- "updatedAt": "2025-12-01T18:59:36.571Z"
+ "updatedAt": "2025-12-10T11:52:25.231Z",
+ "postProcessHash": "623fb472e8a6a710045fbf0fa83c7d620ff62fbd20aeb19b57d35dc538d3cd0a"
},
"es": {
- "updatedAt": "2025-12-01T18:59:36.572Z"
+ "updatedAt": "2025-12-10T11:52:25.233Z",
+ "postProcessHash": "bcf14e4f61f8f08e6f5733d56bceb3b84a852a7576a3dbbded11ac55034b6e59"
},
"zh": {
- "updatedAt": "2025-12-01T18:59:36.572Z"
+ "updatedAt": "2025-12-10T11:52:25.234Z",
+ "postProcessHash": "dbc651e353b4d9188d570f7fb37396dee9792e5da39e5219cd09e116d52027aa"
},
"fr": {
- "updatedAt": "2025-12-01T18:59:36.572Z"
+ "updatedAt": "2025-12-10T11:52:25.236Z",
+ "postProcessHash": "04b8a21f03de1e3eea50e8465a7365b7e2d414a961184efea04ce77f08dff228"
+ }
+ }
+ },
+ "db502878f734e676c2e3e5472fcdb6660ec7bd440b7c73a30b32f76b5418110e": {
+ "405ac758c0cbea3920b67882fa89b42b37f299bfaa41b02b56e00539db7d00fa": {
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:23.869Z",
+ "postProcessHash": "9e223eb90ef5c1b8bb3fff32dcd37ec73fe146d35de3cc833122134577287e9c"
+ },
+ "es": {
+ "updatedAt": "2025-12-10T11:52:23.887Z",
+ "postProcessHash": "1582efdeecec8cf3c51f02a4264a07736e05eec1437c456953002dbdf2554b80"
+ },
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:23.935Z",
+ "postProcessHash": "8bdbced793c654311314e332bdb0f4b09cd1ff7f4a92d02b51136b2e3e560c37"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:23.940Z",
+ "postProcessHash": "2b477ecdb377fbb72b59f34f3f8ee0370ad24257991f2e63d455b165968fc02d"
+ },
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:23.957Z",
+ "postProcessHash": "7a42734e213e568fcb140d0005cd854831ed92f435a9653f8f7aa25259c69380"
+ }
+ }
+ },
+ "088b88f900a40ccb5816bdf89adc30a10731f316d6d5b9eeb71040de9bac9064": {
+ "4c3d0d9265ccdad8bd071304696a67ea4ddfe6ca64dc6811f0c8162df05c7b6b": {
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:23.877Z",
+ "postProcessHash": "011b9ef5231c2276007fe70731dc88671c8d8a95c4c9546f90922a2ca3073344"
+ },
+ "es": {
+ "updatedAt": "2025-12-10T11:52:23.892Z",
+ "postProcessHash": "e1f790550da4807bb6fb9ea724c4dad850abfc5f2554159d790ad5910a22160c"
+ },
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:23.920Z",
+ "postProcessHash": "6dff13c1eab59bb86990cb6cf6e9ab52ab5b4f936cef3970ecebaaa74990395a"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:23.947Z",
+ "postProcessHash": "806ea8c668751f532864f1a97580cad8ad102e461db8e0305ebe212dead502b0"
+ },
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:23.976Z",
+ "postProcessHash": "406c036fcaf95d289c20c46e74db60ff47c48f4d5d5ae0655df8d972cab0d992"
+ }
+ }
+ },
+ "f28d42289beba89b84909ca9b46cabfe2c98b8998cfeeab209fe0aad63527511": {
+ "e2f3e6d05fba8ffac84cb199ea0c253af4d017220618b2afa34e42222817a4ba": {
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:23.905Z",
+ "postProcessHash": "0a79762b1ded421e92852982102b191f9481cd51757ebbf653c14f17ea9cabc9"
+ },
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:23.911Z",
+ "postProcessHash": "f514011c4ec310406481c553a3fd105f9541f4a2987d1b1b91e1ef6e0a47f318"
+ },
+ "es": {
+ "updatedAt": "2025-12-10T11:52:23.930Z",
+ "postProcessHash": "70c2f0b913dc56611f59a832b04658f404b4d08e36a3d268b12297f88097adc7"
+ },
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:23.963Z",
+ "postProcessHash": "af78d3282174459bf31e5b4c4d4d1e02aa21819481ecfbc4fdc080325d76b239"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:23.986Z",
+ "postProcessHash": "f18782786c8a3414190be3781f7f1a0bfcb7415eb28e5bd262f27a3509ab760f"
+ }
+ }
+ },
+ "6737dc85f682b60e4520761b2a26c06e1efbb507c21ca59e94ff9bb6424d368c": {
+ "875e43c536af85234c0567e70d602540f95f2a33505a005aebaf6dc77c26bf27": {
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:23.913Z",
+ "postProcessHash": "95d8ac0c38ee784e3531235ad4091f4f249c3d7eba7df9db657a4310230bf37c"
+ },
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:23.923Z",
+ "postProcessHash": "ed9959a023afaaed22d03d950edf49f01b1f70d8aaaa0ba38c8f1cb7d560fb17"
+ },
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:23.924Z",
+ "postProcessHash": "7ac2fd167c3bf6e1b0a1bf75088b543b1ca6443183fe25677aa0230c3e3105e8"
+ },
+ "es": {
+ "updatedAt": "2025-12-10T11:52:23.966Z",
+ "postProcessHash": "02b44a2bf9ae9d2aa09d867b999b21543a1f1785284130fa17f57e037bd66a94"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:23.968Z",
+ "postProcessHash": "ff95eff1b38a1c2724642ec3f4f8fa1dae68644aaca08ad4ac5278d98a975d5c"
+ }
+ }
+ },
+ "c576cb8669e5e706de6276efb21e39fc0ad0776e2cb817bef6619d012b3eb928": {
+ "50f1873659173ca8a37e540a7aab5cb25e5e826a5f85f39d8737a3c40a9ffbac": {
+ "es": {
+ "updatedAt": "2025-12-10T11:52:24.285Z",
+ "postProcessHash": "99f7f374e8c453c0cda3ebeeed95003b84bebd4fe45378031ffde1f7bb235f69"
+ },
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:24.286Z",
+ "postProcessHash": "797f52e4b553315901749d523198b6ee19ab1c043e61badf4b7a8992e7b41d84"
+ },
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:24.286Z",
+ "postProcessHash": "0e55676b311360e3e8a669fdd3c3eecdc5f4402ef36aa4e48b5516a4d6d41b90"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:24.288Z",
+ "postProcessHash": "c2b107ec2ee44b294c513549f5cf12f4d116d30b234c89ad687a77a5c25614ba"
+ },
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:24.289Z",
+ "postProcessHash": "1c0e9495b8cacb1b6bca2e0579fdbf7fac96c84bc57a90bfe68687d5fe595b07"
+ }
+ }
+ },
+ "8ad6861d84b162d093bdd5d36b6696d95a1eecb61245885ed9b375442921ec03": {
+ "113e6f15319176bc6cce0e9fec2ed134a6b41f7f1e0f1e3943cd524125536bf8": {
+ "fr": {
+ "updatedAt": "2025-12-10T11:52:25.167Z",
+ "postProcessHash": "cef717687c71cf0d04aa6f455840fb8aa84195ca0271d496507eafe5a7caa4ac"
+ },
+ "es": {
+ "updatedAt": "2025-12-10T11:52:25.174Z",
+ "postProcessHash": "dc9fd1fbe742f500b0c148ea2643c5a792546ae30b9d8dc15053944ec7a77ab7"
+ },
+ "pt-BR": {
+ "updatedAt": "2025-12-10T11:52:25.181Z",
+ "postProcessHash": "b49ec1db537b5dd91810dff56f86cf21b0a443f28b764386cf3b72741c60b027"
+ },
+ "zh": {
+ "updatedAt": "2025-12-10T11:52:25.190Z",
+ "postProcessHash": "8c0cd3815eaabd3fd6ab8ed74872a31bfd714dcf15d3812fae7168a908649573"
+ },
+ "ja": {
+ "updatedAt": "2025-12-10T11:52:25.197Z",
+ "postProcessHash": "9d5a9f27d7a2d2936f55aee43d1b9f57adce7a750b9416b98ef714fa15d90b76"
}
}
}
diff --git a/gt.config.json b/gt.config.json
index 89975140..83de9b1a 100644
--- a/gt.config.json
+++ b/gt.config.json
@@ -3,7 +3,34 @@
"files": {
"json": {
"include": [
- "./docs.json"
+ "./docs.json",
+ "./api-reference/v1-openapi.json",
+ "./api-reference/v2-openapi.json",
+ "./v0/api-reference/v0-openapi.json",
+ "./v1/api-reference/v1-openapi.json",
+ "./v1/api-reference/v2-openapi.json"
+ ],
+ "transform": [
+ {
+ "match": "^api-reference/v1-openapi.json$",
+ "replace": "{locale}/api-reference/v1-openapi.json"
+ },
+ {
+ "match": "^api-reference/v2-openapi.json$",
+ "replace": "{locale}/api-reference/v2-openapi.json"
+ },
+ {
+ "match": "^v0/api-reference/v0-openapi.json$",
+ "replace": "{locale}/v0/api-reference/v0-openapi.json"
+ },
+ {
+ "match": "^v1/api-reference/v1-openapi.json$",
+ "replace": "{locale}/v1/api-reference/v1-openapi.json"
+ },
+ {
+ "match": "^v1/api-reference/v2-openapi.json$",
+ "replace": "{locale}/v1/api-reference/v2-openapi.json"
+ }
]
},
"mdx": {
@@ -56,6 +83,21 @@
"experimentalSort": "locales"
}
}
+ },
+ "./api-reference/v1-openapi.json": {
+ "preset": "openapi"
+ },
+ "./api-reference/v2-openapi.json": {
+ "preset": "openapi"
+ },
+ "./v0/api-reference/v0-openapi.json": {
+ "preset": "openapi"
+ },
+ "./v1/api-reference/v1-openapi.json": {
+ "preset": "openapi"
+ },
+ "./v1/api-reference/v2-openapi.json": {
+ "preset": "openapi"
}
},
"docsUrlPattern": "/[locale]",
@@ -66,6 +108,17 @@
"docsHideDefaultLocaleImport": true,
"experimentalHideDefaultLocale": true,
"experimentalAddHeaderAnchorIds": "mintlify",
- "experimentalClearLocaleDirs": true
+ "experimentalClearLocaleDirs": true,
+ "mintlify": {
+ "openapi": {
+ "files": [
+ "./api-reference/v1-openapi.json",
+ "./api-reference/v2-openapi.json",
+ "./v0/api-reference/v0-openapi.json",
+ "./v1/api-reference/v1-openapi.json",
+ "./v1/api-reference/v2-openapi.json"
+ ]
+ }
+ }
}
}
\ No newline at end of file
diff --git a/ja/_essentials/code.mdx b/ja/_essentials/code.mdx
index 8d16f11a..bfb768bf 100644
--- a/ja/_essentials/code.mdx
+++ b/ja/_essentials/code.mdx
@@ -18,7 +18,6 @@ icon: "code"
「単語」や「語句」をコードとして示すには、バッククォート(`)で囲みます。
```
-
### コードブロック
diff --git a/ja/_essentials/markdown.mdx b/ja/_essentials/markdown.mdx
index 04a46aa5..31172919 100644
--- a/ja/_essentials/markdown.mdx
+++ b/ja/_essentials/markdown.mdx
@@ -14,7 +14,6 @@ icon: 'text-size'
## 見出し
```
-
### サブタイトル
@@ -29,7 +28,6 @@ icon: 'text-size'
各**タイトル**と**サブタイトル**はアンカーを生成し、右側の目次にも表示されます。
-
## テキストの書式設定
@@ -77,7 +75,6 @@ icon: 'text-size'
> ドロシーは、彼女に導かれて彼女の城の多くの美しい部屋を通り抜けていった。
```
-
### 複数行
@@ -92,7 +89,6 @@ icon: 'text-size'
> 魔女は、鍋ややかんを洗い、床を掃き、薪をくべて火を絶やさないようにすることを彼女に命じた。
```
-
### LaTeX
diff --git a/ja/_essentials/navigation.mdx b/ja/_essentials/navigation.mdx
index 1781a1ec..0a4f141f 100644
--- a/ja/_essentials/navigation.mdx
+++ b/ja/_essentials/navigation.mdx
@@ -63,7 +63,6 @@ MDXファイルをフォルダに配置し、`mint.json` のパスを更新す
]
```
-
## 非表示ページ
diff --git a/ja/advanced-scraping-guide.mdx b/ja/advanced-scraping-guide.mdx
index bed2774e..173f1227 100644
--- a/ja/advanced-scraping-guide.mdx
+++ b/ja/advanced-scraping-guide.mdx
@@ -242,7 +242,6 @@ curl -X POST https://api.firecrawl.dev/v2/scrape \
APIリファレンスはこちら: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -263,7 +262,6 @@ curl -X POST https://api.firecrawl.dev/v2/scrape \
}'
```
-
@@ -336,7 +334,6 @@ IDを返します
{ "id": "1234-5678-9101" }
```
-
### クローラー ジョブの確認
@@ -349,7 +346,6 @@ curl -X GET https://api.firecrawl.dev/v2/crawl/1234-5678-9101 \
-H 'Authorization: Bearer fc-YOUR-API-KEY'
```
-
@@ -372,7 +368,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl/params-preview \
}'
```
-
### クローラーのオプション
@@ -468,7 +463,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl \
}'
```
-
## ウェブサイトのリンクのマッピング
@@ -488,7 +482,6 @@ curl -X POST https://api.firecrawl.dev/v2/map \
}'
```
-
### マップオプション
diff --git a/ja/agents/fire-1-extract.mdx b/ja/agents/fire-1-extract.mdx
index f66c5a0d..af4b873b 100644
--- a/ja/agents/fire-1-extract.mdx
+++ b/ja/agents/fire-1-extract.mdx
@@ -52,7 +52,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
この例では、FIRE-1(エージェント)に、最終的なスクレイプを行う前に商品リストをページ送り(ページネーション)するよう指示しています。
-
@@ -94,7 +93,6 @@ curl -X POST https://api.firecrawl.dev/v1/extract \
ここでは、エージェントが提供されたスキーマとプロンプトに基づく抽出を開始する前に、「Load More Comments」ボタンを操作して、ページ上のすべてのコメントが読み込まれていることを確実にします。
**注:** FIRE-1(エージェント)は強力ですが、ナビゲーション指示の複雑さや操作するページ数によっては、クレジット消費が増える場合があります。
-
### FIRE-1 の紹介: インテリジェントなナビゲーションとインタラクション
@@ -124,7 +122,6 @@ FIRE-1 の有効化は簡単です。/scrape エンドポイントまたは /ext
*注記:* `prompt` フィールドはスクレイプリクエストで必須で、FIRE-1 にウェブページとの具体的なインタラクション方法を正確に指示します。
-
## /scrape エンドポイントの使用例
@@ -147,7 +144,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
このシナリオでは、FIRE-1(エージェント)がページネーションを自動で適切にたどり、すべての商品を取得します。
-
## 留意事項
diff --git a/ja/agents/fire-1.mdx b/ja/agents/fire-1.mdx
index 98407166..99cdef77 100644
--- a/ja/agents/fire-1.mdx
+++ b/ja/agents/fire-1.mdx
@@ -13,7 +13,6 @@ import ExtractFire1CURL from "/snippets/ja/v1/scrape/agent-f1/python.mdx";
FIRE-1 は、Firecrawl のスクレイピング機能を強化する AI エージェントです。ブラウザのアクションを制御し、複雑なウェブサイト構造を自在に探索して、従来のスクレイピングを超える包括的なデータ抽出を実現します。
-
### FIRE-1でできること:
diff --git a/ja/api-reference/endpoint/batch-scrape-delete.mdx b/ja/api-reference/endpoint/batch-scrape-delete.mdx
index 65341347..2e4fa2dc 100644
--- a/ja/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/ja/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,4 +1,4 @@
---
title: "バッチスクレイプのキャンセル"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/batch-scrape-get-errors.mdx b/ja/api-reference/endpoint/batch-scrape-get-errors.mdx
index a45ef1d5..c4f6a2cc 100644
--- a/ja/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/ja/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: 'バッチスクレイプのエラーを取得する'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/batch-scrape-get.mdx b/ja/api-reference/endpoint/batch-scrape-get.mdx
index d3ae39aa..d125b659 100644
--- a/ja/api-reference/endpoint/batch-scrape-get.mdx
+++ b/ja/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,4 +1,4 @@
---
title: 'バッチスクレイプのステータス取得'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/batch-scrape.mdx b/ja/api-reference/endpoint/batch-scrape.mdx
index 615d4bdb..65cf66bf 100644
--- a/ja/api-reference/endpoint/batch-scrape.mdx
+++ b/ja/api-reference/endpoint/batch-scrape.mdx
@@ -1,4 +1,4 @@
---
title: "バッチスクレープ"
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/crawl-active.mdx b/ja/api-reference/endpoint/crawl-active.mdx
index 4be59515..58ebf7a0 100644
--- a/ja/api-reference/endpoint/crawl-active.mdx
+++ b/ja/api-reference/endpoint/crawl-active.mdx
@@ -1,4 +1,4 @@
---
title: "実行中のクロールの取得"
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/crawl-delete.mdx b/ja/api-reference/endpoint/crawl-delete.mdx
index d0171bb8..924717c9 100644
--- a/ja/api-reference/endpoint/crawl-delete.mdx
+++ b/ja/api-reference/endpoint/crawl-delete.mdx
@@ -1,4 +1,4 @@
---
title: "クロールのキャンセル"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/crawl-get-errors.mdx b/ja/api-reference/endpoint/crawl-get-errors.mdx
index 0e5ddd24..78855beb 100644
--- a/ja/api-reference/endpoint/crawl-get-errors.mdx
+++ b/ja/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: "クロールのエラーを取得"
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/crawl-get.mdx b/ja/api-reference/endpoint/crawl-get.mdx
index 54d8f22b..d651703c 100644
--- a/ja/api-reference/endpoint/crawl-get.mdx
+++ b/ja/api-reference/endpoint/crawl-get.mdx
@@ -1,4 +1,4 @@
---
title: "クロールのステータスを取得"
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/crawl-params-preview.mdx b/ja/api-reference/endpoint/crawl-params-preview.mdx
index 1458dd90..b1300094 100644
--- a/ja/api-reference/endpoint/crawl-params-preview.mdx
+++ b/ja/api-reference/endpoint/crawl-params-preview.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl パラメータのプレビュー"
-openapi: 'v2-openapi POST /crawl/params-preview'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /crawl/params-preview'
---
@@ -18,7 +18,6 @@ openapi: 'v2-openapi POST /crawl/params-preview'
}
```
-
### 応答
diff --git a/ja/api-reference/endpoint/crawl-post.mdx b/ja/api-reference/endpoint/crawl-post.mdx
index 9c9d4c05..b1defb51 100644
--- a/ja/api-reference/endpoint/crawl-post.mdx
+++ b/ja/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'クロール'
-openapi: 'v2-openapi POST /crawl'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -22,7 +22,6 @@ openapi: 'v2-openapi POST /crawl'
これにより、プロンプトがクロール実行用のクローラー設定一式にマッピングされます。
-
### サイトマップ制御の改善
diff --git a/ja/api-reference/endpoint/credit-usage-historical.mdx b/ja/api-reference/endpoint/credit-usage-historical.mdx
index b8261405..98473a43 100644
--- a/ja/api-reference/endpoint/credit-usage-historical.mdx
+++ b/ja/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "クレジット使用履歴"
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
月ごとのクレジット使用状況を返します。必要に応じて、APIキーごとの内訳も取得できます。
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/credit-usage.mdx b/ja/api-reference/endpoint/credit-usage.mdx
index 95db7437..c05f987b 100644
--- a/ja/api-reference/endpoint/credit-usage.mdx
+++ b/ja/api-reference/endpoint/credit-usage.mdx
@@ -1,4 +1,4 @@
---
title: "クレジット利用状況"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/extract-get.mdx b/ja/api-reference/endpoint/extract-get.mdx
index beea8a32..e22a80c2 100644
--- a/ja/api-reference/endpoint/extract-get.mdx
+++ b/ja/api-reference/endpoint/extract-get.mdx
@@ -1,4 +1,4 @@
---
title: "抽出ステータスの取得"
-openapi: "v2-openapi GET /extract/{id}"
+openapi: "/ja/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}"
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/extract.mdx b/ja/api-reference/endpoint/extract.mdx
index 393fc1ed..bcdb9532 100644
--- a/ja/api-reference/endpoint/extract.mdx
+++ b/ja/api-reference/endpoint/extract.mdx
@@ -1,4 +1,4 @@
---
title: 'Extract'
-openapi: 'v2-openapi POST /extract'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/map.mdx b/ja/api-reference/endpoint/map.mdx
index a485c06a..9b473c17 100644
--- a/ja/api-reference/endpoint/map.mdx
+++ b/ja/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "マップ"
-openapi: "v2-openapi POST /map"
+openapi: "/ja/api-reference/v1-openapi.json V2-OPENAPI POST /map"
---
@@ -24,7 +24,6 @@ openapi: "v2-openapi POST /map"
}
```
-
### レスポンス形式の変更
diff --git a/ja/api-reference/endpoint/queue-status.mdx b/ja/api-reference/endpoint/queue-status.mdx
index 8f0c7aba..3b156227 100644
--- a/ja/api-reference/endpoint/queue-status.mdx
+++ b/ja/api-reference/endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "キュー状況"
-openapi: 'v2-openapi GET /team/queue-status'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/queue-status'
---
チームのスクレイプキューに関するメトリクスです。
\ No newline at end of file
diff --git a/ja/api-reference/endpoint/scrape.mdx b/ja/api-reference/endpoint/scrape.mdx
index 207bf149..e856ff9c 100644
--- a/ja/api-reference/endpoint/scrape.mdx
+++ b/ja/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'スクレイプ'
-openapi: 'v2-openapi POST /scrape'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
diff --git a/ja/api-reference/endpoint/search.mdx b/ja/api-reference/endpoint/search.mdx
index d7a0b016..3fd88e80 100644
--- a/ja/api-reference/endpoint/search.mdx
+++ b/ja/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: '検索'
-openapi: 'v2-openapi POST /search'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -20,7 +20,6 @@ Web、画像、ニュースをまとめて検索:
}
```
-
### レスポンス形式の変更
@@ -38,7 +37,6 @@ v1: 結果はフラットなリスト。v2: ソースタイプ別に整理:
}
```
-
### 新機能
@@ -94,7 +92,6 @@ v1: 結果はフラットなリスト。v2: ソースタイプ別に整理:
}
```
-
## Categories パラメータ
@@ -117,7 +114,6 @@ v1: 結果はフラットなリスト。v2: ソースタイプ別に整理:
}
```
-
### カテゴリ応答
@@ -146,7 +142,6 @@ v1: 結果はフラットなリスト。v2: ソースタイプ別に整理:
}
```
-
## 時間ベースの検索
diff --git a/ja/api-reference/endpoint/token-usage-historical.mdx b/ja/api-reference/endpoint/token-usage-historical.mdx
index e9657565..f1a6bb3a 100644
--- a/ja/api-reference/endpoint/token-usage-historical.mdx
+++ b/ja/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "過去のトークン使用量"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
月ごとの過去のトークン使用量を返します。必要に応じて、APIキー別の内訳も取得できます。
diff --git a/ja/api-reference/endpoint/token-usage.mdx b/ja/api-reference/endpoint/token-usage.mdx
index 71f96a9d..1270dec3 100644
--- a/ja/api-reference/endpoint/token-usage.mdx
+++ b/ja/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "トークン使用量"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
課金体系を見直し、Extract も他のすべてのエンドポイントと同様にクレジット制になりました。1クレジットは15トークンに相当します。報告されるトークン使用量には、すべてのエンドポイントでの使用分が含まれます。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/batch-scrape-delete.mdx b/ja/api-reference/v1-endpoint/batch-scrape-delete.mdx
index 9f3f4f45..560873fe 100644
--- a/ja/api-reference/v1-endpoint/batch-scrape-delete.mdx
+++ b/ja/api-reference/v1-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのキャンセル'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> 注意: 機能とパフォーマンスが向上した新しい[v2版のAPI](/ja/api-reference/endpoint/batch-scrape-delete)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/batch-scrape-get-errors.mdx b/ja/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
index 63e64d02..c1b8a607 100644
--- a/ja/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
+++ b/ja/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのエラーを取得'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> 注意: エラーレポートとデバッグ機能が強化された、このAPIの[v2版](/ja/api-reference/endpoint/batch-scrape-get-errors)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/batch-scrape-get.mdx b/ja/api-reference/v1-endpoint/batch-scrape-get.mdx
index 0901b8fb..4fa8f268 100644
--- a/ja/api-reference/v1-endpoint/batch-scrape-get.mdx
+++ b/ja/api-reference/v1-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのステータスを取得'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> 注: ステータス追跡と監視機能が強化された、このAPIの新しい[v2版](/ja/api-reference/endpoint/batch-scrape-get)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/batch-scrape.mdx b/ja/api-reference/v1-endpoint/batch-scrape.mdx
index c7fd2556..54a43a14 100644
--- a/ja/api-reference/v1-endpoint/batch-scrape.mdx
+++ b/ja/api-reference/v1-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプ'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> 注意: バッチ処理のパフォーマンスと信頼性が向上した、このAPIの新しい[v2版](/ja/api-reference/endpoint/batch-scrape)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/crawl-active.mdx b/ja/api-reference/v1-endpoint/crawl-active.mdx
index 5b941229..8c3a4450 100644
--- a/ja/api-reference/v1-endpoint/crawl-active.mdx
+++ b/ja/api-reference/v1-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: '進行中のクロールを取得'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> 注: 機能とパフォーマンスが向上したこの API の新しい[v2 版](/ja/api-reference/endpoint/crawl-active)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/crawl-delete.mdx b/ja/api-reference/v1-endpoint/crawl-delete.mdx
index 4bfa8d7c..6028058e 100644
--- a/ja/api-reference/v1-endpoint/crawl-delete.mdx
+++ b/ja/api-reference/v1-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールのキャンセル'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> 注: 改良された機能とパフォーマンスを備えたこのAPIの新しい[v2版](/ja/api-reference/endpoint/crawl-delete)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/crawl-get-errors.mdx b/ja/api-reference/v1-endpoint/crawl-get-errors.mdx
index 71cff28d..875157ec 100644
--- a/ja/api-reference/v1-endpoint/crawl-get-errors.mdx
+++ b/ja/api-reference/v1-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールエラーの取得'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> 注: 機能とパフォーマンスが向上したこのAPIの新しい[v2版](/ja/api-reference/endpoint/crawl-get-errors)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/crawl-get.mdx b/ja/api-reference/v1-endpoint/crawl-get.mdx
index 1d607d34..9351c2f1 100644
--- a/ja/api-reference/v1-endpoint/crawl-get.mdx
+++ b/ja/api-reference/v1-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールのステータスを取得'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> 注意: 機能とパフォーマンスが向上した新しい [v2 版 API](/ja/api-reference/endpoint/crawl-get)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/crawl-post.mdx b/ja/api-reference/v1-endpoint/crawl-post.mdx
index 1fb72789..a197a367 100644
--- a/ja/api-reference/v1-endpoint/crawl-post.mdx
+++ b/ja/api-reference/v1-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> 注: 機能とパフォーマンスが向上した[v2版 API](/ja/api-reference/endpoint/crawl-post)が利用可能になりました。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/credit-usage-historical.mdx b/ja/api-reference/v1-endpoint/credit-usage-historical.mdx
index c3028c64..041b2677 100644
--- a/ja/api-reference/v1-endpoint/credit-usage-historical.mdx
+++ b/ja/api-reference/v1-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "過去のクレジット利用状況"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
過去のクレジット利用状況を月別に返します。必要に応じて、APIキーごとの内訳も取得できます。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/credit-usage.mdx b/ja/api-reference/v1-endpoint/credit-usage.mdx
index f9a4167f..d70c43d5 100644
--- a/ja/api-reference/v1-endpoint/credit-usage.mdx
+++ b/ja/api-reference/v1-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'クレジット使用量'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> 注: 機能とパフォーマンスが向上した[v2版のAPI](/ja/api-reference/endpoint/credit-usage)が利用可能になりました。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/deep-research-get.mdx b/ja/api-reference/v1-endpoint/deep-research-get.mdx
index a382df42..a4c49a80 100644
--- a/ja/api-reference/v1-endpoint/deep-research-get.mdx
+++ b/ja/api-reference/v1-endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "ディープリサーチ"
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/deep-research.mdx b/ja/api-reference/v1-endpoint/deep-research.mdx
index 9c5aca2a..a0ec9d19 100644
--- a/ja/api-reference/v1-endpoint/deep-research.mdx
+++ b/ja/api-reference/v1-endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: "Deep Research"
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Deep Research エンドポイントは、あらゆるトピックに対する AI 主導の高度な調査と分析を行えます。調査クエリを入力するだけで、Firecrawl が自律的にウェブを探索し、関連情報を収集して、知見を統合した包括的なインサイトにまとめます。
diff --git a/ja/api-reference/v1-endpoint/extract-get.mdx b/ja/api-reference/v1-endpoint/extract-get.mdx
index 218165d8..15981d97 100644
--- a/ja/api-reference/v1-endpoint/extract-get.mdx
+++ b/ja/api-reference/v1-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: "抽出ステータスの取得"
-openapi: "v1-openapi GET /extract/{id}"
+openapi: "/ja/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}"
---
> 注記: 機能とパフォーマンスが向上した新しい[v2版のAPI](/ja/api-reference/endpoint/extract-get)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/extract.mdx b/ja/api-reference/v1-endpoint/extract.mdx
index c894552c..82425faf 100644
--- a/ja/api-reference/v1-endpoint/extract.mdx
+++ b/ja/api-reference/v1-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> 注意: 機能とパフォーマンスが向上した新しい[v2版のAPI](/ja/api-reference/endpoint/extract)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/llmstxt-get.mdx b/ja/api-reference/v1-endpoint/llmstxt-get.mdx
index d018c989..c7210dd9 100644
--- a/ja/api-reference/v1-endpoint/llmstxt-get.mdx
+++ b/ja/api-reference/v1-endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt のステータス"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/ja/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
LLMs.txt の生成ジョブのステータスと結果を取得します。このエンドポイントでは、生成の完了状況を確認し、生成されたコンテンツを取得できます。
@@ -69,7 +69,6 @@ LLMs.txt の生成ジョブのステータスと結果を取得します。こ
}
```
-
### ポーリングの推奨
diff --git a/ja/api-reference/v1-endpoint/llmstxt.mdx b/ja/api-reference/v1-endpoint/llmstxt.mdx
index ea55be4b..238c09f1 100644
--- a/ja/api-reference/v1-endpoint/llmstxt.mdx
+++ b/ja/api-reference/v1-endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt を生成する"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/ja/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
LLMs.txt 生成エンドポイントは、任意のウェブサイト向けに LLMs.txt と LLMs-full.txt ファイルを生成します。これらのファイルは、ウェブサイトのコンテンツを構造化し、LLM に適したフォーマットで提供することで、言語モデルによる理解・処理を容易にします。
diff --git a/ja/api-reference/v1-endpoint/map.mdx b/ja/api-reference/v1-endpoint/map.mdx
index adf59c6e..d7c08b62 100644
--- a/ja/api-reference/v1-endpoint/map.mdx
+++ b/ja/api-reference/v1-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> 注: 機能とパフォーマンスが向上した新しい[v2版API](/ja/api-reference/endpoint/map)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/queue-status.mdx b/ja/api-reference/v1-endpoint/queue-status.mdx
index a11a3bd9..7322203e 100644
--- a/ja/api-reference/v1-endpoint/queue-status.mdx
+++ b/ja/api-reference/v1-endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "キューのステータス"
-openapi: 'v1-openapi GET /team/queue-status'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/queue-status'
---
> 注意: 機能とパフォーマンスが向上した [本APIの新しい v2 版](/ja/api-reference/endpoint/queue-status) が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/scrape.mdx b/ja/api-reference/v1-endpoint/scrape.mdx
index 10d162e0..ec8d8ad6 100644
--- a/ja/api-reference/v1-endpoint/scrape.mdx
+++ b/ja/api-reference/v1-endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> 注: 機能とパフォーマンスが向上したこのAPIの新しい[v2版](/ja/api-reference/endpoint/scrape)が利用可能です。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/search.mdx b/ja/api-reference/v1-endpoint/search.mdx
index 1573f2c4..9b54f719 100644
--- a/ja/api-reference/v1-endpoint/search.mdx
+++ b/ja/api-reference/v1-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> 注意: 機能とパフォーマンスが向上した[new v2 version of this API](/ja/api-reference/endpoint/search)が利用可能です。
diff --git a/ja/api-reference/v1-endpoint/token-usage-historical.mdx b/ja/api-reference/v1-endpoint/token-usage-historical.mdx
index 862a46d0..1d9f1e42 100644
--- a/ja/api-reference/v1-endpoint/token-usage-historical.mdx
+++ b/ja/api-reference/v1-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: '過去のトークン使用量'
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
月ごとのトークン使用量を返します。必要に応じて、APIキーごとの内訳も取得できます。
\ No newline at end of file
diff --git a/ja/api-reference/v1-endpoint/token-usage.mdx b/ja/api-reference/v1-endpoint/token-usage.mdx
index 9ea3b6c5..6d20cb6d 100644
--- a/ja/api-reference/v1-endpoint/token-usage.mdx
+++ b/ja/api-reference/v1-endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'トークン使用状況'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> 注意: 機能とパフォーマンスが向上した、このAPIの新しい[v2版](/ja/api-reference/endpoint/token-usage)が利用可能になりました。
\ No newline at end of file
diff --git a/ja/api-reference/v1-openapi.json b/ja/api-reference/v1-openapi.json
new file mode 100644
index 00000000..dd1bd13f
--- /dev/null
+++ b/ja/api-reference/v1-openapi.json
@@ -0,0 +1,3656 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "Firecrawl サービスと連携して Web サイトのスクレイピングおよびクロール処理を行うための API です。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "1つのURLをスクレイピングし、必要に応じてLLMを使って情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイプ対象のURL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このスクレイプではデータを一切保持しないゼロデータ保持モードが有効になります。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "複数のURLをスクレイピングし、必要に応じてLLMを使って情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイピング対象のURL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook の仕様を表すオブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先 URL です。バッチスクレイプの開始時(batch_scrape.started)、各ページのスクレイプ時(batch_scrape.page)、およびバッチスクレイプが完了したとき(batch_scrape.completed または batch_scrape.failed)にトリガーされます。レスポンスは `/scrape` エンドポイントと同じです。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信する HTTP ヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべてのWebhookペイロードに含まれるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類。(デフォルト: すべて)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時スクレイプの最大数。このパラメータで、このバッチスクレイプにおける同時実行数の上限を設定できます。指定しない場合は、チームの同時実行数の上限が適用されます。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "urls 配列に無効な URL が含まれている場合、それらは無視されます。無効な URL が原因でリクエスト全体が失敗するのではなく、残りの有効な URL のみを使ってバッチスクレイプが実行され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このバッチスクレイプではデータを一切保持しないゼロデータ保持モードが有効になります。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイプジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイプジョブの状態を取得する",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "バッチスクレイピングジョブをキャンセルする",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルに成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "バッチスクレイピングジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのエラーを取得する",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブのステータスを取得する",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "クロールジョブをキャンセルする",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルが完了しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クロールジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブのエラーを取得",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "オプションに応じて複数のURLをクロールする",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールを開始するためのベースURL"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロール対象からURLを除外するための URL パス名の正規表現パターンです。たとえば、ベース URL が firecrawl.dev の場合に `\"excludePaths\": [\"blog/.*\"]` を設定すると、https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap のように、そのパターンに一致する結果はすべて除外されます。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールに含めるURLを指定するための、URLパス名に対する正規表現パターンです。指定したパターンに一致するパスのみがレスポンスに含まれます。たとえば、ベースURLが firecrawl.dev の場合に \"includePaths\": [\"blog/.*\"] を設定すると、そのパターンに一致する結果のみが含まれます(例: https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap)。"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "入力されたURLのベースからクロールできる最大の絶対深度です。基本的には、スクレイピング対象となるURLのパス名に含めることができるスラッシュの最大数を指します。",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "発見順序に基づいてクロールする最大の深さです。ルートサイトおよびサイトマップに含まれるページの発見深度は 0 です。例えば、これを 1 に設定し、かつ ignoreSitemap を有効にした場合、入力した URL と、そのページ上からリンクされているすべての URL のみをクロールします。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "クロール時にサイトマップを無視する",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "同じパスを、クエリパラメータを変えて(または付けずに)再度スクレイピングしないでください",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールするページの最大数です。デフォルトの上限は 10,000 です。",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ 非推奨: 代わりに 'crawlEntireDomain' を使用してください。クローラーが子パスだけでなく、同一階層や親のURLへの内部リンクもたどれるようにします。",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "クローラーがたどるリンクの範囲を、子パスだけでなく同一階層や親階層の内部リンクにも広げます。\n\nfalse: より深い(子)URL だけをクロールします。\n→ 例: /features/feature-1 → /features/feature-1/tips ✅\n→ /pricing や / には移動しない ❌\n\ntrue: 同一階層や親階層のパスを含む、あらゆる内部リンクをクロールします。\n→ 例: /features/feature-1 → /pricing、/ など ✅\n\nネストされたパスだけでなく、サイト内部全体を広くカバーしたい場合は true に設定します。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "クローラーが外部サイトへのリンクをたどることを許可します。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "クロール時に、クローラーがメインドメイン配下のサブドメインへのリンクをたどれるようにします。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "スクレイピング実行間の待機時間(秒)。ウェブサイトのレート制限を遵守するのに役立ちます。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時に実行するスクレイプの最大数。このパラメータで、このクロールに対する同時実行数の上限を設定できます。指定しない場合は、チームの同時実行数上限が適用されます。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook仕様オブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先 URL です。クロール開始時(crawl.started)、各ページのクロール時(crawl.page)、およびクロール完了時(crawl.completed または crawl.failed)に呼び出されます。レスポンスは `/scrape` エンドポイントと同一です。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信する HTTP ヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべてのWebhookペイロードに含まれるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類です(デフォルト: すべて)。",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このクロールではデータを一切保持しないゼロデータ保持モードが有効になります。この機能を有効にするには、help@firecrawl.dev までお問い合わせください。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "オプションに基づいて複数のURLをマップする",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールを開始するベースURL"
+ },
+ "search": {
+ "type": "string",
+ "description": "マッピングに使用する検索クエリです。Alpha フェーズ中は、検索機能の「スマート」な部分は検索結果 500 件までに制限されています。ただし、map によってそれ以上の結果が見つかった場合でも、その件数には制限はありません。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "クロール時にサイトマップを無視する。",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "ウェブサイトのサイトマップに含まれるリンクだけを返す",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "サイトのサブドメインを含める",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返すリンク数の上限",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト時間(ミリ秒単位)。デフォルトではタイムアウトは設定されていません。"
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストのロケーション設定。指定した場合、利用可能であれば対応するプロキシを使用し、対応する言語とタイムゾーン設定をエミュレートします。指定しない場合は、デフォルトで「US」が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 形式の国コード(例: 「US」「AU」「DE」「JP」)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "リクエストに対して優先される言語およびロケール(優先度順)。指定された location の言語が既定値です。詳細は https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "LLMでページから構造化データを抽出する",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "データを抽出する対象のURLです。URLはglobパターン形式で指定してください。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "抽出プロセスを指示するプロンプト"
+ },
+ "schema": {
+ "type": "object",
+ "description": "抽出されたデータの構造を定義するスキーマ。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "true の場合、抽出では Web 検索を使用して追加データを取得します",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "true の場合、ウェブサイトのスキャン時に sitemap.xml ファイルは無視されます。",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "true の場合、指定した URL のサブドメインもスキャン対象になります",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "true の場合、データ抽出に使用されたソースが、レスポンス内の `sources` キーとして含まれます",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "urls 配列に無効な URL が指定されている場合、それらは無視されます。リクエスト全体が失敗するのではなく、有効な URL のみを使って抽出処理が実行され、無効な URL はレスポンスの invalidURLs フィールドに返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "抽出成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "無効なリクエスト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抽出ジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "抽出ジョブの状態を取得する",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "認証されたチームのすべての進行中のクロールを取得します",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "クロールの一意の識別子"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "クロールを所有しているチームのID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの起点となる URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "このクロールで使用したクローラーオプション",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "クエリに対する本格的なリサーチ処理を開始する",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "調査するクエリ"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "リサーチ反復の最大深さ"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "制限時間(秒)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "分析する URL の最大数"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "最終的な分析に使用するプロンプトです。最終的な分析結果の Markdown を特定の形式で整形するために使用します。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "リサーチエージェントに使用するシステムプロンプトです。エージェントの振る舞いを特定の方向に導きたい場合に役立ちます。"
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 出力オプション",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "JSON 出力で使用するスキーマ。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "JSON 出力用のシステムプロンプト"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "JSON出力用のプロンプト"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "リサーチジョブの開始に成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "リサーチジョブの ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "無効なリクエストパラメータです",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "リサーチジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "ディープリサーチのステータスと結果を取得する",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功レスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "JSON 形式のときに表示されます",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列です"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列の配列を取り得ます。"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Research ジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "認証済みのチームの残りのクレジット数を取得する",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "チームの残りクレジット数",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "プランに含まれるクレジット数です。この数には、クーポンクレジット、クレジットパック、自動チャージによるクレジットは含まれません。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランを利用している場合は null が設定されます",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プランを利用している場合は null になります",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クレジット利用情報が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "認証済みチームのクレジット使用履歴を取得",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのクレジット利用履歴を取得",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "課金期間中に使用された API キーの名前。byApiKey が false(デフォルト)の場合は null",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "請求期間中に使用したクレジットの合計",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "認証済みのチームの残りトークン数を取得(Extract のみ)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "チームの残りトークン数",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "プランに含まれるトークン数。クーポンのトークンは含まれません。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランの場合は null です",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プラン利用時は null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "トークン使用量情報が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "認証済みのチームのトークン使用履歴を取得(Extractのみ)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのトークン使用履歴を取得する",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "請求期間に使用された API キーの名前。byApiKey が false(デフォルト)の場合は null になります",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "請求期間中に使用されたトークン総数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "チームのスクレイプキューに関するメトリクス",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "正常なレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "現在キューに入っているジョブ数"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "現在実行中のジョブ数"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "現在待機中のジョブ数"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "ご利用プランごとの同時実行可能な最大ジョブ数"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "最新の成功したジョブのタイムスタンプ",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "検索を行い、必要に応じて検索結果をスクレイピングする",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "検索クエリ"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返す結果の最大件数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間指定の検索パラメータ。事前定義された時間範囲(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)と、カスタム日付範囲(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果の location パラメーター"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト(ミリ秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "他の Firecrawl エンドポイントでは無効となる URL を検索結果から除外します。検索結果のデータを他の Firecrawl API エンドポイントにパイプで渡す場合のエラー削減に役立ちます。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "検索結果スクレイピングのオプション",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "description": {
+ "type": "string",
+ "description": "検索結果の説明文"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングをリクエストした場合のMarkdownコンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の HTML コンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の生のHTMLコンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "フォーマットで指定された場合に取得されるリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでリクエストされた場合のスクリーンショットのURLです。スクリーンショットは24時間で有効期限が切れ、それ以降はダウンロードできません。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列です"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列の配列のいずれかです"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "問題発生時に表示される警告メッセージ"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "リクエストタイムアウト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "ウェブサイト向けの LLMs.txt を生成する",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "LLMs.txt を生成する元となる URL"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "解析対象とするURLの最大数",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "レスポンスにテキスト全文を含める",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "LLMs.txt の生成ジョブが正常に開始されました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "LLMs.txt の生成ジョブID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "無効なリクエストパラメータです",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "LLMs.txt 生成ジョブの ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "LLMs.txt 生成ジョブのステータスおよび結果を取得する",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "生成された LLMs.txt ファイルの内容"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "showFullText が true の場合に表示される全文テキストコンテンツ"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "生成されたコンテンツが失効するタイミング"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "LLMs.txt の生成ジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダー、ナビゲーション、フッターなどを除き、ページのメインコンテンツのみを返します。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力に含めるタグ。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力結果から除外するタグ。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "ページのキャッシュが、このミリ秒数以内に生成されたものであれば、そのキャッシュされたバージョンを返します。キャッシュされたページがこの値より古い場合は、ページをスクレイピングします。極めて最新のデータが不要な場合、これを有効にすることでスクレイピングを最大 500% 高速化できます。デフォルトは 0 で、この場合キャッシュは無効になります。",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "リクエストに付与して送信するヘッダー。Cookie や User-Agent などを送るために使用できます。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "コンテンツを取得する前に待機する時間(ディレイ)をミリ秒単位で指定します。これにより、ページが十分に読み込まれるまでの時間を確保できます。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "モバイル端末からのスクレイピングを模擬したい場合は true に設定してください。レスポンシブページのテストやモバイル画面のスクリーンショット取得に便利です。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "リクエスト時に TLS 証明書の検証をスキップする",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "リクエストのタイムアウト(ミリ秒)",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "スクレイピング中のPDFファイルの処理方法を制御します。true の場合、PDFのコンテンツを抽出してMarkdown形式に変換し、課金はページ数に基づきます(1ページあたり1クレジット)。false の場合、PDFファイルはbase64エンコードされたデータとして返され、合計1クレジットの定額課金となります。",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON オプションオブジェクト",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "抽出に使用するスキーマ(任意)。[JSON Schema](https://json-schema.org/) に準拠したものである必要があります。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "抽出に使用するシステムプロンプト(任意)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "スキーマなしで抽出を行う際に使用するプロンプト(任意)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "ページからコンテンツを取得する前に実行するアクション",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "指定したミリ秒間待機します"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "待機する時間(ミリ秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクタ",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "スクリーンショットを撮影します。リンクはレスポンスの `actions.screenshots` 配列に含まれます。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在のビューポートに限定するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの品質を1〜100で指定します。100が最高品質です。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "要素をクリックします"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクタ",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "セレクターに一致する要素を、最初のものだけでなくすべてクリックします。セレクターに一致する要素が存在しない場合でも、エラーは発生しません。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "入力フィールド、テキストエリア、または contenteditable 要素にテキストを入力します。注意: テキストを入力する前に、必ず「click」アクションで要素にフォーカスを当ててください。テキストはキーボード入力をシミュレートするため、1文字ずつタイプされます。"
+ },
+ "text": {
+ "type": "string",
+ "description": "入力するテキスト",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "ページ上でキーを押してください。キーコードについては https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html を参照してください。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "このページでいずれかのキーを押してください"
+ },
+ "key": {
+ "type": "string",
+ "description": "押下するキー",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "ページ全体または特定の要素をスクロールする"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "スクロール方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "スクロール対象要素のクエリセレクター",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "現在のページの内容をスクレイピングし、URL と HTML を返します。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "ページ上で JavaScript コードを実行する"
+ },
+ "script": {
+ "type": "string",
+ "description": "実行する JavaScript コード",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "現在のページの PDF を生成します。PDF はレスポンスの `actions.pdfs` 配列で返されます。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "出力されるPDFのページサイズ",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "PDF を横向きで生成するかどうか",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成される PDF の拡大縮小倍率",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストに対するロケーション設定です。指定されている場合、利用可能であれば適切なプロキシを使用し、対応する言語およびタイムゾーン設定を再現します。指定されていない場合は、デフォルトで 'US' が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2国コード(例:「US」「AU」「DE」「JP」)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "リクエストに対して優先順位順に指定する言語およびロケール。指定がない場合は、指定された location の言語がデフォルトになります。詳細は https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "出力から、非常に長くなりがちな Base64 画像をすべて削除します。画像の alt テキストは出力内に残りますが、URL はプレースホルダーに置き換えられます。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "広告とクッキーポップアップのブロックを有効にします。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "使用するプロキシの種類を指定します。\n\n - **basic**: ほとんどボット対策がない、または基本的なボット対策のみが導入されているサイト向けのプロキシです。高速で、通常は問題なく動作します。\n - **stealth**: 高度なボット対策が導入されているサイト向けのステルスプロキシです。basic より遅くなりますが、特定のサイトではより安定して動作します。1リクエストあたり最大5クレジットを消費します。\n - **auto**: basic プロキシでのスクレイピングが失敗した場合、Firecrawl が自動的にステルスプロキシで再試行します。ステルスでの再試行が成功した場合、そのスクレイピングには5クレジットが課金されます。最初の basic による試行が成功した場合は、通常の料金のみが課金されます。\n\nプロキシを指定しない場合、Firecrawl はデフォルトで basic を使用します。"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "true の場合、そのページは Firecrawl のインデックスおよびキャッシュに保存されます。スクレイピング内容がデータ保護上の懸念を伴う可能性がある場合は、これを false に設定するのが有効です。機密性の高いスクレイピングに関連する一部のパラメータ(アクションやヘッダーなど)を使用すると、このパラメータは強制的に false に設定されます。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "出力に含めるフォーマット。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "変更追跡用のオプション(ベータ版)。changeTracking がフォーマットに含まれている場合にのみ有効です。変更追跡を使用する際は、markdown フォーマットも指定する必要があります。",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "変更追跡に使用するモード。`git-diff` は詳細な差分を提供し、`json` は抽出された JSON データを比較します。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "'json' モード使用時の JSON 抽出用スキーマです。抽出および比較するデータの構造を定義します。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "「json」モードで変更追跡を行う際に使用するプロンプトです。指定しない場合は、デフォルトのプロンプトが使用されます。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "変更トラッキングに使用するタグ。タグを使うことで、変更トラッキングの履歴を別々の「ブランチ」に分割でき、特定のタグでの変更トラッキングは同じタグで実行されたスクレイプとだけ比較されます。指定しない場合は、デフォルトタグ(null)が使用されます。"
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `html` が含まれている場合の、ページのコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`rawHtml` が `formats` に含まれている場合のページの生の HTML コンテンツ"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `screenshot` が含まれている場合、そのページのスクリーンショット。スクリーンショットは 24 時間後に有効期限が切れ、それ以降はダウンロードできません。"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`formats` に `links` が含まれている場合、そのページ上のリンク一覧"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` パラメータで指定されたアクションの結果。リクエストで `actions` パラメータが指定された場合にのみ含まれます。",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "スクリーンショットのURL。指定されたスクリーンショットのアクションと同じ順序で並びます。スクリーンショットは24時間後に有効期限が切れ、以降はダウンロードできなくなります。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "指定されたスクレイプアクションの順序どおりにコンテンツをスクレイピングします。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "executeJavascript で指定したアクションと同じ順序で並んだ JavaScript の戻り値。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成されたPDF。指定したPDFアクションと同じ順序で並びます。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列の配列を取ります。"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ページの別ロケール"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラー メッセージ"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "LLM Extraction 利用時に表示されます。定義したスキーマに従い、ページから抽出されたデータです。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "LLM Extraction を使用しているときに表示されます。警告メッセージによって、抽出時の問題が通知されます。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "`formats` に `changeTracking` が含まれている場合の変更追跡情報です。`changeTracking` フォーマットが指定された場合にのみ返されます。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "現在のページが比較されている直前のスクレイプのタイムスタンプ。過去のスクレイプが存在しない場合は null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "2 つのページバージョンの比較結果です。'new' はこのページがそれ以前には存在しなかったことを意味し、'same' は内容に変更がないことを意味し、'changed' は内容が変更されたことを意味し、'removed' はページが削除されたことを意味します。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "現在のページ/URL の可視性を示します。'visible' は、その URL がリンクやサイトマップなどの通常の経路から発見されたことを意味し、'hidden' は、その URL が過去のクロールの記憶から発見されたことを意味します。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "「git-diff」モード使用時の変更内容を示す Git スタイルの差分。モードが「git-diff」に設定されている場合にのみ出力されます。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "'json' モード使用時の JSON 比較結果。モードが 'json' に設定されている場合にのみ出力されます。`schema` で定義された型に基づき、`previous` と `current` のスクレイプから取得したすべてのキーとその値の一覧を出力します。例は[こちら](/features/change-tracking)にあります。"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "クロールの現在の状態です。`scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "クロールを試行したページ数の合計です。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にクロールが完了したページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "クロールで使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "クロールが有効期限切れとなる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB 分のデータを取得するための URL。クロールが完了していない場合、またはレスポンスが 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "クロールで取得したデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合、そのページのコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合のページの未加工の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合の、ページ上のリンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合のページのスクリーンショット画像"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列である場合があります"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列配列のいずれかになります"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "ページから抽出された言語。文字列または文字列の配列のいずれかになります。"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列配列のいずれかです"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "このページの他のロケール"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "HTML から抽出されたその他のメタデータ。文字列または文字列配列になることがあります"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "エラーが発生したスクレイピングジョブとエラー詳細",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失敗発生時のISOタイムスタンプ"
+ },
+ "url": {
+ "type": "string",
+ "description": "スクレイピングで取得したURL"
+ },
+ "error": {
+ "type": "string",
+ "description": "エラー メッセージ"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "スクレイピングを試みたが robots.txt によりブロックされた URL の一覧",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "バッチスクレイピングの現在の状態です。`scraping`、`completed`、`failed` のいずれかになります。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "スクレイピングを試みたページ数の合計。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にスクレイピングできたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "バッチスクレイピングで使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "バッチスクレイプの有効期限となる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB 分のデータを取得するための URL。バッチスクレイプが完了していない場合、またはレスポンスが 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "バッチスクレイプで取得されたデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合のページ内コンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合のページの生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合、ページ内のリンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合のページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列のいずれかです。"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列の配列である場合があります"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "ページから抽出された言語。文字列または文字列配列のいずれかになります"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列の配列にできます。"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "このページの他のロケール"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "HTML から抽出されるその他のメタデータ。文字列または文字列配列となり得ます"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、この配列にはリクエストで指定された無効な URL が含まれます。無効な URL が存在しない場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、これはリクエスト内で指定された無効な URL を含む配列です。無効な URL がなかった場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "抽出ジョブの現在のステータス"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ja/api-reference/v2-openapi.json b/ja/api-reference/v2-openapi.json
new file mode 100644
index 00000000..afc807e6
--- /dev/null
+++ b/ja/api-reference/v2-openapi.json
@@ -0,0 +1,3828 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "Firecrawlのサービスを利用して、Webスクレイピングやクロールを行うためのAPIです。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "1つのURLをスクレイピングし、必要に応じてLLMで情報を抽出します",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイピング対象のURL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このスクレイプではデータ保持が一切行われません。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "複数のURLをスクレイピングし、必要に応じてLLMを用いて情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイプ対象のURL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook の仕様を表すオブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook を送信する URL。バッチスクレイプの開始時(batch_scrape.started)、各ページのスクレイプ時(batch_scrape.page)、およびバッチスクレイプの完了時(batch_scrape.completed または batch_scrape.failed)にトリガーされます。レスポンスは `/scrape` エンドポイントと同じです。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信するヘッダー情報。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールで送信されるすべてのWebhookペイロードに含めるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類を指定します(デフォルト: すべて)。",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時に実行されるスクレイプの最大数。このパラメータで、このバッチスクレイプに対する同時実行数の上限を設定できます。指定しない場合、このバッチスクレイプはチームで設定された同時実行数の上限に従います。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "urls 配列に無効な URL が含まれている場合、それらは無視されます。無効な URL が原因でリクエスト全体が失敗するのではなく、残りの有効な URL を使ってバッチスクレイプが作成され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このバッチスクレイプではゼロデータ保持が有効になり、データは一切保持されません。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのステータスを取得する",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "バッチスクレイピングジョブをキャンセルする",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルに成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "バッチスクレイピングジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブで発生したエラーを取得する",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブの状態を取得する",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "クロールジョブをキャンセルする",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルが完了しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クロールジョブが見つかりませんでした",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブのエラーを取得",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "オプション設定に基づいて複数のURLをクロールする",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールを開始するベースURL"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "自然言語からクローラーオプション(以下のすべてのパラメーター)を生成するために使用するプロンプトです。明示的に設定されたパラメーターは、生成された対応する値よりも優先されます。"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールから除外する URL パス名の正規表現パターンです。たとえば、ベース URL が firecrawl.dev の場合に `\"excludePaths\": [\"blog/.*\"]` を設定すると、`https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap` のようにそのパターンにマッチする URL はすべて除外されます。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールに含めるURLを指定するための、URLパスに対する正規表現パターンです。指定したパターンにマッチするパスのみがレスポンスに含まれます。たとえば、ベースURLが firecrawl.dev の場合に \"includePaths\": [\"blog/.*\"] を設定すると、https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap のように、そのパターンにマッチする結果のみが含まれます。"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "検出順序に基づいてクロールする最大深度です。ルートサイトおよびサイトマップに含まれるページの検出深度は 0 です。例えば、これを 1 に設定し、かつ `sitemap: 'skip'` を指定した場合、入力した URL と、そのページからリンクされているすべての URL だけをクロールします。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "クロール時のサイトマップモードです。これを「skip」に設定すると、クローラーはサイトのサイトマップを無視し、指定したURLのみを起点として、そこから発見したページだけをクロールします。",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "同じパスを、クエリパラメータの有無や値を変えて再スクレイプしないでください",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールするページ数の最大値。デフォルトの上限は 10,000 です。",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "クローラーが子パスだけでなく、同一階層(兄弟)や親の URL への内部リンクもたどれるようにします。\n\nfalse: より深い(子)URL だけをクロールします。\n→ 例: /features/feature-1 → /features/feature-1/tips ✅\n→ /pricing や / には遷移しません ❌\n\ntrue: 同一階層や親階層を含む、あらゆる内部リンクをクロールします。\n→ 例: /features/feature-1 → /pricing、/ など ✅\n\n入れ子になったパスよりも広く内部ページ全体をカバーしたい場合は true を使用します。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "クローラーが外部のウェブサイトへのリンクをたどれるようにします。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "クローラーがメインドメイン配下のサブドメインへのリンクをたどれるようにします。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "スクレイプ実行間の待機時間(秒)。ウェブサイト側のレート制限を尊重するのに役立ちます。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時スクレイプ数の上限。このパラメータで、このクロールに対する同時実行数の上限を設定できます。指定しない場合、このクロールはチームに設定されている同時実行数の上限に従います。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 仕様オブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先 URL です。クロールの開始時(crawl.started)、各ページのクロール時(crawl.page)、およびクロール完了または失敗時(crawl.completed または crawl.failed)にトリガーされます。レスポンスは `/scrape` エンドポイントのものと同じです。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信する HTTP ヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべてのウェブフックペイロードに含まれるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類です。(デフォルト: all)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このクロールではデータを一切保持しないゼロデータ保持モードが有効になります。この機能を有効化するには、help@firecrawl.dev までご連絡ください。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/params-preview": {
+ "post": {
+ "summary": "自然言語プロンプトから生成されたクロールパラメーターをプレビュー",
+ "operationId": "crawlParamsPreview",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールするURL"
+ },
+ "prompt": {
+ "type": "string",
+ "maxLength": 10000,
+ "description": "クロールしたい対象を自然言語で記述したプロンプト"
+ }
+ },
+ "required": [
+ "url",
+ "prompt"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "生成されたクロールパラメータを含む成功レスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロール対象のURL"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "含める URL パターン"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "除外対象のURLパターン"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "最大クロール深さ"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "最大探索深度"
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "ドメイン全体をクロールするかどうか"
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "外部リンクを許可するか"
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "サブドメインを許可するか"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "サイトマップ処理戦略"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "クエリパラメータを無視するかどうかを指定"
+ },
+ "deduplicateSimilarURLs": {
+ "type": "boolean",
+ "description": "類似するURLを重複排除するかどうか"
+ },
+ "delay": {
+ "type": "number",
+ "description": "リクエスト間の遅延時間(ミリ秒)"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールする最大ページ数"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "不正なリクエスト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid request parameters"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "認証されていません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Unauthorized"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Failed to process natural language prompt"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "オプションを指定して複数のURLをマップする",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの開始地点となるベースURL"
+ },
+ "search": {
+ "type": "string",
+ "description": "検索クエリを指定すると、結果が関連度の高い順に並べ替えられます。例: 「blog」を指定すると、URL 内に「blog」を含むものが関連度順に返されます。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "マッピング時のサイトマップモードです。`skip` に設定すると、URL の検出にサイトマップは使用されません。`only` に設定すると、サイトマップ内にある URL だけが返されます。デフォルトの `include` では、サイトマップとその他の手法を併用して URL を検出します。",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "このサイトのサブドメインを含める",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "クエリパラメータ付きのURLを返さない",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返すリンクの最大数",
+ "default": 5000,
+ "maximum": 100000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト(ミリ秒単位)。既定ではタイムアウトはありません。"
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストのロケーション設定です。指定すると、利用可能な場合は適切なプロキシを使用し、対応する言語およびタイムゾーン設定をエミュレートします。指定しない場合は、デフォルトで「US」が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 の alpha-2 国コード(例: 「US」「AU」「DE」「JP」)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "リクエストに対して優先度順に指定する言語およびロケール。指定された location の言語がデフォルトになります。詳細は https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "examples": {
+ "example1": {
+ "summary": "例 1",
+ "value": {
+ "url": "",
+ "search": "",
+ "sitemap": "include",
+ "includeSubdomains": true,
+ "ignoreQueryParameters": true,
+ "limit": 5000,
+ "location": {
+ "country": "US",
+ "languages": [
+ "en-US"
+ ]
+ },
+ "timeout": 60000
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功したレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "LLM を使ってページから構造化データを抽出",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "データを抽出する対象のURLです。URLはグロブ形式で指定してください。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "抽出プロセスをガイドするプロンプト"
+ },
+ "schema": {
+ "type": "object",
+ "description": "抽出されたデータの構造を定義するためのスキーマ。[JSON Schema](https://json-schema.org/) に準拠する必要があります。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "true の場合、抽出処理で Web 検索を使用して追加データを取得します",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "true の場合、サイトのスキャン時に sitemap.xml ファイルは無視されます",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "true の場合、指定した URL のサブドメインもスキャンされます",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "true の場合、データ抽出に使用されたソースがレスポンスの `sources` キーに含まれます",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "urls 配列に無効な URL が含まれている場合、それらは無視されます。無効な URL が原因でリクエスト全体が失敗するのではなく、有効な URL のみを使用して抽出が実行され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "抽出が成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "不正なリクエストです",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抽出ジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "抽出ジョブの状態を取得する",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "認証済みのチームに対するすべてのアクティブなクロールを取得します",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "クロールを一意に識別するID"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "クロールを所有するチームのID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの起点となる URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "このクロールで使用したクローラーオプション",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "認証済みのチームの残りクレジット数を取得する",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "チームの残りクレジット数",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "プランに含まれるクレジット数です。クーポンクレジット、クレジットパック、自動チャージで付与されるクレジットは含まれません。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランを利用している場合は null となります",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プランの場合は null です",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クレジット使用状況が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "認証済みチームのクレジット利用履歴を取得します",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのクレジット使用履歴を取得",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "請求期間に使用された API キーの名前。byApiKey が false(デフォルト)の場合は null",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "請求期間中に使用したクレジットの総数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "認証済みのチームの残りトークン数を取得(Extract 専用)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "チームの残りトークン数",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "プランに含まれるトークン数です。クーポン分のトークンは含まれません。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランを利用している場合は null になります",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プランを利用している場合は null です",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "トークン使用量情報が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "認証済みチームの履歴トークン使用量を取得します(Extract のみ)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのトークン使用量の履歴を取得する",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "課金期間中に使用された API キー名。byApiKey が false(デフォルト)の場合は null。",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "課金期間内に使用されたトークンの総数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "チームのスクレイプキューに関する指標",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "現在キュー内にあるジョブ数"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "現在実行中のジョブ数"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "現在待機中のジョブ数"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "ご利用プランごとの同時実行可能なアクティブジョブ数の上限"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "最新の正常終了したジョブのタイムスタンプ",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "検索し、必要に応じて検索結果をスクレイピングする",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "検索クエリ"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返す結果の最大数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間に基づく検索パラメータ。あらかじめ定義された時間範囲(`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`)と、カスタム日付範囲(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします。"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果用の Location パラメータ"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "検索対象とするソース。レスポンスに含まれる配列の種類を決定します。デフォルトは ['web'] です。",
+ "default": [
+ "web"
+ ]
+ },
+ "categories": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "GitHub",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "github"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Research",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "research"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "結果をカテゴリでフィルタリングするための指定。デフォルト値は [] で、この場合はカテゴリによるフィルタリングは行われません。"
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間ベースの検索パラメータです。あらかじめ定義された時間範囲(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)と、カスタム日付範囲(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします。"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果のロケーションを指定するパラメータ(例: `San Francisco,California,United States`)。最適な結果を得るには、このパラメータと `country` パラメータの両方を設定してください。"
+ },
+ "country": {
+ "type": "string",
+ "description": "検索結果のジオターゲティングに使用する ISO 国コード(例:`US`)。最適な結果を得るには、これと `location` パラメータの両方を設定してください。",
+ "default": "US"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト時間(ミリ秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "他の Firecrawl エンドポイントでは無効となる URL を検索結果から除外します。これにより、検索から取得したデータを他の Firecrawl API エンドポイントに渡す際のエラーを減らせます。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "検索結果をスクレイピングする際のオプション",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "description": {
+ "type": "string",
+ "description": "検索結果の説明文"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングをリクエストした場合の Markdown コンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の HTML コンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の生のHTMLコンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "フォーマットで links を指定した場合に取得されるリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでスクリーンショットが指定されている場合の、スクリーンショットのURLです。スクリーンショットは24時間後に失効し、それ以降はダウンロードできません。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "画像URL"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "画像の幅"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "画像の高さ"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "検索結果の位置"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "記事タイトル"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "記事からの抜粋"
+ },
+ "url": {
+ "type": "string",
+ "description": "記事のURL"
+ },
+ "date": {
+ "type": "string",
+ "description": "記事の公開日"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "記事画像のURL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "記事の位置"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングをリクエストした場合の Markdown コンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットとしてリクエストされた場合のHTMLコンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "フォーマットでのリクエスト時に検出されたリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでスクリーンショットが要求された場合のスクリーンショットURL。スクリーンショットは24時間後に有効期限が切れ、それ以降はダウンロードできません。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "検索結果。利用可能な配列は、リクエストで指定したソースに応じて変わります。デフォルトでは `web` 配列が返されます。"
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "何らかの問題が発生した場合の警告メッセージ"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "リクエストのタイムアウト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在のビューポートに限定するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの画質を1〜100で指定します。100が最高画質です。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "ビューポートの幅(ピクセル単位)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "ビューポートの高さ(ピクセル単位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "JSON出力用のスキーマ。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "JSON出力用プロンプト"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "変更追跡に使用するモードです。'git-diff' は詳細な差分を表示し、'json' は抽出した JSON データを比較します。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "「json」モードでのJSON抽出用スキーマです。抽出および比較するデータの構造を定義します。[JSON Schema](https://json-schema.org/) に準拠する必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "json モードで変更追跡を行う際に使用するプロンプトです。指定しない場合はデフォルトのプロンプトが使用されます。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "変更追跡に使用するタグ。タグを使うことで、変更追跡の履歴を個別の「ブランチ」に分割できます。特定のタグを指定した場合、そのタグに対する変更追跡は、同じタグで実行されたスクレイプとのみ比較されます。指定しない場合は、デフォルトタグ(null)が使用されます。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Branding",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "branding"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "レスポンスに含める出力フォーマットを指定します。1つ以上のフォーマットを、文字列(例: `'markdown'`)または追加オプションを含むオブジェクト(例: `{ type: 'json', schema: {...} }`)として指定できます。一部のフォーマットでは、特定のオプションの設定が必須です。例: `['markdown', { type: 'json', schema: {...} }]`。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダーやナビゲーション、フッターなどを除外し、ページのメインコンテンツのみを返します。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力に含めるタグ。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力結果から除外するタグ。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "ページのキャッシュが、この値(ミリ秒)で指定した有効期間より新しい場合は、そのキャッシュ版を返します。キャッシュがこの値より古い場合は、新たにページのスクレイピングを行います。極めて最新のデータが不要であれば、これを有効にすることでスクレイピングを最大500%高速化できます。デフォルトは2日です。",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "リクエストに含めるヘッダー。Cookie や User-Agent などを送信するために使用できます。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "コンテンツを取得する前に待機する時間をミリ秒単位で指定します。ページが十分に読み込まれるまでの時間を確保するための遅延です。この待機時間は、Firecrawl のスマート待機機能に加えて発生します。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "モバイル端末からのスクレイピングをエミュレートしたい場合は、true に設定します。レスポンシブページのテストやモバイル向けスクリーンショットの取得に便利です。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "リクエストを送信する際に TLS 証明書の検証を行わないようにします。",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "リクエストのタイムアウト時間(ミリ秒)。"
+ },
+ "parsers": {
+ "type": "array",
+ "description": "スクレイピング時のファイルの処理方法を制御します。\"pdf\" が含まれている場合(デフォルト)、PDF の内容が抽出されて markdown 形式に変換され、課金はページ数に基づきます(1ページあたり1クレジット)。空の配列を渡した場合、PDF ファイルは base64 エンコード形式で返され、PDF 全体で一律1クレジットが請求されます。",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "maxPages": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 10000,
+ "description": "PDF から解析するページの最大数です。1〜10000 の正の整数で指定してください。"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "コンテンツを取得する前にページに対して実行するアクション",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "指定したミリ秒間待機します"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "待機する時間(ミリ秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を特定するためのクエリセレクター",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "スクリーンショットを撮影します。リンクはレスポンスの `actions.screenshots` 配列内に含まれます。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在の表示領域のみに制限するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの画質を1〜100で指定します。100が最高画質です。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "ビューポートの幅(ピクセル単位)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "ビューポートの高さ(ピクセル単位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "要素をクリック"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクタ",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "セレクターに一致したすべての要素をクリックし、最初の要素だけを対象とするわけではありません。セレクターに一致する要素が存在しない場合でも、エラーは発生しません。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "入力フィールド、テキストエリア、または contenteditable 要素にテキストを書き込みます。注意: テキストを書き込む前に、必ず 'click' アクションでその要素にフォーカスしてください。テキストはキーボード入力をシミュレートするため、1文字ずつタイプされます。"
+ },
+ "text": {
+ "type": "string",
+ "description": "入力テキスト",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "このページでキーを押してください。キーコードについては https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html を参照してください。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "このページでキーを押してください"
+ },
+ "key": {
+ "type": "string",
+ "description": "押すキー",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "ページまたは特定の要素をスクロールする"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "スクロール方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "スクロールする要素を指定するクエリセレクター",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "現在のページのコンテンツを取得し、URL と HTML を返します。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "ページ上でJavaScriptコードを実行する"
+ },
+ "script": {
+ "type": "string",
+ "description": "実行する JavaScript コード",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "現在のページのPDFを生成します。生成されたPDFは、レスポンスの `actions.pdfs` 配列内で返されます。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "出力されるPDFのページサイズ",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "PDF を横向きで生成するかどうかを指定します",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成されるPDFの拡大縮小倍率",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストのロケーション設定です。指定すると、利用可能な場合は適切なプロキシが使用され、対応する言語およびタイムゾーン設定がエミュレートされます。指定されていない場合は、デフォルトで「US」が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 国コード(例:'US'、'AU'、'DE'、'JP')",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "リクエストに対して優先順で指定する言語とロケール。デフォルトは、指定された location の言語になります。詳しくは https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "出力からすべての Base64 画像を削除します。これらは非常に長くなる場合があります。画像の alt テキストは出力内に残りますが、URL はプレースホルダーに置き換えられます。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "広告およびCookie同意ポップアップのブロックを有効化します。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "使用するプロキシの種類を指定します。\n\n - **basic**: ボット対策がない、またはごく基本的なボット対策のみが導入されているサイト向けのプロキシです。高速で、通常は問題なく動作します。\n - **stealth**: 高度なボット対策を行っているサイト向けのステルスプロキシです。basic より遅くなりますが、特定のサイトではより信頼性があります。1 リクエストあたり最大 5 クレジットかかります。\n - **auto**: basic プロキシが失敗した場合、Firecrawl が自動的にステルスプロキシでスクレイピングを再試行します。ステルスプロキシでの再試行が成功した場合、そのスクレイプに対して 5 クレジットが請求されます。最初の basic での試行が成功した場合は、通常のコストのみが請求されます。",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "true の場合、そのページは Firecrawl のインデックスおよびキャッシュに保存されます。スクレイピング活動でデータ保護上の懸念が生じる可能性がある場合は、これを false に設定すると有用です。機密性の高いスクレイピングに関連する一部のパラメータ(例: actions、headers)を使用すると、このパラメータは強制的に false になります。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `summary` が含まれている場合のページ要約"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `html` が含まれている場合のページコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `rawHtml` が含まれている場合のページの生のHTMLコンテンツ"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `screenshot` が含まれている場合、そのページのスクリーンショット。スクリーンショットは 24 時間後に期限切れとなり、それ以降はダウンロードできません。"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`links` が `formats` に含まれている場合のページ上のリンク一覧"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` パラメーターで指定されたアクションの結果です。`actions` パラメーターがリクエストで指定されている場合にのみ含まれます",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "提供されたスクリーンショットアクションと同じ順序で並んだスクリーンショットのURL。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "指定されたスクレイプアクションの順序どおりにコンテンツをスクレイピングします。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "指定された executeJavascript アクションと同じ順序の JavaScript の戻り値。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成されたPDF。指定したPDFアクションと同じ順序で出力されます。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列になります"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列配列のいずれかになります"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "ページから抽出された言語。値は文字列または文字列の配列です。"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列の配列です"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "このページの別ロケール"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "HTML から抽出されたその他のメタデータ。文字列または文字列配列です"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "LLM Extraction を使用している場合に表示されることがあります。警告メッセージによって、抽出処理で発生した問題が通知されます。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "`formats` に `changeTracking` が含まれる場合の変更追跡情報。`changeTracking` フォーマットがリクエストされた場合にのみ返されます。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "現在のページの比較対象となる前回のスクレイプのタイムスタンプ。以前のスクレイプが存在しない場合は null になります。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "2つのページバージョンを比較した結果です。`new` はこのページが以前は存在していなかったこと、`same` はコンテンツに変更がないこと、`changed` はコンテンツに変更があったこと、`removed` はページが削除されたことを意味します。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "現在のページ/URL の可視性を表します。`visible` は、その URL がリンクやサイトマップといった自然な経路から検出されたことを意味し、`hidden` は、その URL が過去のクロール時の内部メモリから検出されたことを意味します。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "'git-diff' モード使用時の、変更内容の Git スタイルの差分。モードが 'git-diff' に設定されている場合にのみ出力されます。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "「json」モード使用時のJSON比較結果。「mode」が「json」に設定されている場合にのみ出力されます。`schema` で定義された型に基づき、`previous` と `current` のスクレイピング結果から取得したすべてのキーとその値の一覧を出力します。例は[こちら](/features/change-tracking)を参照してください。"
+ }
+ }
+ },
+ "branding": {
+ "type": "object",
+ "nullable": true,
+ "description": "`branding` が `formats` に含まれている場合、ページから抽出されるブランディング情報です。色、フォント、タイポグラフィ、余白、コンポーネントなどが含まれます。"
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "クロールの現在の状態です。`scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "クロールを試行したページ数の合計。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "クロールに成功したページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "このクロールで消費されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "クロールの有効期限となる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB 分のデータを取得するための URL。クロールが完了していない場合、またはレスポンスが 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "クロールデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合のページコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合に含まれるページの生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合のページ上のリンクの一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合のページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列です"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列の配列です"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "ページから抽出された言語。文字列または文字列配列である場合があります"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列の配列です"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "このページの別ロケール"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "エラーが発生したスクレイピングジョブとエラーの詳細",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失敗時の ISO タイムスタンプ"
+ },
+ "url": {
+ "type": "string",
+ "description": "スクレイピング済みURL"
+ },
+ "error": {
+ "type": "string",
+ "description": "エラーメッセージ"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "スクレイピングを試行したが、robots.txt によってブロックされた URL の一覧",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "バッチスクレイプの現在のステータスです。`scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "スクレイピングを試みたページ数の合計。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にスクレイピングされたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "バッチスクレイプに使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "バッチスクレイピングの有効期限が切れる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB のデータを取得するための URL。バッチスクレイピングが完了していない場合、または応答が 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "バッチスクレイピングのデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合に返されるページコンテンツの HTML バージョン"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合に取得されるページの生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合のページ上のリンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合のページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたタイトル。文字列または文字列の配列を取ることがあります"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出された説明。文字列または文字列の配列になり得ます"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "ページから抽出された言語。文字列または文字列の配列のいずれかです"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "ページから抽出されたキーワード。文字列または文字列の配列となる場合があります"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ページの他のロケール"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、このフィールドは、リクエスト内で指定された無効な URL を含む配列になります。無効な URL がなかった場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "title": {
+ "type": "string",
+ "description": "(存在する場合の)ページのタイトル。"
+ },
+ "description": {
+ "type": "string",
+ "description": "ページの説明(あれば)"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、このフィールドはリクエストで指定された無効な URL を含む配列です。無効な URL がない場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "抽出ジョブの現在の状態"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "抽出ジョブで使用されたトークン数。ジョブが完了している場合にのみ取得できます。"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ja/contributing/guide.mdx b/ja/contributing/guide.mdx
index c483ce00..7b4ab037 100644
--- a/ja/contributing/guide.mdx
+++ b/ja/contributing/guide.mdx
@@ -77,7 +77,6 @@ POSTHOG_HOST= # ジョブログなどの PostHog イベントを送信したい
```
-
### 依存関係のインストール
@@ -89,7 +88,6 @@ POSTHOG_HOST= # ジョブログなどの PostHog イベントを送信したい
pnpm install # pnpm のバージョンが 9 以上であることを確認!
```
-
### プロジェクトの実行
@@ -106,7 +104,6 @@ pnpm install # pnpm のバージョンが 9 以上であることを確認!
redis-server
```
-
### ターミナル 2 - サービスのセットアップ
@@ -120,7 +117,6 @@ pnpm start
クロールジョブの処理を担当するワーカーが起動します。
-
### ターミナル3 - 最初のリクエストを送る
@@ -143,7 +139,6 @@ curl -X POST http://localhost:3002/v1/crawl \
}'
```
-
### 代替案: Docker Compose を使用
@@ -160,7 +155,6 @@ docker compose up
これにより、Redis、APIサーバー、ワーカーが適切な構成で自動的に起動します。
-
## テスト:
diff --git a/ja/contributing/self-host.mdx b/ja/contributing/self-host.mdx
index 65a5ec05..3f953847 100644
--- a/ja/contributing/self-host.mdx
+++ b/ja/contributing/self-host.mdx
@@ -175,7 +175,6 @@ BULL_AUTH_KEY=CHANGEME
`http://localhost:3002/admin/@/queues` で Bull Queue Manager の UI を確認できます。
-
5. (任意)API をテストする
crawl エンドポイントを試すには、次を実行してください:
@@ -188,7 +187,6 @@ crawl エンドポイントを試すには、次を実行してください:
}'
```
-
## トラブルシューティング
@@ -209,7 +207,6 @@ crawl エンドポイントを試すには、次を実行してください:
**説明:**
このエラーは、Supabase クライアントのセットアップが完了していないために発生します。スクレイプやクロールは問題なく実行できるはずです。現在、セルフホスト環境では Supabase の設定はできません。
-
### 認証を迂回しています
@@ -223,7 +220,6 @@ crawl エンドポイントを試すには、次を実行してください:
**説明:**
このエラーは、Supabase クライアントのセットアップが完了していないために発生します。スクレイピングやクロールは問題なく実行できるはずです。現在、セルフホスト環境では Supabase の設定は行えません。
-
### Docker コンテナが起動しない
@@ -241,7 +237,6 @@ docker logs [コンテナ名]
* .env ファイルで必要な環境変数がすべて正しく設定されていることを確認してください。
* docker-compose.yml に定義された Docker サービスが正しく設定され、必要なイメージが利用可能であることを確認してください。
-
### Redis への接続問題
diff --git a/ja/developer-guides/advanced-guides/authenticated-scraping.mdx b/ja/developer-guides/advanced-guides/authenticated-scraping.mdx
index 11a48491..dbcd95fe 100644
--- a/ja/developer-guides/advanced-guides/authenticated-scraping.mdx
+++ b/ja/developer-guides/advanced-guides/authenticated-scraping.mdx
@@ -108,7 +108,6 @@ auth-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJleGFtcGxlLXVzZXIt
**重要:** Cookie は機密性の高い認証情報です。公開したり、バージョン管理にコミットしたりしないでください。パスワード同様に扱ってください。
-
### 手順 2:Firecrawl で Cookie を利用する
@@ -131,7 +130,6 @@ const result = await app.scrape("https://firecrawl-auth.vercel.app/dashboard", {
console.log("=== Markdown ===\n" + result.markdown + "\n\n=== Screenshot URL ===\n" + result.screenshot);
```
-
## ベストプラクティス
diff --git a/ja/developer-guides/common-sites/amazon.mdx b/ja/developer-guides/common-sites/amazon.mdx
index 0fdd0c26..476ad1ee 100644
--- a/ja/developer-guides/common-sites/amazon.mdx
+++ b/ja/developer-guides/common-sites/amazon.mdx
@@ -15,7 +15,6 @@ Amazonは最もスクレイピング対象となるECサイトの一つです。
npm install @mendable/firecrawl-js zod
```
-
## 概要
@@ -64,7 +63,6 @@ console.log('✅ 検証済み商品データ:');
console.log(validated);
```
-
## 検索
@@ -87,7 +85,6 @@ const searchResult = await firecrawl.search('gaming laptop site:amazon.com', {
console.log(searchResult);
```
-
## Scrape
@@ -107,7 +104,6 @@ const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gam
console.log(result);
```
-
## Map
@@ -125,7 +121,6 @@ console.log(mapResult.links);
// コンテンツを含まないURL配列を返す
```
-
## クローラー
@@ -147,7 +142,6 @@ const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical
console.log(crawlResult.data);
```
-
## バッチスクレイプ
diff --git a/ja/developer-guides/common-sites/etsy.mdx b/ja/developer-guides/common-sites/etsy.mdx
index e32d64fa..7042536c 100644
--- a/ja/developer-guides/common-sites/etsy.mdx
+++ b/ja/developer-guides/common-sites/etsy.mdx
@@ -15,7 +15,6 @@ Etsyは、ユニークでクリエイティブな商品のグローバルマー
npm install @mendable/firecrawl-js zod
```
-
## 概要
@@ -63,7 +62,6 @@ console.log('✅ 検証済みリスティングデータ:');
console.log(validated);
```
-
## 検索
@@ -86,7 +84,6 @@ const searchResult = await firecrawl.search('handmade jewelry site:etsy.com', {
console.log(searchResult);
```
-
## スクレイプ
@@ -106,7 +103,6 @@ const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/h
console.log(result);
```
-
## Map
@@ -124,7 +120,6 @@ console.log(mapResult.links);
// コンテンツなしでURLの配列を返す
```
-
## クロール
@@ -146,7 +141,6 @@ const crawlResult = await firecrawl.crawl('https://www.etsy.com/c/jewelry', {
console.log(crawlResult.data);
```
-
## バッチスクレイプ
diff --git a/ja/developer-guides/common-sites/github.mdx b/ja/developer-guides/common-sites/github.mdx
index 41eed680..17b8bf65 100644
--- a/ja/developer-guides/common-sites/github.mdx
+++ b/ja/developer-guides/common-sites/github.mdx
@@ -13,7 +13,6 @@ Firecrawlのコア機能を使って、GitHubのリポジトリ、Issue、ドキ
npm install @mendable/firecrawl-js zod
```
-
## JSONモードでスクレイピング
@@ -43,7 +42,6 @@ const result = await firecrawl.scrape('https://github.com/firecrawl/firecrawl',
console.log(result.json);
```
-
## Search
@@ -66,7 +64,6 @@ const searchResult = await firecrawl.search('machine learning site:github.com',
console.log(searchResult);
```
-
## スクレイプ
@@ -85,7 +82,6 @@ const result = await firecrawl.scrape('https://github.com/mendableai/firecrawl',
console.log(result);
```
-
## Map
@@ -103,7 +99,6 @@ console.log(mapResult.links);
// コンテンツなしでURLの配列を返す
```
-
## クロール
@@ -125,7 +120,6 @@ const crawlResult = await firecrawl.crawl('https://github.com/facebook/react/wik
console.log(crawlResult.data);
```
-
## バッチスクレイプ
@@ -157,7 +151,6 @@ console.log(job.status, job.completed, job.total);
console.log(job);
```
-
## JSONモードでのバッチスクレイプ
diff --git a/ja/developer-guides/common-sites/wikipedia.mdx b/ja/developer-guides/common-sites/wikipedia.mdx
index 5db81d1d..5a3ede95 100644
--- a/ja/developer-guides/common-sites/wikipedia.mdx
+++ b/ja/developer-guides/common-sites/wikipedia.mdx
@@ -13,7 +13,6 @@ description: "Wikipediaから記事やインフォボックスを抽出し、ナ
npm install @mendable/firecrawl-js zod
```
-
## ユースケース
@@ -52,7 +51,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/JavaScript'
console.log(result.json);
```
-
## 検索
@@ -75,7 +73,6 @@ const searchResult = await firecrawl.search('quantum computing site:en.wikipedia
console.log(searchResult);
```
-
## スクレイピング
@@ -95,7 +92,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/Artificial_
console.log(result);
```
-
## Map
@@ -113,7 +109,6 @@ console.log(mapResult.links);
// コンテンツなしでURLの配列を返す
```
-
## クローリング
@@ -135,7 +130,6 @@ const crawlResult = await firecrawl.crawl('https://en.wikipedia.org/wiki/Portal:
console.log(crawlResult.data);
```
-
## バッチスクレイピング
diff --git a/ja/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx b/ja/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
index 0fec60c8..f2bd5b6c 100644
--- a/ja/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
+++ b/ja/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
@@ -740,7 +740,6 @@ const result = streamText({
AI SDK は同一の API で 20 以上のプロバイダに対応しています。詳しくは次をご覧ください: [ai-sdk.dev/docs/foundations/providers-and-models](https://ai-sdk.dev/docs/foundations/providers-and-models)。
-
### UI をカスタマイズする
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/anthropic.mdx b/ja/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
index c42785f2..9484816c 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
@@ -22,7 +22,6 @@ ANTHROPIC_API_KEY=your_anthropic_key
> **注意:** Node < 20 を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## スクレイプ + 要約
@@ -53,7 +52,6 @@ const message = await anthropic.messages.create({
console.log('レスポンス:', message);
```
-
## ツールの利用
@@ -108,7 +106,6 @@ if (toolUse && toolUse.type === 'tool_use') {
}
```
-
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/gemini.mdx b/ja/developer-guides/llm-sdks-and-frameworks/gemini.mdx
index bbfd99e7..afd3f4f2 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/gemini.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/gemini.mdx
@@ -22,7 +22,6 @@ GEMINI_API_KEY=your_gemini_key
> **注意:** Node < 20 を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## スクレイプ + 要約
@@ -50,7 +49,6 @@ const response = await ai.models.generateContent({
console.log('要約:', response.text);
```
-
## コンテンツ分析
@@ -87,7 +85,6 @@ const result2 = await chat.sendMessage({
console.log('4番目と5番目の記事:', result2.text);
```
-
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/google-adk.mdx b/ja/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
index db6cff3d..d62c5cfa 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
@@ -174,7 +174,6 @@ response = research_agent.run("Python 3.13の最新機能は何ですか?")
print(response)
```
-
## ベストプラクティス
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/langchain.mdx b/ja/developer-guides/llm-sdks-and-frameworks/langchain.mdx
index 4e160a56..3703a5d1 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/langchain.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/langchain.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注記:** Node 20 未満を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## スクレイプ + チャット
@@ -53,7 +52,6 @@ const response = await chat.invoke([
console.log('要約:', response.content);
```
-
## チェーン
@@ -94,7 +92,6 @@ const result = await chain.invoke({
console.log('チェーンの結果:', result);
```
-
## ツール呼び出し
@@ -137,7 +134,6 @@ console.log('レスポンス:', response.content);
console.log('ツール呼び出し:', response.tool_calls);
```
-
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/langgraph.mdx b/ja/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
index 489a2352..18dfcb23 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注:** Node 20 未満を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## 基本的なワークフロー
@@ -81,7 +80,6 @@ const result = await app.invoke({
console.log(JSON.stringify(result, null, 2));
```
-
## マルチステップワークフロー
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx b/ja/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
index 4d2d6b2e..61bf02a9 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** Node < 20 を使用する場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## ベクトル検索を用いたRAG
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/mastra.mdx b/ja/developer-guides/llm-sdks-and-frameworks/mastra.mdx
index cee2af7e..28135bd5 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/mastra.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/mastra.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注:** Node < 20 を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## マルチステップ ワークフロー
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/openai.mdx b/ja/developer-guides/llm-sdks-and-frameworks/openai.mdx
index b770d6b2..ecbc50cd 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/openai.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/openai.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注:** Node < 20 を使用している場合は、`dotenv` をインストールし、コードに `import 'dotenv/config'` を追加してください。
-
## スクレイピング + 要約
@@ -54,7 +53,6 @@ const completion = await openai.chat.completions.create({
console.log('要約:', completion.choices[0]?.message.content);
```
-
## 関数呼び出し
@@ -130,7 +128,6 @@ if (message?.tool_calls && message.tool_calls.length > 0) {
}
```
-
@@ -185,7 +182,6 @@ const companyInfo = content ? CompanyInfoSchema.parse(JSON.parse(content)) : nul
console.log('検証済み企業情報:', companyInfo);
```
-
## 検索 + 分析
@@ -220,7 +216,6 @@ const analysis = await openai.chat.completions.create({
console.log('分析:', analysis.choices[0]?.message?.content);
```
-
## MCP での Responses API
diff --git a/ja/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx b/ja/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
index 20c54ffa..51f532de 100644
--- a/ja/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
+++ b/ja/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
@@ -24,7 +24,6 @@ OPENAI_API_KEY=sk-your-key
これらの例では OpenAI を使用していますが、Firecrawl のツールは Anthropic、Google、Mistral などを含む、すべての Vercel AI SDK プロバイダーで動作します。サポートされているプロバイダーの[完全な一覧](https://ai-sdk.dev/providers/ai-sdk-providers)を参照してください。
-
## クイックスタート
@@ -41,7 +40,6 @@ const { text } = await generateText({
});
```
-
## 利用可能なツール
@@ -60,7 +58,6 @@ import {
} from 'firecrawl-aisdk';
```
-
## 使用例
@@ -83,7 +80,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 検索
@@ -102,7 +98,6 @@ const { text } = await generateText({
console.log(text);
```
-
### マップ
@@ -121,7 +116,6 @@ const { text } = await generateText({
console.log(text);
```
-
### クロール
@@ -142,7 +136,6 @@ const { text } = await generateText({
console.log(text);
```
-
### バッチスクレイピング
@@ -163,7 +156,6 @@ const { text } = await generateText({
console.log(text);
```
-
@@ -184,7 +176,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 検索 + スクレイピング
@@ -203,7 +194,6 @@ const { text } = await generateText({
console.log(text);
```
-
### ストリーム
diff --git a/ja/developer-guides/mcp-setup-guides/chatgpt.mdx b/ja/developer-guides/mcp-setup-guides/chatgpt.mdx
new file mode 100644
index 00000000..e9255244
--- /dev/null
+++ b/ja/developer-guides/mcp-setup-guides/chatgpt.mdx
@@ -0,0 +1,124 @@
+---
+title: "ChatGPT での MCP Web 検索とスクレイピング"
+description: "2 分で ChatGPT に Web スクレイピングと検索機能を追加"
+---
+
+
+ChatGPT における MCP サポートは現在ベータ版機能です。OpenAI による開発が進むにつれて、インターフェースや提供状況が変更される可能性があります。
+
+
+
+**提供状況:** MCP コネクタ付きの Developer モードは Free プランでは利用できず、有料の ChatGPT サブスクリプションが必要です。提供状況と機能はプランや地域によって異なります。最新の提供状況とセットアップ手順については、[OpenAI による Developer Mode のドキュメント](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta) を参照してください。
+
+
+Firecrawl MCP を使って、ChatGPT に Web スクレイピングと検索機能を追加しましょう。
+
+
+ ## かんたんセットアップ
+
+
+
+ ### 1. APIキーを取得する
+
+
+[firecrawl.dev/app/api-keys](https://www.firecrawl.dev/app/api-keys) にサインアップして、APIキーをコピーします。
+
+
+ ### 2. 開発者モードを有効にする
+
+
+画面左下のユーザー名をクリックして ChatGPT の設定を開くか、[chatgpt.com/#settings](https://chatgpt.com/#settings) に直接アクセスします。
+
+設定画面で一番下までスクロールし、**Advanced Settings** を選択します。**Developer mode** をオンに切り替えます。
+
+
+
+
+
+
+ ### 3. コネクタを作成する
+
+
+Developer mode を有効にした状態で、同じ設定モーダル内の **Apps & Connectors** タブに移動します。
+
+右上の **Create** ボタンをクリックします。
+
+
+
+
+
+コネクタの詳細を入力します:
+
+- **Name:** `Firecrawl MCP`
+- **Description:** `Web scraping, crawling, search, and content extraction`(任意)
+- **MCP Server URL:** `https://mcp.firecrawl.dev/YOUR_API_KEY_HERE/v2/mcp`
+- **Authentication:** `None`
+
+URL 中の `YOUR_API_KEY_HERE` を、実際の [Firecrawl API key](https://www.firecrawl.dev/app/api-keys) に置き換えてください。
+
+
+
+
+
+**"I understand and want to continue"** チェックボックスをオンにしてから、**Create** をクリックします。
+
+
+ ### 4. セットアップを確認する
+
+
+ChatGPT のメイン画面に戻ってください。**Developer mode** と表示されていれば、MCP コネクタが有効になっています。
+
+Developer mode が表示されない場合は、ページを再読み込みしてください。それでも表示されない場合は、もう一度設定を開き、Advanced Settings で Developer mode がオンになっていることを確認してください。
+
+
+ ### 5. Firecrawl ツールにアクセスする
+
+
+会話で Firecrawl を使用するには、チャット入力欄の **+** ボタンをクリックし、**More** を選択してから **Firecrawl MCP** をクリックします。
+
+
+
+
+
+
+ ## クイックデモ
+
+
+Firecrawl MCP を選択した状態で、次のプロンプトを試してみてください:
+
+**Search:**
+
+```
+Search for the latest React Server Components updates
+```
+
+**スクレイピング:**
+
+```
+Scrape firecrawl.dev and tell me what it does
+```
+
+**ドキュメントを取得:**
+
+```
+Vercelのエッジ関数のドキュメントをスクレイピングして要約する
+```
+
+
+
+ ## ツールの確認
+
+
+ChatGPT が Firecrawl MCP ツールを使用する際、承認を求める確認プロンプトが表示されます。
+
+
+
+
+
+同じチャットセッション中に毎回確認が表示されないようにするには、**"Remember for this conversation"** にチェックを入れます。これは、MCP ツールが意図しないアクションを実行しないようにするために OpenAI によって実装されているセキュリティ対策です。
+
+承認すると、ChatGPT がリクエストを実行し、結果を返します。
+
+
+
+
\ No newline at end of file
diff --git a/ja/developer-guides/mcp-setup-guides/claude-code.mdx b/ja/developer-guides/mcp-setup-guides/claude-code.mdx
index 1a11d8f8..73c40c33 100644
--- a/ja/developer-guides/mcp-setup-guides/claude-code.mdx
+++ b/ja/developer-guides/mcp-setup-guides/claude-code.mdx
@@ -27,7 +27,6 @@ claude mcp add firecrawl -e FIRECRAWL_API_KEY=your-api-key -- npx -y firecrawl-m
完了です!これで Claude Code からウェブを検索・スクレイピングできます。
-
## クイックデモ
diff --git a/ja/developer-guides/mcp-setup-guides/cursor.mdx b/ja/developer-guides/mcp-setup-guides/cursor.mdx
index 423698e8..1a834dec 100644
--- a/ja/developer-guides/mcp-setup-guides/cursor.mdx
+++ b/ja/developer-guides/mcp-setup-guides/cursor.mdx
@@ -37,7 +37,6 @@ Firecrawl の MCP を使って、Cursor にウェブスクレイピングと検
`your_api_key_here` を実際の Firecrawl API キーに置き換えてください。
-
### 3. Cursor を再起動
diff --git a/ja/developer-guides/mcp-setup-guides/factory-ai.mdx b/ja/developer-guides/mcp-setup-guides/factory-ai.mdx
index 78f6ec11..882313a7 100644
--- a/ja/developer-guides/mcp-setup-guides/factory-ai.mdx
+++ b/ja/developer-guides/mcp-setup-guides/factory-ai.mdx
@@ -33,7 +33,6 @@ curl -fsSL https://app.factory.ai/cli | sh
iwr https://app.factory.ai/cli/install.ps1 -useb | iex
```
-
### 3. Firecrawl MCP サーバーを追加
@@ -46,7 +45,6 @@ Factory Droid の CLI で、`/mcp add` コマンドを使って Firecrawl を追
`your-api-key-here` を実際の Firecrawl API キーに置き換えてください。
-
### 4. 完了!
diff --git a/ja/developer-guides/mcp-setup-guides/windsurf.mdx b/ja/developer-guides/mcp-setup-guides/windsurf.mdx
index d659c9db..e435294f 100644
--- a/ja/developer-guides/mcp-setup-guides/windsurf.mdx
+++ b/ja/developer-guides/mcp-setup-guides/windsurf.mdx
@@ -37,7 +37,6 @@ Firecrawl MCP を使って、Windsurf に Web スクレイピングと検索機
`YOUR_API_KEY` を実際の Firecrawl API キーに置き換えてください。
-
### 3. Windsurf を再起動
diff --git a/ja/features/alpha/llmstxt-npx.mdx b/ja/features/alpha/llmstxt-npx.mdx
index b8682923..9902521f 100644
--- a/ja/features/alpha/llmstxt-npx.mdx
+++ b/ja/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Firecrawl API を使用して CLI 上で LLMs.txt ファイルを生成するシ
npx generate-llmstxt --api-key YOUR_FIRECRAWL_API_KEY
```
-
### 2. 環境変数の使用
@@ -47,7 +46,6 @@ FIRECRAWL_API_KEY=ここにあなたのAPIキー
npx generate-llmstxt
```
-
### オプション
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## 必要条件
diff --git a/ja/features/change-tracking.mdx b/ja/features/change-tracking.mdx
index 902af958..44355ece 100644
--- a/ja/features/change-tracking.mdx
+++ b/ja/features/change-tracking.mdx
@@ -82,7 +82,6 @@ changeTracking を使うには、URL をスクレイピングするときにフ
}
```
-
### 高度なオプション
@@ -170,7 +169,6 @@ if 'json' in result.change_tracking:
...
```
-
### JSON 比較結果の例:
@@ -184,7 +182,6 @@ if 'json' in result.change_tracking:
}
```
-
### データモデル
@@ -278,7 +275,6 @@ class ChangeTrackingData(BaseModel):
* `chunks`: ファイル内の変更セクション
* `changes`: 各行の変更とその種別(add、delete、normal)
-
### JSONモード
@@ -302,7 +298,6 @@ class ChangeTrackingData(BaseModel):
JSONモードを使用するには、抽出および比較するフィールドを定義したスキーマを指定する必要があります。
-
## 重要なポイント
@@ -353,7 +348,6 @@ changeTracking 機能を使用する際に知っておくべき重要事項は
}
```
-
### クロール例
@@ -368,7 +362,6 @@ changeTracking 機能を使用する際に知っておくべき重要事項は
}
```
-
### 製品価格の変更を追跡する
diff --git a/ja/features/extract.mdx b/ja/features/extract.mdx
index a5e44b52..95c9278a 100644
--- a/ja/features/extract.mdx
+++ b/ja/features/extract.mdx
@@ -32,7 +32,6 @@ import ExtractWithoutURLsCURL from "/snippets/ja/v2/extract/base/curl.mdx";
課金体系を簡素化し、Extract でも他のエンドポイントと同様にクレジット制を採用しました。各クレジットは 15 トークンに相当します。
-
diff --git a/ja/features/search-v0.mdx b/ja/features/search-v0.mdx
index cd443f55..4725faa9 100644
--- a/ja/features/search-v0.mdx
+++ b/ja/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Python SDK を使用する
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### クエリを検索
@@ -94,7 +92,6 @@ result = app.search(query="Firecrawl とは?")
レスポンスは、上の curl コマンドで示したものと同様になります。
-
### JavaScript SDK を使う場合
@@ -107,7 +104,6 @@ result = app.search(query="Firecrawl とは?")
npm install @mendable/firecrawl-js
```
-
#### クエリを検索
@@ -124,7 +120,6 @@ const result = await app.search('Firecrawl とは?');
上の curl コマンドで示したものと同様のレスポンスが返ります。
-
### Go SDK の使用
@@ -137,7 +132,6 @@ const result = await app.search('Firecrawl とは?');
go get github.com/mendableai/firecrawl-go
```
-
#### クエリを検索
@@ -165,7 +159,6 @@ func main() {
}
```
-
### Rust SDK を使う
@@ -188,7 +181,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### クエリを検索
diff --git a/ja/integrations/camelai.mdx b/ja/integrations/camelai.mdx
index e31318cb..032ed3d3 100644
--- a/ja/integrations/camelai.mdx
+++ b/ja/integrations/camelai.mdx
@@ -14,7 +14,6 @@ pip install camel-ai
```
-
## 使い方
@@ -36,7 +35,6 @@ mock_app.crawl_url.return_value = respons
result = firecrawl.markdown_crawl(url)
```
-
### Firecrawlで単一ページを取得する
diff --git a/ja/integrations/crewai.mdx b/ja/integrations/crewai.mdx
index b889ecc1..97cc46da 100644
--- a/ja/integrations/crewai.mdx
+++ b/ja/integrations/crewai.mdx
@@ -22,7 +22,6 @@ Firecrawl は、[AI エージェントをオーケストレーションするフ
pip install firecrawl-py 'crewai[tools]'
```
-
## ツール
@@ -43,7 +42,6 @@ from crewai_tools import FirecrawlCrawlWebsiteTool
tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```
-
#### 引数
@@ -79,7 +77,6 @@ from crewai_tools import FirecrawlScrapeWebsiteTool
tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```
-
#### 引数
@@ -111,7 +108,6 @@ from crewai_tools import FirecrawlSearchTool
tool = FirecrawlSearchTool(query='Firecrawl とは?')
```
-
#### 引数
diff --git a/ja/mcp-server.mdx b/ja/mcp-server.mdx
index e16a6255..def22319 100644
--- a/ja/mcp-server.mdx
+++ b/ja/mcp-server.mdx
@@ -32,7 +32,6 @@ sidebarTitle: 'MCP Server'
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
```
-
### npxで実行する
@@ -41,7 +40,6 @@ https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
```
-
### 手動でのインストール
@@ -50,7 +48,6 @@ env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
npm install -g firecrawl-mcp
```
-
### Cursor で実行
@@ -126,7 +123,6 @@ Cursor **v0.45.6** で Firecrawl MCP を構成するには
}
```
-
### ストリーミング対応 HTTP モードでの実行
@@ -139,7 +135,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecra
次のURLを使用してください: http://localhost:3000/v2/mcp または https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
-
### Smithery(レガシー)経由でのインストール
@@ -150,7 +145,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecra
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
```
-
### VS Code での実行
@@ -217,7 +211,6 @@ npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
MCP サーバーは他の拡張機能経由で呼び出した場合は問題なく動作しますが、MCP サーバー一覧に直接登録した場合に限り問題が発生します。VS Code がスキーマ検証を更新し次第、ガイダンスを追加する予定です。
-
### Claude Desktop での実行
@@ -237,7 +230,6 @@ Claude の設定ファイルに次を追加してください:
}
```
-
### Claude Code での実行
@@ -248,7 +240,6 @@ Claude Code CLI を使って、Firecrawl の Model Context Protocol(MCP)サ
claude mcp add firecrawl -e FIRECRAWL_API_KEY=your-api-key -- npx -y firecrawl-mcp
```
-
### n8n での実行
@@ -280,7 +271,6 @@ env HTTP_STREAMABLE_SERVER=true \
これによりサーバーが `http://localhost:3000/v2/mcp` で起動し、n8n のワークフローでエンドポイントとして使用できます。n8n は HTTP トランスポートを必要とするため、`HTTP_STREAMABLE_SERVER=true` の環境変数が必須です。
-
## 構成
@@ -355,7 +345,6 @@ export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # より短い間隔からリトライ開始
```
-
### Claude Desktop のカスタム設定
@@ -384,7 +373,6 @@ export FIRECRAWL_RETRY_INITIAL_DELAY=500 # より短い間隔からリトラ
}
```
-
### システム構成
@@ -425,7 +413,6 @@ const CONFIG = {
* 残り1000クレジットで警告
* 残り100クレジットで重大アラート
-
### レート制限とバッチ処理
@@ -464,7 +451,6 @@ const CONFIG = {
}
```
-
### 2. バッチスクレイプツール (`firecrawl_batch_scrape`)
@@ -498,7 +484,6 @@ const CONFIG = {
}
```
-
### 3. バッチのステータスを確認する (`firecrawl_check_batch_status`)
@@ -514,7 +499,6 @@ const CONFIG = {
}
```
-
### 4. Map Tool (`firecrawl_map`)
@@ -535,7 +519,6 @@ const CONFIG = {
}
```
-
#### Map ツールのオプション:
@@ -572,7 +555,6 @@ const CONFIG = {
}
```
-
### 6. Crawl Tool (`firecrawl_crawl`)
@@ -592,7 +574,6 @@ const CONFIG = {
}
```
-
### 7. クロールの状態を確認する (`firecrawl_check_crawl_status`)
@@ -610,7 +591,6 @@ const CONFIG = {
**戻り値:** クローリングジョブのステータスと進捗。利用可能な場合は結果も含まれます。
-
@@ -658,7 +638,6 @@ LLM の機能を使って、ウェブページから構造化データを抽出
}
```
-
@@ -695,7 +674,6 @@ LLM の機能を使って、ウェブページから構造化データを抽出
[ERROR] レート制限を超過しました。2秒後に再試行します…
```
-
## エラーハンドリング
@@ -722,7 +700,6 @@ LLM の機能を使って、ウェブページから構造化データを抽出
}
```
-
## 開発
@@ -738,7 +715,6 @@ npm run build
npm test
```
-
### コントリビューション
diff --git a/ja/v0/advanced-scraping-guide.mdx b/ja/v0/advanced-scraping-guide.mdx
index 6f7ff041..bd46ae66 100644
--- a/ja/v0/advanced-scraping-guide.mdx
+++ b/ja/v0/advanced-scraping-guide.mdx
@@ -167,7 +167,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
APIリファレンスはこちら: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -258,7 +257,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}
```
-
## タイムアウトの調整
@@ -278,7 +276,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}'
```
-
## 複数ページのクロール
@@ -300,7 +297,6 @@ jobId を返す
{ "jobId": "1234-5678-9101" }
```
-
### クロールジョブの確認
@@ -313,7 +309,6 @@ curl -X GET https://api.firecrawl.dev/v0/crawl/status/1234-5678-9101 \
-H 'Authorization: Bearer YOUR_API_KEY'
```
-
### クローラーのオプション
@@ -397,7 +392,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
* 高速クロールモードを使用します。
* 最大 1000 ページをクロールします。
-
## Page Options + Crawler Options
@@ -438,7 +432,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
* 最大深さ 2 までクロールします。
* 高速クロールモードを使用します。
-
diff --git a/ja/v0/api-reference/endpoint/crawl-cancel.mdx b/ja/v0/api-reference/endpoint/crawl-cancel.mdx
index ea06f99e..54065311 100644
--- a/ja/v0/api-reference/endpoint/crawl-cancel.mdx
+++ b/ja/v0/api-reference/endpoint/crawl-cancel.mdx
@@ -1,4 +1,4 @@
---
title: "クロールジョブのキャンセル"
-openapi: 'v0-openapi DELETE /crawl/cancel/{jobId}'
+openapi: '/ja/api-reference/v1-openapi.json V0-OPENAPI DELETE /crawl/cancel/{jobId}'
---
\ No newline at end of file
diff --git a/ja/v0/api-reference/endpoint/crawl.mdx b/ja/v0/api-reference/endpoint/crawl.mdx
index 7ef746cb..54065787 100644
--- a/ja/v0/api-reference/endpoint/crawl.mdx
+++ b/ja/v0/api-reference/endpoint/crawl.mdx
@@ -1,4 +1,4 @@
---
title: "クロール"
-openapi: 'v0-openapi POST /crawl'
+openapi: '/ja/api-reference/v1-openapi.json V0-OPENAPI POST /crawl'
---
\ No newline at end of file
diff --git a/ja/v0/api-reference/endpoint/scrape.mdx b/ja/v0/api-reference/endpoint/scrape.mdx
index ef22654f..415fcf1c 100644
--- a/ja/v0/api-reference/endpoint/scrape.mdx
+++ b/ja/v0/api-reference/endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: 'スクレイピング'
-openapi: 'v0-openapi POST /scrape'
+openapi: '/ja/api-reference/v1-openapi.json V0-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/ja/v0/api-reference/endpoint/search.mdx b/ja/v0/api-reference/endpoint/search.mdx
index 8c1aa3bb..40e98680 100644
--- a/ja/v0/api-reference/endpoint/search.mdx
+++ b/ja/v0/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Search(ベータ)"
-openapi: 'v0-openapi POST /search'
+openapi: '/ja/api-reference/v1-openapi.json V0-OPENAPI POST /search'
---
/search エンドポイントは、検索APIにFirecrawlの機能を組み合わせ、あらゆるクエリに対して強力な検索体験を提供します。
diff --git a/ja/v0/api-reference/endpoint/status.mdx b/ja/v0/api-reference/endpoint/status.mdx
index 100ff427..eee0ecdf 100644
--- a/ja/v0/api-reference/endpoint/status.mdx
+++ b/ja/v0/api-reference/endpoint/status.mdx
@@ -1,6 +1,6 @@
---
title: "クロールステータスの取得"
-openapi: 'v0-openapi GET /crawl/status/{jobId}'
+openapi: '/ja/api-reference/v1-openapi.json V0-OPENAPI GET /crawl/status/{jobId}'
---
このエンドポイントは、クロールジョブのステータスを取得します。ジョブが未完了の場合、レスポンスの `partial_data` にコンテンツが含まれます。完了後は、コンテンツは `data` に格納されます。
diff --git a/ja/v0/api-reference/introduction.mdx b/ja/v0/api-reference/introduction.mdx
index c4450099..dc3b8486 100644
--- a/ja/v0/api-reference/introduction.mdx
+++ b/ja/v0/api-reference/introduction.mdx
@@ -13,7 +13,6 @@ description: "Firecrawl API リファレンス"
https://api.firecrawl.dev
```
-
## 認証
@@ -26,7 +25,6 @@ Authorization: Bearer fc_123456789
-
## レスポンスコード
diff --git a/ja/v0/api-reference/v0-openapi.json b/ja/v0/api-reference/v0-openapi.json
new file mode 100644
index 00000000..5a6525f2
--- /dev/null
+++ b/ja/v0/api-reference/v0-openapi.json
@@ -0,0 +1,947 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v0",
+ "description": "Webスクレイピングやクロール処理を行うためのFirecrawlサービス向けAPIです。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v0"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "単一のURLをスクレイピングし、必要に応じてLLMで情報を抽出します",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイピング対象のURL"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "リクエストに付与するヘッダー。Cookie や User-Agent などを送信する際に使用します。"
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "ページ内コンテンツの HTML バージョンを含めます。レスポンスに html キーが追加されます。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "ページの生の HTML コンテンツを含めます。レスポンスに rawHtml キーが含まれます。",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "最終的な出力には、ページ内に存在するタグ・クラス・id のみを含めてください。値はカンマ区切りで指定します。例: 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダー、ナビゲーション、フッターなどを除いたページのメインコンテンツのみを返します。",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ページから削除するタグ、クラス、ID を指定します。カンマ区切りの値で入力してください。例: 'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "画像やリンクの相対パスをすべて絶対パスに置き換える",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "スクレイピング対象のページの先頭部分のスクリーンショットを含めてください。",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "スクレイピングしているページの全体が写ったスクリーンショットを含めてください。",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "コンテンツを取得する前に、ページの読み込みのために x ミリ秒待機します",
+ "default": 0
+ }
+ }
+ },
+ "extractorOptions": {
+ "type": "object",
+ "description": "ページ内容から構造化情報を抽出するためのオプションです。注意:LLM ベースの抽出はデフォルトでは行われず、明示的に設定された場合にのみ実行されます。`markdown` モードはスクレイピングした Markdown を単に返すだけのモードであり、スクレイピング時のデフォルトモードです。",
+ "default": {},
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "llm-extraction",
+ "llm-extraction-from-raw-html",
+ "llm-extraction-from-markdown"
+ ],
+ "description": "使用する抽出モードです。`markdown`:スクレイピングしたMarkdownコンテンツをそのまま返し、LLMによる抽出は行いません。`llm-extraction`:クリーニングおよび解析済みコンテンツから、LLMを用いて情報を抽出します。`llm-extraction-from-raw-html`:生のHTMLから直接、LLMを用いて情報を抽出します。`llm-extraction-from-markdown`:Markdownコンテンツから、LLMを用いて情報を抽出します。"
+ },
+ "extractionPrompt": {
+ "type": "string",
+ "description": "ページからどのような情報を抽出するかを指定するプロンプト。LLM 抽出モードで使用されます。"
+ },
+ "extractionSchema": {
+ "type": "object",
+ "additionalProperties": true,
+ "description": "抽出するデータのスキーマ。LLM 抽出モードの場合にのみ必須です。",
+ "required": [
+ "company_mission",
+ "supports_sso",
+ "is_open_source"
+ ]
+ }
+ }
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "リクエストのタイムアウト時間(ミリ秒)",
+ "default": 30000
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "オプションに応じて複数のURLをクロールする",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの開始地点となるベースURL"
+ },
+ "crawlerOptions": {
+ "type": "object",
+ "properties": {
+ "includes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "含める URL パターン"
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "除外対象のURLパターン"
+ },
+ "generateImgAltText": {
+ "type": "boolean",
+ "description": "LLM を使って画像の代替テキストを生成(有料プランが必要)",
+ "default": false
+ },
+ "returnOnlyUrls": {
+ "type": "boolean",
+ "description": "true の場合、クロールステータスでは URL のみをリストとして返します。注意:レスポンスは data 内の URL のリストであり、ドキュメントのリストではありません。",
+ "default": false
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "入力したURLを基準としてクロールする最大の階層深さです。maxDepth が 0 の場合は、入力したURLのみをスクレイピングします。maxDepth が 1 の場合は、入力したURLと、その1階層下にあるすべてのページをスクレイピングします。maxDepth が 2 の場合は、入力したURLと、その2階層下までのすべてのページをスクレイピングします。より大きな値でも同様のルールで動作します。"
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "default",
+ "fast"
+ ],
+ "description": "使用するクロールモードです。Fast モードはサイトマップがないウェブサイトを通常の 4 倍の速度でクロールできますが、精度が低くなる可能性があり、JavaScript によるレンダリングに大きく依存するウェブサイトでは使用しないでください。",
+ "default": "default"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "クロール時にサイトマップを無視する",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールするページの最大数",
+ "default": 10000
+ },
+ "allowBackwardCrawling": {
+ "type": "boolean",
+ "description": "クローラーが特定のURLから、そこに至るまでにリンクで辿ってきたページへ戻れるようにします。例えば、`example.com/product/123` から `example.com/product` へ戻るといった動作を可能にします。",
+ "default": false
+ },
+ "allowExternalContentLinks": {
+ "type": "boolean",
+ "description": "クローラーが外部のウェブサイトへのリンクをたどれるようにします。",
+ "default": false
+ }
+ }
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "リクエストに付与するヘッダー。クッキーや User-Agent などを送信するために使用できます。"
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "ページ内コンテンツの HTML バージョンを含めます。レスポンスには html キーが含まれます。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "ページの生の HTML コンテンツを含めます。レスポンスには rawHtml キーが含まれます。",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "最終出力には、そのページ内に存在するタグ・クラス・ID のみを含めてください。値はカンマ区切りで指定します。例: 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダーやナビゲーション、フッターなどを除いたページのメインコンテンツのみを返します。",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "ページから削除するタグ、クラス、ID を指定します。カンマ区切りの値で入力してください。例: 'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "画像およびリンクの相対パスをすべて絶対パスに置き換えます",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "スクレイピングしているページの上部のスクリーンショットを含めてください。",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "スクレイピング対象ページの全体が映ったスクリーンショットを含めてください。",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "ページ読み込みのために x ミリ秒待機してからコンテンツを取得します",
+ "default": 0
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Googleでキーワードを検索し、各ページのMarkdown形式コンテンツを含む上位ページの結果を返します",
+ "operationId": "searchGoogle",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "format": "uri",
+ "description": "検索するクエリ文字列"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダーやナビゲーション、フッターなどを除き、ページのメインコンテンツのみを返してください。",
+ "default": false
+ },
+ "fetchPageContent": {
+ "type": "boolean",
+ "description": "各ページのコンテンツを取得します。false の場合は、高速な基本 SERP API をデフォルトで使用します。",
+ "default": true
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "ページ内コンテンツの HTML 版を含めます。レスポンスには html キーが含まれます。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "ページの生の HTML コンテンツをレスポンスに含めます。レスポンスには rawHtml キーが含まれます。",
+ "default": false
+ }
+ }
+ },
+ "searchOptions": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "description": "結果の最大件数。ベータ期間中は最大 20 件です。"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/status/{jobId}": {
+ "get": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "クロールジョブのステータスを取得する",
+ "operationId": "getCrawlStatus",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "ジョブのステータス(completed/active/failed/paused)"
+ },
+ "current": {
+ "type": "integer",
+ "description": "現在のページ番号"
+ },
+ "total": {
+ "type": "integer",
+ "description": "総ページ数"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "ジョブから返されるデータ(実行中は null)"
+ },
+ "partial_data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "クロール中のドキュメントは部分的に返されます(ストリーミング)。**この機能は現在アルファ版のため、破壊的な変更が発生する可能性があります。** ページの処理が完了すると、そのページが partial_data 配列に追加されるため、サイト全体のクロール完了を待つ必要はありません。クロールが完了すると、partial_data は空になり、結果は `data` に格納されます。レスポンスの配列内の項目数は最大 50 件です。配列に新しい項目が追加されると、最も古い項目(配列の先頭)が削除されます。"
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト回数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/cancel/{jobId}": {
+ "delete": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "クロールジョブをキャンセルする",
+ "operationId": "cancelCrawlJob",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功したレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "キャンセルを返します。"
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合、そのページのコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合のページの生の HTML コンテンツ"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "ページのHTTPステータスコード"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "LLM Extraction 使用時に表示されます。定義したスキーマに従ってページから抽出されたデータです。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "LLM Extraction の使用時に表示されます。抽出に問題がある場合は、警告メッセージで通知されます。"
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合、そのページの内容の HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合のページの生の HTML コンテンツ"
+ },
+ "index": {
+ "type": "integer",
+ "description": "クロールされたページの番号です。`partial_data` を利用する際に、データがどのページ由来かを特定するのに役立ちます。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ },
+ "SearchResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ja/v0/features/crawl.mdx b/ja/v0/features/crawl.mdx
index 10bb163b..35e414e3 100644
--- a/ja/v0/features/crawl.mdx
+++ b/ja/v0/features/crawl.mdx
@@ -173,7 +173,6 @@ cURLでは、/crawl は常に `jobId` を返し、それを使ってクロール
{ "jobId": "1234-5678-9101" }
```
-
### クロールジョブの確認
diff --git a/ja/v0/features/extract.mdx b/ja/v0/features/extract.mdx
index 635140e9..63e59210 100644
--- a/ja/v0/features/extract.mdx
+++ b/ja/v0/features/extract.mdx
@@ -98,7 +98,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
```
-
### Python SDKの使用
@@ -130,7 +129,6 @@ data = app.scrape_url('https://news.ycombinator.com', {
print(data["llm_extraction"])
```
-
### JavaScript SDK を使用する
@@ -166,7 +164,6 @@ const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", {
console.log(scrapeResult.data["llm_extraction"]);
```
-
### Go SDK を使う
@@ -222,7 +219,6 @@ func main() {
}
```
-
### Rust SDK を使う
diff --git a/ja/v1/advanced-scraping-guide.mdx b/ja/v1/advanced-scraping-guide.mdx
index 5e295a9b..f756b6b8 100644
--- a/ja/v1/advanced-scraping-guide.mdx
+++ b/ja/v1/advanced-scraping-guide.mdx
@@ -193,7 +193,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
こちらがAPIリファレンスです: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -294,7 +293,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
}
```
-
## アクション
@@ -487,7 +485,6 @@ IDを返します
{ "id": "1234-5678-9101" }
```
-
### クロールジョブの確認
@@ -500,7 +497,6 @@ curl -X GET https://api.firecrawl.dev/v1/crawl/1234-5678-9101 \
-H 'Authorization: Bearer YOUR_API_KEY'
```
-
@@ -620,7 +616,6 @@ curl -X POST https://api.firecrawl.dev/v1/crawl \
* 最大深さは 2 です。
* 最大 1000 ページまでクロールします。
-
## `/map` を使ったウェブサイトリンクのマッピング
@@ -644,7 +639,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
これは、URLにコンテキスト的に関連するリンクを含むJSONオブジェクトを返します。
-
### 例のレスポンス
@@ -666,7 +660,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
}
```
-
### マップのオプション
diff --git a/ja/v1/api-reference/endpoint/batch-scrape-delete.mdx b/ja/v1/api-reference/endpoint/batch-scrape-delete.mdx
index 5b96b41b..2356ed00 100644
--- a/ja/v1/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/ja/v1/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのキャンセル'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> 注: 機能とパフォーマンスが向上したこのAPIの[v2版](/ja/api-reference/endpoint/batch-scrape-delete)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/batch-scrape-get-errors.mdx b/ja/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
index ec688007..73298cb8 100644
--- a/ja/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/ja/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのエラーを取得'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> 注: エラー報告とデバッグ機能が強化された新しい[v2版のAPI](/ja/api-reference/endpoint/batch-scrape-get-errors)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/batch-scrape-get.mdx b/ja/v1/api-reference/endpoint/batch-scrape-get.mdx
index c0eb9799..a4210d2e 100644
--- a/ja/v1/api-reference/endpoint/batch-scrape-get.mdx
+++ b/ja/v1/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのステータスを取得'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> 注記: ステータス追跡と監視機能が強化された [この API の v2 版](/ja/api-reference/endpoint/batch-scrape-get)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/batch-scrape.mdx b/ja/v1/api-reference/endpoint/batch-scrape.mdx
index 2a556802..d6f907ef 100644
--- a/ja/v1/api-reference/endpoint/batch-scrape.mdx
+++ b/ja/v1/api-reference/endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプ'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> 注記: バッチ処理のパフォーマンスと信頼性が向上したこのAPIの新しい[v2版](/ja/api-reference/endpoint/batch-scrape)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/crawl-active.mdx b/ja/v1/api-reference/endpoint/crawl-active.mdx
index bee00e2e..eacfd5ac 100644
--- a/ja/v1/api-reference/endpoint/crawl-active.mdx
+++ b/ja/v1/api-reference/endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: '進行中のクロールを取得'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> 注意: 機能とパフォーマンスが向上したこのAPIの新しい[v2版](/ja/api-reference/endpoint/crawl-active)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/crawl-delete.mdx b/ja/v1/api-reference/endpoint/crawl-delete.mdx
index cf5f57b9..a0691b12 100644
--- a/ja/v1/api-reference/endpoint/crawl-delete.mdx
+++ b/ja/v1/api-reference/endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールのキャンセル'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> 注記: 機能とパフォーマンスが向上した [本APIの v2 版](/ja/api-reference/endpoint/crawl-delete) が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/crawl-get-errors.mdx b/ja/v1/api-reference/endpoint/crawl-get-errors.mdx
index 48b553d9..ca50f71f 100644
--- a/ja/v1/api-reference/endpoint/crawl-get-errors.mdx
+++ b/ja/v1/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールエラーの取得'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> 注: 機能とパフォーマンスが向上した新しい[v2版のAPI](/ja/api-reference/endpoint/crawl-get-errors)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/crawl-get.mdx b/ja/v1/api-reference/endpoint/crawl-get.mdx
index 3a8c93c0..feabadac 100644
--- a/ja/v1/api-reference/endpoint/crawl-get.mdx
+++ b/ja/v1/api-reference/endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールステータスの取得'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> 注記: 機能とパフォーマンスが向上した [v2 版の API](/ja/api-reference/endpoint/crawl-get) が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/crawl-post.mdx b/ja/v1/api-reference/endpoint/crawl-post.mdx
index 567d2050..e085a1b8 100644
--- a/ja/v1/api-reference/endpoint/crawl-post.mdx
+++ b/ja/v1/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> 注意: 機能とパフォーマンスが向上した、新しいこのAPIの[v2版](/ja/api-reference/endpoint/crawl-post)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/credit-usage-historical.mdx b/ja/v1/api-reference/endpoint/credit-usage-historical.mdx
index cf4297c7..8b531e4f 100644
--- a/ja/v1/api-reference/endpoint/credit-usage-historical.mdx
+++ b/ja/v1/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "クレジット利用履歴"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
月ごとのクレジット利用履歴を返します。必要に応じて、API キー別の内訳も取得できます。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/credit-usage.mdx b/ja/v1/api-reference/endpoint/credit-usage.mdx
index 5d97ca19..97c03cfe 100644
--- a/ja/v1/api-reference/endpoint/credit-usage.mdx
+++ b/ja/v1/api-reference/endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'クレジット使用量'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> 注記: 機能とパフォーマンスが向上した新しい[v2 版のこの API](/ja/api-reference/endpoint/credit-usage)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/deep-research-get.mdx b/ja/v1/api-reference/endpoint/deep-research-get.mdx
index 27dddcff..c3ed8ae3 100644
--- a/ja/v1/api-reference/endpoint/deep-research-get.mdx
+++ b/ja/v1/api-reference/endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/deep-research.mdx b/ja/v1/api-reference/endpoint/deep-research.mdx
index 591c794b..bb6ec73d 100644
--- a/ja/v1/api-reference/endpoint/deep-research.mdx
+++ b/ja/v1/api-reference/endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Deep Research エンドポイントは、あらゆるテーマに対して AI を用いた高度な調査と分析を行います。調査クエリを入力するだけで、Firecrawl が自律的にウェブを探索して関連情報を収集し、網羅的な洞察にまとめ上げます。
diff --git a/ja/v1/api-reference/endpoint/extract-get.mdx b/ja/v1/api-reference/endpoint/extract-get.mdx
index 2b22990c..3a1c4d4e 100644
--- a/ja/v1/api-reference/endpoint/extract-get.mdx
+++ b/ja/v1/api-reference/endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract のステータスを取得'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> 注記: 機能とパフォーマンスが向上した[v2 版のこの API](/ja/api-reference/endpoint/extract-get)が新たに利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/extract.mdx b/ja/v1/api-reference/endpoint/extract.mdx
index b09ee2f1..d1aa7274 100644
--- a/ja/v1/api-reference/endpoint/extract.mdx
+++ b/ja/v1/api-reference/endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> 注意: 機能とパフォーマンスが向上した [この API の v2 版](/ja/api-reference/endpoint/extract) が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/llmstxt-get.mdx b/ja/v1/api-reference/endpoint/llmstxt-get.mdx
index 1b967651..32e185e5 100644
--- a/ja/v1/api-reference/endpoint/llmstxt-get.mdx
+++ b/ja/v1/api-reference/endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt のステータス"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/ja/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
LLMs.txt の生成ジョブのステータスと結果を取得します。このエンドポイントでは、生成の完了状況を確認し、生成されたコンテンツを取得できます。
@@ -69,7 +69,6 @@ LLMs.txt の生成ジョブのステータスと結果を取得します。こ
}
```
-
### ポーリングの推奨事項
diff --git a/ja/v1/api-reference/endpoint/llmstxt.mdx b/ja/v1/api-reference/endpoint/llmstxt.mdx
index 4666d7de..4b35190b 100644
--- a/ja/v1/api-reference/endpoint/llmstxt.mdx
+++ b/ja/v1/api-reference/endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt を生成する"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/ja/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
LLMs.txt 生成エンドポイントは、任意のウェブサイトに対して LLMs.txt と LLMs-full.txt を作成します。これらのファイルはサイトのコンテンツを構造化し、LLM に扱いやすい形式で提供することで、言語モデルによる理解と処理を容易にします。
diff --git a/ja/v1/api-reference/endpoint/map.mdx b/ja/v1/api-reference/endpoint/map.mdx
index 08613c78..6b837695 100644
--- a/ja/v1/api-reference/endpoint/map.mdx
+++ b/ja/v1/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> 注意: 機能とパフォーマンスが向上した新しい[v2版のこのAPI](/ja/api-reference/endpoint/map)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/scrape.mdx b/ja/v1/api-reference/endpoint/scrape.mdx
index a68fff2f..242cd011 100644
--- a/ja/v1/api-reference/endpoint/scrape.mdx
+++ b/ja/v1/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> 注記: 機能とパフォーマンスが向上した [この API の新しい v2 版](/ja/api-reference/endpoint/scrape) が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/search.mdx b/ja/v1/api-reference/endpoint/search.mdx
index fddeb4aa..0b6bd60f 100644
--- a/ja/v1/api-reference/endpoint/search.mdx
+++ b/ja/v1/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> 注: 機能とパフォーマンスが向上した[この API の新しい v2 版](/ja/api-reference/endpoint/search)が利用可能です。
diff --git a/ja/v1/api-reference/endpoint/token-usage-historical.mdx b/ja/v1/api-reference/endpoint/token-usage-historical.mdx
index d3d9a5b1..92230ca5 100644
--- a/ja/v1/api-reference/endpoint/token-usage-historical.mdx
+++ b/ja/v1/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "過去のトークン使用状況"
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
月別の過去のトークン使用状況を返します。必要に応じて、API キーごとの内訳も取得できます。
\ No newline at end of file
diff --git a/ja/v1/api-reference/endpoint/token-usage.mdx b/ja/v1/api-reference/endpoint/token-usage.mdx
index a84f306d..2794c381 100644
--- a/ja/v1/api-reference/endpoint/token-usage.mdx
+++ b/ja/v1/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'トークン使用量'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> 注意: 機能とパフォーマンスが向上した、このAPIの新しい[v2版](/ja/api-reference/endpoint/token-usage)が利用可能です。
\ No newline at end of file
diff --git a/ja/v1/api-reference/v1-openapi.json b/ja/v1/api-reference/v1-openapi.json
new file mode 100644
index 00000000..fe98eead
--- /dev/null
+++ b/ja/v1/api-reference/v1-openapi.json
@@ -0,0 +1,3387 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "Firecrawl のサービスと連携し、ウェブスクレイピングやクローリング処理を実行するための API です。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "1つのURLをスクレイピングし、必要に応じてLLMを用いて情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイピングするURL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true にすると、このスクレイピングではデータを一切保存しないゼロデータ保持モードが有効になります。この機能を有効化するには、help@firecrawl.dev までお問い合わせください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "複数のURLをスクレイピングし、必要に応じてLLMを使って情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイプ対象のURL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook の仕様を表すオブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook を送信する URL。バッチスクレイピングの開始時(batch_scrape.started)、各ページのスクレイピング完了時(batch_scrape.page)、およびバッチスクレイピング完了時(batch_scrape.completed または batch_scrape.failed)にトリガーされます。レスポンスは `/scrape` エンドポイントと同じになります。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信するリクエストヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべての webhook ペイロードに含めるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類。(デフォルト:all)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時スクレイプ数の上限。このパラメータで、このバッチスクレイプに対する同時実行数の上限を設定できます。指定しない場合、バッチスクレイプはチームに設定されている同時実行数の上限に従います。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "urls 配列に無効な URL が指定されている場合、それらは無視されます。無効な URL が原因でリクエスト全体が失敗するのではなく、有効な URL のみを用いてバッチスクレイプが作成され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このバッチスクレイプではゼロデータ保持が有効になり、データは一切保存されません。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイプジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのステータスを取得する",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "バッチスクレイピングジョブをキャンセルする",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルが完了しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "バッチスクレイピングジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのエラーを取得する",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブの状態を取得する",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "クロールジョブをキャンセルする",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルが完了しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クロールジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブのエラーを取得する",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "オプションに応じて複数のURLをクロールする",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの開始地点となるベースURL"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールから除外するURLパス名を指定するための正規表現パターンです。たとえば、ベースURLを firecrawl.dev として \"excludePaths\": [\"blog/.*\"] を設定すると、https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap のようにそのパターンにマッチする結果はすべてクロール対象から除外されます。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールに含めるURLを指定するためのURLパス名の正規表現パターンです。指定したパターンに一致するパスのみがレスポンスに含まれます。たとえば、ベースURLを firecrawl.dev とし、\"includePaths\": [\"blog/.*\"] を設定した場合、そのパターンに一致する結果のみが含まれます(例: https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap)。"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "入力されたURLを基点としてクロールできる最大の絶対深度です。基本的には、スクレイピング対象のURLのパス名に含めることができるスラッシュの最大数を意味します。",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "検出順に基づいてクロールする最大深度です。ルートサイトとサイトマップで見つかったページの検出深度は 0 です。たとえば、この値を 1 に設定し、かつ ignoreSitemap を有効にした場合、入力した URL と、そのページ上からリンクされているすべての URL のみをクロールします。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "クロール時にサイトマップを無視する",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "同じパスに対して、クエリパラメータを変えたり(または付けずに)再度スクレイピングしないでください",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールするページ数の上限です。デフォルトでは 10,000 ページに設定されています。",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ 非推奨: 代わりに 'crawlEntireDomain' を使用してください。クローラーが子パスだけでなく、同一ドメイン内の親URLや同階層のURLへの内部リンクもたどれるようにします。",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "クローラーが子パスだけでなく、同一階層(兄弟)や親URLへの内部リンクもたどれるようにします。\n\nfalse: より深い(子)URL だけをクロールします。\n→ 例: /features/feature-1 → /features/feature-1/tips ✅\n→ /pricing や / には移動しません ❌\n\ntrue: 兄弟や親を含む、あらゆる内部リンクをクロールします。\n→ 例: /features/feature-1 → /pricing, / など ✅\n\nネストされたパス以外も含めて、より広くサイト内をクロールしたい場合は true を使用してください。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "クローラーが外部のウェブサイトへのリンクをたどることを許可します。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "クローラーがメインドメイン配下のサブドメインへのリンクもたどれるようにします。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "スクレイプ間の遅延時間(秒)。ウェブサイトのレート制限を尊重するための設定です。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時スクレイプ数の上限。このパラメータで、このクロールに対する同時実行数の上限を設定できます。指定しない場合、クロールはチームに設定されている同時実行数の上限に従います。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 仕様オブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先となる URL です。クロール開始時 (crawl.started)、各ページのクロール時 (crawl.page)、およびクロールが完了したとき (crawl.completed または crawl.failed) にトリガーされます。レスポンスは `/scrape` エンドポイントと同じです。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信するヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべての Webhook ペイロードに含まれるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "webhook URL に送信するイベントの種類(デフォルト: all)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true に設定すると、このクロールではデータが一切保存されません(ゼロデータ保持)。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "オプションに基づいて複数のURLをマップする",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールを開始するためのベースURL"
+ },
+ "search": {
+ "type": "string",
+ "description": "マッピングに使用する検索クエリです。Alpha フェーズ中は、検索機能の「スマート」な部分は検索結果 500 件までに制限されます。ただし、map によってそれ以上の結果が見つかった場合でも、その件数には上限はありません。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "クロール時にサイトマップを無視します。",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "ウェブサイトのサイトマップ内にあるリンクのみを返します",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "このサイトのサブドメインを含める",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返されるリンクの最大数",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "ミリ秒単位のタイムアウト。デフォルトではタイムアウトはありません。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト回数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "LLMを使ってページから構造化データを抽出",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "データを抽出する対象のURLです。URLはglob形式で指定してください。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "抽出プロセスを指示するプロンプト"
+ },
+ "schema": {
+ "type": "object",
+ "description": "抽出されたデータの構造を定義するスキーマ。[JSON Schema](https://json-schema.org/) に準拠する必要があります。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "true にすると、抽出時に Web 検索を使用して追加データを取得します",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "true の場合、ウェブサイトのスキャン時に sitemap.xml ファイルは無視されます。",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "true の場合は、指定した URL のサブドメインもスキャンされます",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "true の場合、データ抽出に使用されたソースが、レスポンス内の `sources` キーに含まれます",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "urls 配列内に無効な URL が指定されている場合、それらは無視されます。無効な URL を原因としてリクエスト全体が失敗することはなく、有効な URL のみを使って抽出処理が実行され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "抽出が成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "無効なリクエスト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抽出ジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "抽出ジョブのステータスを確認する",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "認証済みチームのアクティブなクロールをすべて取得します",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "正常なレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "クロールの一意な識別子"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "このクロールを所有するチームのID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの起点となるURL"
+ },
+ "options": {
+ "type": "object",
+ "description": "このクロールで使用したクローラーのオプション",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "クエリに対する詳細な調査を開始する",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "調査対象のクエリ"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "調査反復の最大深度"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "制限時間(秒)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "解析対象URLの最大数"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "最終分析で使用するプロンプトです。最終分析のMarkdownを特定の形式で整形するのに役立ちます。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "リサーチエージェント向けのシステムプロンプトです。リサーチエージェントの挙動を特定の方向に調整するのに使用します。"
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 出力のオプション",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "JSON出力に使用するスキーマ。 [JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "JSON出力用のシステムプロンプト"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "JSON出力用のプロンプト"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "リサーチジョブの開始に成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "リサーチジョブの ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "リクエストパラメーターが不正です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "リサーチジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "ディープリサーチ処理の状態と結果を取得する",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "JSON 形式のときに表示されます",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Research ジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "認証済みのチームの残りのクレジット数を取得",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "チームの残りクレジット",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "プランに含まれるクレジット数です。クーポンクレジット、クレジットパック、自動チャージによるクレジットは含まれません。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランを利用している場合は null です",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プランを利用している場合は null です",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クレジットの利用状況が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "認証済みのチームの過去のクレジット使用量を取得します",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのクレジット使用履歴を取得",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "請求期間に使用された API キー名。byApiKey が false(デフォルト)の場合は null です",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "請求期間中に使用したクレジットの合計",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "認証済みチームの残りトークン数を取得(Extract 専用)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "チームの残りトークン数",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "プランに含まれるトークン数です。クーポンで付与されたトークンは含まれません。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プラン利用時は null です",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プラン利用時は null です",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "トークン使用状況の情報が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "認証済みのチームのトークン使用履歴を取得(Extract のみ)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキー別のトークン使用履歴を取得",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "請求期間中に使用された API キーの名前。byApiKey が false(デフォルト)の場合は null。",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "請求期間内に使用されたトークンの合計数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "検索し、必要に応じて検索結果をスクレイピングします",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "検索クエリ"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返される結果の最大件数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間を基準とした検索パラメータ。事前定義された時間範囲(`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`)と、カスタム日付範囲(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします。"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果用の location パラメータ"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト時間(ミリ秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "他の Firecrawl エンドポイントで無効となる URL を検索結果から除外します。検索結果のデータを他の Firecrawl API エンドポイントへ渡して利用する場合のエラーを減らすのに役立ちます。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "検索結果スクレイピングのオプション",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "description": {
+ "type": "string",
+ "description": "検索結果の説明"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングがリクエストされた場合の Markdown コンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでリクエストされた場合の HTML コンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで要求された場合の生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "フォーマットを指定してリクエストした場合に検出されるリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで要求された場合のスクリーンショットのURL"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "問題発生時の警告メッセージ"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "リクエストタイムアウト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "ウェブサイト向けの LLMs.txt を生成する",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "LLMs.txt を生成する URL"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "解析する URL の最大数",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "レスポンスにテキストの全文を含める",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "LLMs.txt の生成ジョブが正常に開始されました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "LLMs.txt 生成ジョブの ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "リクエストパラメータが不正です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "LLMs.txt生成ジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "LLMs.txt 生成ジョブのステータスと結果を取得",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "生成された LLMs.txt ファイルの内容"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "showFullText が true の場合の全文テキストコンテンツ"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "生成されたコンテンツが失効するタイミング"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "LLMs.txt の生成ジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダーやナビゲーション、フッターなどを除き、ページのメインコンテンツのみを返します。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力に含めるタグ。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力結果から除外するタグ。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "ページのキャッシュがこの値(ミリ秒)より新しい場合は、そのキャッシュ済みページを返します。キャッシュ済みページがこの値より古い場合は、ページを再スクレイピングします。常に最新のデータを必要としない場合は、これを有効にすることでスクレイピングを最大 5 倍高速化できます。デフォルトは 0 で、この場合キャッシュは無効になります。",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "リクエストに付与するヘッダー。Cookie や User-Agent などを送信するために使用できます。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "ページが十分に読み込まれるまでの待機時間を、コンテンツ取得前にミリ秒単位で指定します。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "モバイル端末からのスクレイピングをエミュレートしたい場合は、true に設定します。レスポンシブページのテストやモバイル向けスクリーンショットの取得に便利です。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "リクエスト送信時に TLS 証明書の検証をスキップする",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "リクエストのタイムアウト(ミリ秒単位)",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "スクレイピング時に PDF ファイルをどのように処理するかを制御します。true の場合、PDF の内容が抽出されて Markdown 形式に変換され、ページ数に応じて課金されます(1 ページあたり 1 クレジット)。false の場合、PDF ファイルは Base64 エンコードされた状態で返され、合計 1 クレジットの固定料金となります。",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON オプションオブジェクト",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "抽出に使用するスキーマ(任意)。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "抽出時に使用するシステムプロンプト(任意)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "スキーマを使用しない抽出で使うプロンプト(任意)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "コンテンツを取得する前にページで実行するアクション",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "指定したミリ秒間待機します"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "待機時間(ミリ秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクタ",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "スクリーンショットを撮影します。リンクはレスポンスの `actions.screenshots` 配列に格納されます。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在のビューポートのみに限定するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの画質を1〜100で指定します。100が最高画質です。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "要素をクリック"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を取得するためのクエリセレクター",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "セレクターに一致した最初の要素だけでなく、すべての要素をクリックします。セレクターに一致する要素が存在しない場合でも、エラーはスローされません。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "入力フィールド、テキストエリア、または contenteditable 要素にテキストを入力します。注意: テキストを入力する前に、必ず「click」アクションでその要素にフォーカスを当ててください。テキストはキーボード入力をシミュレートするため、1文字ずつ入力されます。"
+ },
+ "text": {
+ "type": "string",
+ "description": "入力テキスト",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "このページ上でキーボードのキーを押してください。キーコードについては https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html を参照してください。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "ページ上のキーを押してください"
+ },
+ "key": {
+ "type": "string",
+ "description": "押下キー",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "ページまたは特定の要素をスクロールする"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "スクロール方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "スクロールする要素を指定するクエリセレクター",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "現在のページのコンテンツをスクレイピングして、URL と HTML を返します。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "ページ上でJavaScriptコードを実行する"
+ },
+ "script": {
+ "type": "string",
+ "description": "実行するJavaScriptコード",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "現在のページのPDFを生成します。生成されたPDFは、レスポンス内の `actions.pdfs` 配列で返されます。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成されるPDFのページサイズ",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "PDF を横向きで生成するかどうか",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成されるPDFの倍率",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストのロケーション設定です。指定した場合、利用可能であれば適切なプロキシを使用し、対応する言語およびタイムゾーン設定をエミュレートします。指定がない場合は、デフォルトで「US」が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 形式の国コード(例: 「US」「AU」「DE」「JP」)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "このリクエストに対して優先される言語およびロケールを、優先度の高い順に指定します。デフォルトは、指定された location に対応する言語になります。詳細は https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "出力から、非常に長大になり得るすべての base64 画像を削除します。画像の alt テキストは出力内に残りますが、URL はプレースホルダーに置き換えられます。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "広告ブロックとクッキー同意ポップアップのブロックを有効にします。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "使用するプロキシの種類を指定します。\n\n - **basic**: ボット対策がない、または基本的なボット対策のみが導入されているサイト向けのプロキシです。高速で、通常は問題なく動作します。\n - **stealth**: 高度なボット対策が導入されているサイト向けのステルスプロキシです。basic より遅くなりますが、特定のサイトではより安定して動作します。1 リクエストあたり最大 5 クレジットかかります。\n - **auto**: basic プロキシでスクレイピングに失敗した場合、Firecrawl が自動的にステルスプロキシで再試行します。ステルスでの再試行が成功した場合、そのスクレイピングには 5 クレジットが請求されます。最初の basic での試行が成功した場合は、通常のコストのみが請求されます。\n\nプロキシを指定しない場合、Firecrawl は basic をデフォルトで使用します。"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "true の場合、そのページは Firecrawl のインデックスとキャッシュに保存されます。スクレイピングによってデータ保護上の懸念が生じる可能性がある場合は、これを false に設定すると有用です。機微なスクレイピングに関連する一部のパラメータ(アクション、ヘッダー)を使用すると、このパラメータは強制的に false に設定されます。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "出力に含めるフォーマットを指定します。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "changeTracking 用のオプション(ベータ版)。フォーマットに 'changeTracking' が含まれている場合にのみ適用されます。changeTracking を使用する際は、'markdown' フォーマットも必ず指定する必要があります。",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "変更追跡に使用するモードです。`git-diff` は詳細な差分を提供し、`json` は抽出された JSON データを比較します。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "「json」モードで JSON 抽出を行う際のスキーマです。抽出および比較するデータ構造を定義します。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "json モードで変更追跡を行う際に使用するプロンプトです。指定しない場合は、デフォルトのプロンプトが使用されます。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "変更追跡に使用するタグです。タグによって変更追跡履歴を別々の「ブランチ」に分割でき、特定のタグでの変更追跡は同じタグで実行されたスクレイプのみを比較対象とします。指定しない場合は、デフォルトタグ(null)が使用されます。"
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `html` が含まれている場合のページコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `rawHtml` が含まれている場合の、そのページの生の HTML コンテンツ"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `screenshot` が含まれている場合のページのスクリーンショット"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`formats` に `links` が含まれている場合の、そのページ上のリンクの一覧"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` パラメータで指定されたアクションの結果。リクエストで `actions` パラメータが指定されている場合にのみ含まれます",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "スクリーンショットのURL。指定したスクリーンショットアクションと同じ順序です。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "提供されたスクレイプアクションと同じ順序でコンテンツをスクレイピングします。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "JavaScript の戻り値。指定された executeJavascript アクションの順序どおりに並びます。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成されたPDF。指定されたpdfアクションと同じ順序で生成されます。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "LLM Extraction 使用時に表示されます。定義されたスキーマに従ってページから抽出されたデータが表示されます。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "LLM Extraction の使用時に表示されることがあります。警告メッセージによって、抽出処理に関する問題がある場合は通知されます。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "`formats` に `changeTracking` が含まれている場合の変更追跡情報です。`changeTracking` フォーマットがリクエストされた場合にのみ含まれます。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "現在のページと比較される前回のスクレイプのタイムスタンプ。前回のスクレイプが存在しない場合は null になります。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "2つのページバージョン間の比較結果です。'new' はこのページが以前は存在しなかったこと、'same' はコンテンツに変更がないこと、'changed' はコンテンツが変更されたこと、'removed' はページが削除されたことを表します。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "現在のページ/URL の可視性を示します。'visible' は、その URL がリンクやサイトマップなどのオーガニックな経路によって発見されたことを意味し、'hidden' は、その URL が過去のクロール結果として保存されたメモリから発見されたことを意味します。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "「git-diff」モード使用時の Git 形式の差分。モードが「git-diff」に設定されている場合にのみ表示されます。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "「json」モード使用時の JSON 比較結果。モードが「json」に設定されている場合にのみ表示されます。`schema` で定義された型に基づき、`previous` と `current` のスクレイプ結果から取得したすべてのキーとその値のリストを返します。例は[こちら](/features/change-tracking)を参照してください。"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "クロールの現在の状態です。`scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "クロールを試みたページの総数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にクロールできたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "クロールに使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "クロールが有効期限を迎える日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB 分のデータを取得するための URL。クロールが完了していない場合、またはレスポンスが 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "クロール結果のデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合のページコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合の、ページの生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合、そのページ内のリンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true のときのページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "エラーが発生したスクレイピングジョブとエラー詳細",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失敗時のISOタイムスタンプ"
+ },
+ "url": {
+ "type": "string",
+ "description": "スクレイプしたURL"
+ },
+ "error": {
+ "type": "string",
+ "description": "エラーメッセージ"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "スクレイピングを試行したが robots.txt によってブロックされた URL のリスト",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "バッチスクレイプの現在の状態です。`scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "スクレイピングを試みたページ数の合計です。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にスクレイピングできたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "バッチスクレイプに使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "バッチスクレイプの有効期限となる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の10MB分のデータを取得するためのURL。バッチスクレイピングが完了していない場合、またはレスポンスサイズが10MBを超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "バッチスクレイプのデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合、そのページのコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合に返されるページの生の HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合に含まれる、ページ上のリンクの一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合に取得されるページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、これはリクエストで指定された無効な URL を含む配列です。無効な URL が存在しない場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは未定義(undefined)になります。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、ここにはリクエストで指定された無効な URL を含む配列が格納されます。無効な URL がなかった場合、この配列は空になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "抽出ジョブの現在の状態"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ja/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx b/ja/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
index 0a98aaf2..a06f77c8 100644
--- a/ja/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
+++ b/ja/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: "バッチスクレイプをキャンセル"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
diff --git a/ja/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx b/ja/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
index a365c990..0a140457 100644
--- a/ja/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
+++ b/ja/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのエラー取得'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
diff --git a/ja/v1/api-reference/v2-endpoint/batch-scrape-get.mdx b/ja/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
index 080fe32a..845779b1 100644
--- a/ja/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
+++ b/ja/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'バッチスクレイプのステータス取得'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
diff --git a/ja/v1/api-reference/v2-endpoint/batch-scrape.mdx b/ja/v1/api-reference/v2-endpoint/batch-scrape.mdx
index 84572018..26d07e79 100644
--- a/ja/v1/api-reference/v2-endpoint/batch-scrape.mdx
+++ b/ja/v1/api-reference/v2-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: "バッチスクレープ"
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
diff --git a/ja/v1/api-reference/v2-endpoint/crawl-active.mdx b/ja/v1/api-reference/v2-endpoint/crawl-active.mdx
index 742239ad..33d0cf29 100644
--- a/ja/v1/api-reference/v2-endpoint/crawl-active.mdx
+++ b/ja/v1/api-reference/v2-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: "アクティブなクロールを取得"
-openapi: "v2-openapi GET /crawl/active"
+openapi: "/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active"
---
diff --git a/ja/v1/api-reference/v2-endpoint/crawl-delete.mdx b/ja/v1/api-reference/v2-endpoint/crawl-delete.mdx
index 29a7803d..6eb28c12 100644
--- a/ja/v1/api-reference/v2-endpoint/crawl-delete.mdx
+++ b/ja/v1/api-reference/v2-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "クロールをキャンセル"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
diff --git a/ja/v1/api-reference/v2-endpoint/crawl-get-errors.mdx b/ja/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
index a8383eb1..f9e55d06 100644
--- a/ja/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
+++ b/ja/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'クロールのエラーを取得'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
diff --git a/ja/v1/api-reference/v2-endpoint/crawl-get.mdx b/ja/v1/api-reference/v2-endpoint/crawl-get.mdx
index 60db2338..40c7a5e8 100644
--- a/ja/v1/api-reference/v2-endpoint/crawl-get.mdx
+++ b/ja/v1/api-reference/v2-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: "クロール状況の取得"
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
diff --git a/ja/v1/api-reference/v2-endpoint/crawl-post.mdx b/ja/v1/api-reference/v2-endpoint/crawl-post.mdx
index 9798bf19..c5d287e8 100644
--- a/ja/v1/api-reference/v2-endpoint/crawl-post.mdx
+++ b/ja/v1/api-reference/v2-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "クロール"
-openapi: 'v2-openapi POST /crawl'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -20,7 +20,6 @@ openapi: 'v2-openapi POST /crawl'
}
```
-
### サイトマップ制御の強化
diff --git a/ja/v1/api-reference/v2-endpoint/credit-usage-historical.mdx b/ja/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
index e69dd91a..f8b01e89 100644
--- a/ja/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
+++ b/ja/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "クレジット使用履歴"
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
月ごとのクレジット使用履歴を返します。必要に応じて、API キーごとの内訳も提供します。
\ No newline at end of file
diff --git a/ja/v1/api-reference/v2-endpoint/credit-usage.mdx b/ja/v1/api-reference/v2-endpoint/credit-usage.mdx
index e1067e42..4ea9763a 100644
--- a/ja/v1/api-reference/v2-endpoint/credit-usage.mdx
+++ b/ja/v1/api-reference/v2-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: "クレジット利用状況"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
diff --git a/ja/v1/api-reference/v2-endpoint/extract-get.mdx b/ja/v1/api-reference/v2-endpoint/extract-get.mdx
index c3b3a108..b9568ec1 100644
--- a/ja/v1/api-reference/v2-endpoint/extract-get.mdx
+++ b/ja/v1/api-reference/v2-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: '抽出ステータスの取得'
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
diff --git a/ja/v1/api-reference/v2-endpoint/extract.mdx b/ja/v1/api-reference/v2-endpoint/extract.mdx
index 94b6f1c1..b55e59d4 100644
--- a/ja/v1/api-reference/v2-endpoint/extract.mdx
+++ b/ja/v1/api-reference/v2-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: "Extract"
-openapi: 'v2-openapi POST /extract'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
diff --git a/ja/v1/api-reference/v2-endpoint/map.mdx b/ja/v1/api-reference/v2-endpoint/map.mdx
index 1153a7a5..69931d4b 100644
--- a/ja/v1/api-reference/v2-endpoint/map.mdx
+++ b/ja/v1/api-reference/v2-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "/map エンドポイント"
-openapi: 'v2-openapi POST /map'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI POST /map'
---
@@ -24,7 +24,6 @@ openapi: 'v2-openapi POST /map'
}
```
-
### よりスマートなURL検出
diff --git a/ja/v1/api-reference/v2-endpoint/scrape.mdx b/ja/v1/api-reference/v2-endpoint/scrape.mdx
index a36ad8b0..2fb2726e 100644
--- a/ja/v1/api-reference/v2-endpoint/scrape.mdx
+++ b/ja/v1/api-reference/v2-endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: "スクレイピング"
-openapi: "v2-openapi POST /scrape"
+openapi: "/ja/api-reference/v1-openapi.json V2-OPENAPI POST /scrape"
---
\ No newline at end of file
diff --git a/ja/v1/api-reference/v2-endpoint/search.mdx b/ja/v1/api-reference/v2-endpoint/search.mdx
index fefed36d..6fbe172b 100644
--- a/ja/v1/api-reference/v2-endpoint/search.mdx
+++ b/ja/v1/api-reference/v2-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "検索"
-openapi: "v2-openapi POST /search"
+openapi: "/ja/api-reference/v1-openapi.json V2-OPENAPI POST /search"
---
@@ -24,7 +24,6 @@ openapi: "v2-openapi POST /search"
}
```
-
### レスポンス形式の変更
@@ -42,7 +41,6 @@ v1:結果はフラットなリスト。v2:ソースタイプ別に整理。
}
```
-
### 新機能
diff --git a/ja/v1/api-reference/v2-endpoint/token-usage-historical.mdx b/ja/v1/api-reference/v2-endpoint/token-usage-historical.mdx
index ce554a0b..1a0b0317 100644
--- a/ja/v1/api-reference/v2-endpoint/token-usage-historical.mdx
+++ b/ja/v1/api-reference/v2-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "トークン使用量の履歴"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
月ごとのトークン使用量の履歴を返します。必要に応じて、APIキー別の内訳も取得できます。
\ No newline at end of file
diff --git a/ja/v1/api-reference/v2-endpoint/token-usage.mdx b/ja/v1/api-reference/v2-endpoint/token-usage.mdx
index 020b05be..b1ab456c 100644
--- a/ja/v1/api-reference/v2-endpoint/token-usage.mdx
+++ b/ja/v1/api-reference/v2-endpoint/token-usage.mdx
@@ -1,4 +1,4 @@
---
title: "トークン利用状況"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/ja/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
\ No newline at end of file
diff --git a/ja/v1/api-reference/v2-openapi.json b/ja/v1/api-reference/v2-openapi.json
new file mode 100644
index 00000000..024a5795
--- /dev/null
+++ b/ja/v1/api-reference/v2-openapi.json
@@ -0,0 +1,3261 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "Firecrawl のサービスと連携し、Webスクレイピングやクローリングを行うための API です。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "1つのURLをスクレイピングし、必要に応じてLLMで情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイプするURL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true に設定した場合、このスクレイプに対してデータを一切保持しない(ゼロデータ保持)モードが有効になります。この機能を有効化するには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "複数のURLをスクレイピングし、必要に応じてLLMで情報を抽出する",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "スクレイピング対象のURL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook の仕様を表すオブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先となる URL。バッチスクレイプの開始時(batch_scrape.started)、各ページのスクレイプ時(batch_scrape.page)、およびバッチスクレイプの完了時(batch_scrape.completed または batch_scrape.failed)にトリガーされます。レスポンスは `/scrape` エンドポイントと同じです。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信する HTTP ヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールに対するすべてのウェブフックペイロードに含められるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類。(既定値: all)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "同時スクレイプ数の上限。このパラメータで、このバッチスクレイプにおける同時実行数の上限を設定できます。指定しない場合、バッチスクレイプはチームに設定されている同時実行数の上限に従います。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "urls 配列内に無効な URL が指定されていた場合、それらは無視されます。リクエスト全体が失敗するのではなく、残りの有効な URL を使ってバッチスクレイピングが作成され、無効な URL はレスポンスの invalidURLs フィールドで返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このバッチスクレイプではデータを一切保持しない設定が有効になります。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのステータスを取得",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "バッチスクレイピングジョブをキャンセルする",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルに成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "バッチスクレイピングジョブが見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "バッチスクレイピングジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "バッチスクレイピングジョブのエラーを取得",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます。",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブの状態を取得する",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "クロールジョブをキャンセルする",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "キャンセルが完了しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クロールジョブが見つかりませんでした",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "クロールジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "クロールジョブのエラーを取得",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "オプションに応じて複数のURLをクロールする",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールを開始するためのベースURL"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "自然言語からクローラーオプション(以下のすべてのパラメータ)を生成するために使用するプロンプトです。明示的に設定されたパラメータは、生成された値よりも優先されます。"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールから除外するURLパス名の正規表現パターンです。たとえば、ベースURLが firecrawl.dev の場合に \"excludePaths\": [\"blog/.*\"] を設定すると、https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap のようにそのパターンに一致するURLは、すべてクロール対象から除外されます。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "クロールに含めるURLを指定するためのURLパス名の正規表現パターンです。指定したパターンにマッチするパスのみがレスポンスに含まれます。たとえば、ベースURLが firecrawl.dev の場合に \"includePaths\": [\"blog/.*\"] を設定すると、そのパターンにマッチする結果のみがレスポンスに含まれます(例: https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap)。"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "発見順序に基づいてクロールする最大深度です。ルートサイトおよびサイトマップで指定されたページの発見深度は 0 です。たとえば、この値を 1 に設定し、かつ ignoreSitemap を有効にした場合、入力した URL と、そのページからリンクされているすべての URL だけをクロールします。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "クロール時のサイトマップモードです。「skip」に設定すると、クローラーはウェブサイトのサイトマップを参照せず、指定したURLを起点として、そこから辿って発見したページのみをクロールします。",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "同じパスを、クエリパラメータを変えて(または付けずに)再度スクレイピングしないでください",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "クロールするページ数の上限です。デフォルトの上限値は 10,000 です。",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "クローラーが、子パスだけでなく、同階層や親の URL などの内部リンクもたどれるようにします。\n\nfalse: より深い(子)URL のみをクロールします。\n→ 例: /features/feature-1 → /features/feature-1/tips ✅\n→ /pricing や / には進みません ❌\n\ntrue: 同階層や親を含む、あらゆる内部リンクをクロールします。\n→ 例: /features/feature-1 → /pricing、/ など ✅\n\nネストされたパス以外もクロール対象に含めて、内部リンクの範囲を広げたい場合は true を使用します。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "クローラーが外部サイトへのリンクをたどることを許可します。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "クローラーがメインドメイン配下のサブドメインへのリンクもたどれるようにします。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "スクレイピングの実行間隔(秒)。ウェブサイトのレート制限を順守するのに役立ちます。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "スクレイプの同時実行数の上限。このパラメータで、このクロールにおける同時実行数の制限を設定できます。指定しない場合、クロールはチームの同時実行数の上限に従います。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 仕様オブジェクト。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Webhook の送信先となる URL です。クロールの開始時(crawl.started)、各ページのクロール時(crawl.page)、およびクロールが完了したとき(crawl.completed または crawl.failed)に送信されます。レスポンスは `/scrape` エンドポイントと同一です。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Webhook URL に送信する HTTP ヘッダー。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "このクロールのすべてのWebhookペイロードに含まれるカスタムメタデータ",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Webhook URL に送信するイベントの種類。(デフォルト: all)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "true の場合、このクロールではデータが一切保持されなくなります。この機能を有効にするには、help@firecrawl.dev までご連絡ください。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "オプションに応じて複数のURLをマッピングする",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロール開始時の起点となるベースURL"
+ },
+ "search": {
+ "type": "string",
+ "description": "マッピングに使用する検索クエリです。Alpha フェーズ中は、検索機能の「スマート」な部分による検索結果は最大500件に制限されます。ただし、map によってそれ以上の結果が見つかった場合でも、そちらには上限は適用されません。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "マッピング時に使用するサイトマップモードです。`skip` に設定すると、URL の取得にサイトマップは使用されません。`only` に設定すると、サイトマップに含まれる URL のみが返されます。デフォルトの `include` では、サイトマップとその他の手法を組み合わせて URL を取得します。",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "サイトのサブドメインを含める",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "クエリパラメーター付きのURLは返さないでください",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返却するリンク数の上限",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト時間(ミリ秒単位)。デフォルトではタイムアウトはありません。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエスト数が多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "LLM を使ってページから構造化データを抽出",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "データ抽出対象のURLです。URLはグロブ形式で指定してください。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "抽出プロセスを指示するプロンプト"
+ },
+ "schema": {
+ "type": "object",
+ "description": "抽出されたデータの構造を定義するスキーマ。[JSON Schema](https://json-schema.org/) に準拠する必要があります。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "true の場合、抽出はウェブ検索を利用して追加データを取得します",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "true の場合、ウェブサイトのスキャン時に sitemap.xml ファイルを無視します",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "true の場合、指定した URL のサブドメインもスキャン対象になります",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "true の場合、データ抽出に使用されたソースが、レスポンス内の `sources` キーに含まれます",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "urls 配列内に無効な URL が指定されている場合、それらは無視されます。リクエスト全体を失敗させるのではなく、残りの有効な URL のみを使って抽出処理が実行され、無効な URL はレスポンスの invalidURLs フィールドに含めて返されます。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "抽出に成功しました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "無効なリクエスト",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抽出ジョブのID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "抽出ジョブのステータスを取得する",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "認証済みチームのすべての実行中のクロールを取得する",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "クロールの一意の識別子"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "このクロールを所有するチームのID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "クロールの起点となるURL"
+ },
+ "options": {
+ "type": "object",
+ "description": "このクロールで使用したクローラーのオプション",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "お支払いが必要です",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "リクエストが多すぎます",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "認証済みチームの残りのクレジット数を取得する",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "チームの残りクレジット数",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "プランに含まれるクレジット数です。クーポンによるクレジット、クレジットパック、または自動チャージによるクレジットは含まれません。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プランを利用している場合は null です",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プラン利用時は null になります",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "クレジット利用情報が見つかりません",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "認証中のチームのクレジット利用履歴を取得する",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのクレジット利用履歴を取得する",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功レスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "課金期間中に使用された API キーの名前。byApiKey が false(デフォルト)の場合は null になります",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "請求期間中に使用されたクレジットの合計",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "認証済みチームの残りトークン数を取得(Extract 専用)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "チームで利用可能な残りトークン数",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "プランに含まれるトークン数。クーポンによるトークンは含まれません。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日。無料プラン利用時は null になります",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日。無料プランを利用している場合は null になります",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "トークン使用状況の情報が見つかりませんでした",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "認証済みチームのトークン使用履歴を取得します(Extract のみ)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "APIキーごとのトークン使用履歴を取得する",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の開始日",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "請求期間の終了日",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "請求期間に使用する API キーの名前。byApiKey が false(デフォルト)の場合は null です",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "請求期間内に使用されたトークンの総数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "検索を行い、オプションで検索結果をスクレイピングする",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "検索クエリ"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返す結果の最大件数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間ベースの検索パラメータ。あらかじめ定義された期間指定(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)と、任意の日付範囲指定(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします。"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果用の location パラメータ"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "検索対象とするソースです。レスポンスに含まれる配列を決定します。",
+ "default": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "時間ベースの検索パラメータ。事前定義された時間範囲(`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`)と、カスタムの日付範囲(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)をサポートします"
+ },
+ "location": {
+ "type": "string",
+ "description": "検索結果の location パラメーター"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "タイムアウト(ミリ秒単位)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "他の Firecrawl エンドポイントで無効となる URL を検索結果から除外します。検索結果のデータをそのまま他の Firecrawl API エンドポイントに渡す場合のエラー削減に役立ちます。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "検索結果スクレイピングのオプション",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功時のレスポンス",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "description": {
+ "type": "string",
+ "description": "検索結果の説明"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングをリクエストした場合のMarkdownコンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでリクエストされた場合の HTML コンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の生のHTMLコンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "links フォーマットを指定した場合に返されるリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでスクリーンショットが要求された場合のスクリーンショットURL"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "検索結果のタイトル"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "画像のURL"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "画像の幅"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "画像の高さ"
+ },
+ "url": {
+ "type": "string",
+ "description": "検索結果のURL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "検索結果の位置"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "記事のタイトル"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "記事の抜粋"
+ },
+ "url": {
+ "type": "string",
+ "description": "記事のURL"
+ },
+ "date": {
+ "type": "string",
+ "description": "記事の公開日"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "記事の画像URL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "記事の掲載位置"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "スクレイピングがリクエストされた場合のMarkdownコンテンツ"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合のHTMLコンテンツ"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットで指定された場合の生のHTMLコンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "フォーマットでリクエストされた場合に取得されるリンク"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "フォーマットでスクリーンショットが要求されている場合のURL"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "検索結果です。利用可能な配列は、リクエストで指定したソースによって異なります。デフォルトでは `web` 配列が返されます。"
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "何らかの問題が発生した場合に表示される警告メッセージ"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "リクエストがタイムアウトしました",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "サーバーエラー",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在のビューポートのみを取得するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの画質を1〜100で指定します。100が最高画質です。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "ビューポートの幅(ピクセル数)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "ビューポートの高さ(ピクセル単位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "JSON出力用のスキーマ。[JSON Schema](https://json-schema.org/) に準拠している必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "JSON出力用のプロンプト"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "変更追跡に使用するモードです。`git-diff` は詳細な差分を提供し、`json` は抽出された JSON データを比較します。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "「json」モードで JSON 抽出を行う際に使用するスキーマです。抽出および比較するデータの構造を定義します。[JSON Schema](https://json-schema.org/) に準拠する必要があります。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "「json」モードで変更追跡を行う際に使用するプロンプト。指定しない場合はデフォルトのプロンプトが使用されます。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "変更トラッキングに使用するタグです。タグによって変更トラッキング履歴を別々の「ブランチ」に分割でき、特定のタグの変更トラッキングでは同じタグで実行されたスクレイプのみが比較対象になります。指定しない場合は、デフォルトのタグ(null)が使用されます。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "レスポンスに含める出力フォーマットを指定します。1つ以上のフォーマットを、文字列(例:`'markdown'`)または追加オプションを持つオブジェクト(例:`{ type: 'json', schema: {...} }`)として指定できます。一部のフォーマットでは、特定のオプションを設定する必要があります。例:`['markdown', { type: 'json', schema: {...} }]`。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "ヘッダーやナビゲーション、フッターなどを除き、ページのメインコンテンツのみを返します。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力に含めるタグ"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "出力に含めないタグ。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "ページのキャッシュがこの値(ミリ秒)以内のものであれば、そのキャッシュ済みバージョンを返します。ページのキャッシュがこの値より古い場合は、新たにスクレイピングを行います。極めて新鮮なデータが不要な場合は、これを有効にすることでスクレイピングを最大5倍高速化できます。デフォルトは2日です。",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "リクエストに付与するヘッダー。Cookie や User-Agent などを送信するために使用できます。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "コンテンツを取得する前に待機する時間をミリ秒単位で指定します。これにより、ページが十分に読み込まれるための時間を確保できます。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "モバイル端末でのスクレイピングをエミュレートしたい場合は true に設定します。レスポンシブページのテストやモバイル向けスクリーンショットの取得に便利です。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "リクエスト時に TLS 証明書検証をスキップする",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "リクエストのタイムアウトまでの時間(ミリ秒単位)。"
+ },
+ "parsers": {
+ "type": "array",
+ "description": "スクレイピング時のファイルの処理方法を制御します。\"pdf\" が含まれている場合(デフォルト)、PDF の内容が抽出されて Markdown 形式に変換され、ページ数に応じて課金されます(1 ページあたり 1 クレジット)。空の配列が渡された場合、PDF ファイルは base64 でエンコードされた状態で返され、合計 1 クレジットの一律料金となります。",
+ "items": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "コンテンツを取得する前にページで実行するアクション",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "指定したミリ秒数だけ待機します"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "待機時間(ミリ秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクタ",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "スクリーンショットを撮影します。リンクはレスポンスの `actions.screenshots` 配列に格納されます。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "ページ全体のスクリーンショットを取得するか、現在の表示領域に限定するかを指定します。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "スクリーンショットの画質を1〜100で指定します。100が最高画質です。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "ビューポートの幅(ピクセル単位)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "ビューポートの高さ(ピクセル単位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "要素をクリック"
+ },
+ "selector": {
+ "type": "string",
+ "description": "要素を検索するためのクエリセレクター",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "セレクターに一致した要素を最初の1つだけでなくすべてクリックします。セレクターに一致する要素が存在しない場合でも、エラーはスローされません。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "入力フィールド、テキストエリア、または contenteditable 属性を持つ要素にテキストを入力します。注意: テキストを入力する前に、必ず「click」アクションでその要素へフォーカスを移してください。テキストはキーボード入力をシミュレートするため、1文字ずつ入力されます。"
+ },
+ "text": {
+ "type": "string",
+ "description": "入力テキスト",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "ページ上でキーを押してください。キーコードについては https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html を参照してください。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "ページ上で任意のキーを押してください"
+ },
+ "key": {
+ "type": "string",
+ "description": "押下キー",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "ページ全体または特定の要素をスクロールする"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "スクロール方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "スクロールさせる要素のクエリセレクター",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "現在のページのコンテンツをスクレイピングし、URL と HTML を返します。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "ページ上で JavaScript コードを実行する"
+ },
+ "script": {
+ "type": "string",
+ "description": "実行する JavaScript コード",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "現在のページのPDFを生成します。生成されたPDFは、レスポンスの `actions.pdfs` 配列として返されます。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成される PDF のページサイズ",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "PDFを横向きで生成するかどうか",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成されるPDFの拡大縮小倍率",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "リクエストのロケーション設定。指定された場合、利用可能であれば適切なプロキシを使用し、対応する言語およびタイムゾーン設定をエミュレートします。未指定の場合はデフォルトで「US」が使用されます。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 形式の国コード(例: 「US」「AU」「DE」「JP」)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "リクエストに対して優先度順に指定する言語およびロケール。指定しない場合は、指定された location の言語がデフォルトになります。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language を参照してください。",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "出力からすべての base64 画像を削除します。base64 画像は出力を極端に長くしてしまう可能性があります。画像の alt テキストは出力内に残りますが、URL はプレースホルダーに置き換えられます。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "広告ブロックとクッキー同意ポップアップのブロックを有効にします。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "使用するプロキシの種類を指定します。\n\n - **basic**: ボット対策がない、またはごく基本的なボット対策のみを行っているサイト向けのプロキシです。高速で、通常は問題なく動作します。\n - **stealth**: 高度なボット対策を行っているサイト向けのステルスプロキシです。速度は遅くなりますが、特定のサイトではより信頼性があります。1リクエストあたり最大 5 クレジット消費されます。\n - **auto**: basic プロキシが失敗した場合、Firecrawl が自動的にステルスプロキシでスクレイピングをリトライします。ステルスでのリトライが成功した場合、そのスクレイピングには 5 クレジットが請求されます。最初の basic での試行が成功した場合は、通常のコストのみが請求されます。\n\nプロキシを指定しない場合、Firecrawl のデフォルトは auto になります。",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "true にすると、そのページは Firecrawl のインデックスおよびキャッシュに保存されます。スクレイピング処理においてデータ保護上の懸念がある場合は、これを false に設定しておくと有用です。機密性の高いスクレイピングに関連する一部のパラメーター(アクション、ヘッダー)を使用すると、このパラメーターは自動的に false に設定されます。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `summary` が含まれている場合のページ要約"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `html` が含まれている場合の、そのページのコンテンツの HTML バージョン"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `rawHtml` が含まれている場合の、そのページの生の HTML コンテンツ"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`formats` に `screenshot` が含まれている場合のページのスクリーンショット画像"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`formats` に `links` が含まれている場合、そのページ内のリンクの一覧"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` パラメーターで指定されたアクションの結果です。リクエストで `actions` パラメーターが指定されている場合にのみ返されます",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "提供されたスクリーンショットアクションと同じ順序で並んだスクリーンショットURL。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "指定されたアクションの順序どおりにコンテンツをスクレイピングします。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "指定した executeJavascript アクションと同じ順序の JavaScript の戻り値です。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "指定した pdf アクションと同じ順序で生成される PDF。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラー メッセージ"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "LLM Extraction を使用しているときに表示されることがあります。警告メッセージによって、抽出に関する問題が通知されます。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "`formats` に `changeTracking` が含まれている場合の変更追跡情報です。`changeTracking` フォーマットがリクエストされた場合にのみ含まれます。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "現在のページと比較対象となる前回スクレイプのタイムスタンプ。前回のスクレイプが存在しない場合は null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "2 つのページバージョン間の比較結果です。'new' はこのページが以前は存在していなかったこと、'same' はコンテンツが変更されていないこと、'changed' はコンテンツが変更されたこと、'removed' はページが削除されたことを意味します。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "現在のページ/URL の可視性を示します。'visible' は、その URL がリンクやサイトマップなどのオーガニックな経路で検出されたことを意味し、'hidden' は、その URL が過去のクロールからのメモリ(記録)に基づいて検出されたことを意味します。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "'git-diff' モード使用時の、変更内容の Git スタイルの差分。モードが 'git-diff' に設定されている場合にのみ出力されます。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "「json」モード使用時のJSON比較結果。モードが「json」に設定されている場合にのみ出力されます。`schema` 内で定義された型に基づき、`previous` と `current` のスクレイピング結果から抽出したすべてのキーとその値の一覧を出力します。例は [こちら](/features/change-tracking) を参照してください。"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "現在のクロールのステータスです。`scraping`、`completed`、`failed` のいずれかになります。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "クロールを試みたページの総数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にクロールできたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "クロールに使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "クロールが期限切れになる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の 10MB のデータを取得するための URL。クロールが完了していない場合、またはレスポンスが 10MB を超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "クロールデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合に含まれる、そのページのコンテンツの HTML バージョン"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合に含まれるページの生 HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合のページ内リンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合に取得されるページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "エラーが発生したスクレイプジョブとエラー詳細",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失敗発生時のISOタイムスタンプ"
+ },
+ "url": {
+ "type": "string",
+ "description": "スクレイピングしたURL"
+ },
+ "error": {
+ "type": "string",
+ "description": "エラーメッセージ"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "スクレイピング試行時に robots.txt によってブロックされた URL の一覧",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "バッチスクレイプの現在の状態です。値は `scraping`、`completed`、`failed` のいずれかです。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "スクレイピングを試みたページの総数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "正常にスクレイピングされたページ数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "バッチスクレイピングで使用されたクレジット数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "バッチスクレイプの有効期限が切れる日時。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "次の10MB分のデータを取得するためのURL。バッチスクレイプが完了していない場合、またはレスポンスが10MBを超える場合に返されます。"
+ },
+ "data": {
+ "type": "array",
+ "description": "バッチスクレイピングのデータ。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` が true の場合の、そのページコンテンツの HTML 版"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeRawHtml` が true の場合のページの生 HTML コンテンツ"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` が true の場合の、ページ上のリンク一覧"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` が true の場合に取得されるページのスクリーンショット"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "ページのステータスコード"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "ページのエラーメッセージ"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true の場合、このフィールドには、リクエスト内で指定された無効な URL を含む配列が入ります。無効な URL がなかった場合は、空の配列になります。ignoreInvalidURLs が false の場合、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "ignoreInvalidURLs が true のとき、ここにはリクエストで指定された無効な URL を含む配列が入ります。無効な URL が存在しない場合、この配列は空になります。ignoreInvalidURLs が false のとき、このフィールドは undefined になります。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "抽出ジョブの現在の状態"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "抽出ジョブで使用されたトークン数。ジョブが完了している場合にのみ利用可能です。"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ja/v1/features/alpha/llmstxt-npx.mdx b/ja/v1/features/alpha/llmstxt-npx.mdx
index c7cac513..e4df762d 100644
--- a/ja/v1/features/alpha/llmstxt-npx.mdx
+++ b/ja/v1/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Firecrawl API を使用して CLI で LLMs.txt ファイルを生成するシン
npx generate-llmstxt --api-key YOUR_FIRECRAWL_API_KEY
```
-
### 2. 環境変数を使用する
@@ -47,7 +46,6 @@ FIRECRAWL_API_KEY=ここにあなたのAPIキー
npx generate-llmstxt
```
-
### オプション
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## 必要条件
diff --git a/ja/v1/features/change-tracking.mdx b/ja/v1/features/change-tracking.mdx
index 59542fc9..3e274078 100644
--- a/ja/v1/features/change-tracking.mdx
+++ b/ja/v1/features/change-tracking.mdx
@@ -69,7 +69,6 @@ console.log(result.changeTracking.previousScrapeAt); // 前回スクレイプ日
}
```
-
### 詳細オプション
変更追跡は追加のオプションで設定できます:
@@ -104,7 +103,6 @@ if (result.changeTracking.json) {
}
```
-
### Git diff の結果例:
@@ -118,7 +116,6 @@ if (result.changeTracking.json) {
...
```
-
### JSON 比較結果の例
@@ -132,7 +129,6 @@ if (result.changeTracking.json) {
}
```
-
### TypeScript インターフェイス
@@ -181,7 +177,6 @@ interface ScrapeParams {
}
```
-
## Python SDK
@@ -206,7 +201,6 @@ print("可視状態:", result.changeTracking.visibility) # 'visible' または
print("前回のスクレイプ時刻:", result.changeTracking.previousScrapeAt) # 前回スクレイプのISOタイムスタンプ
```
-
### 高度なオプション
@@ -241,7 +235,6 @@ if 'json' in result.changeTracking:
print(result.changeTracking.json.title.current) # 現在のタイトル
```
-
### Pythonデータモデル
@@ -260,7 +253,6 @@ class ChangeTrackingData(pydantic.BaseModel):
json: Optional[Any] = None
```
-
## 変更追跡モード
@@ -287,7 +279,6 @@ class ChangeTrackingData(pydantic.BaseModel):
* `chunks`: ファイル内の変更セクション
* `changes`: 種別(add、delete、normal)付きの個々の行変更
-
### JSONモード
@@ -311,7 +302,6 @@ class ChangeTrackingData(pydantic.BaseModel):
JSONモードを使用するには、抽出と比較の対象となるフィールドを定義したスキーマを用意する必要があります。
-
## 重要なポイント
@@ -362,7 +352,6 @@ change tracking 機能を使用する際に知っておくべき重要事項は
}
```
-
### クロール例
@@ -377,7 +366,6 @@ change tracking 機能を使用する際に知っておくべき重要事項は
}
```
-
### 商品価格の変動を追跡
@@ -423,7 +411,6 @@ if result.changeTracking.changeStatus == 'changed':
print(f"価格が {result.changeTracking.json.price.previous} から {result.changeTracking.json.price.current} に変わりました")
```
-
### Git diff を使ったコンテンツ変更の監視
@@ -457,7 +444,6 @@ if result.changeTracking.changeStatus == 'changed':
print(result.changeTracking.diff.text)
```
-
## 請求
diff --git a/ja/v1/features/extract.mdx b/ja/v1/features/extract.mdx
index ebf9f3c7..1e34b63a 100644
--- a/ja/v1/features/extract.mdx
+++ b/ja/v1/features/extract.mdx
@@ -33,7 +33,6 @@ import ExtractWithoutURLsCURL from "/snippets/ja/v1/extract/base/curl.mdx";
課金を簡素化し、Extract も他のエンドポイントと同様にクレジット制になりました。1 クレジットは 15 トークンに相当します。
-
diff --git a/ja/v1/features/search-v0.mdx b/ja/v1/features/search-v0.mdx
index a9ee12ea..f359aaa0 100644
--- a/ja/v1/features/search-v0.mdx
+++ b/ja/v1/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Python SDK を使用する
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### クエリを検索
@@ -94,7 +92,6 @@ result = app.search(query="Firecrawlとは何ですか?")
上の curl コマンドにある例と同様のレスポンスが返されます。
-
### JavaScript SDK を使用する場合
@@ -107,7 +104,6 @@ result = app.search(query="Firecrawlとは何ですか?")
npm install @mendable/firecrawl-js
```
-
#### クエリを検索
@@ -124,7 +120,6 @@ const result = await app.search('Firecrawl とは?');
レスポンスは、上の curl コマンドで示したものと同様の内容になります。
-
### Go SDK で
@@ -137,7 +132,6 @@ const result = await app.search('Firecrawl とは?');
go get github.com/mendableai/firecrawl-go
```
-
#### クエリを検索
@@ -165,7 +159,6 @@ func main() {
}
```
-
### Rust SDK の使用
@@ -188,7 +181,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### クエリを検索
diff --git a/ja/webhooks/events.mdx b/ja/webhooks/events.mdx
index 84653351..10b712f2 100644
--- a/ja/webhooks/events.mdx
+++ b/ja/webhooks/events.mdx
@@ -24,7 +24,6 @@ icon: 'bolt'
}
```
-
### 共通フィールド
@@ -60,7 +59,6 @@ icon: 'bolt'
}
```
-
### `crawl.page`
@@ -98,7 +96,6 @@ icon: 'bolt'
これはクロール中に最も頻繁に発生するイベントです。スクレイプに成功した各ページごとに、`crawl.page` イベントを1件受け取ります。
-
### `crawl.completed`
@@ -115,7 +112,6 @@ icon: 'bolt'
}
```
-
## バッチスクレイプイベント
@@ -138,7 +134,6 @@ icon: 'bolt'
}
```
-
### `batch_scrape.page`
@@ -177,7 +172,6 @@ icon: 'bolt'
`batch_scrape.page` イベントが1件届きます。
-
### `batch_scrape.completed`
@@ -194,7 +188,6 @@ icon: 'bolt'
}
```
-
@@ -217,7 +210,6 @@ LLM を用いたデータ抽出処理。
}
```
-
@@ -246,7 +238,6 @@ LLM を用いたデータ抽出処理。
}
```
-
@@ -264,7 +255,6 @@ LLM を用いたデータ抽出処理。
}
```
-
## イベントのフィルタリング
diff --git a/ja/webhooks/testing.mdx b/ja/webhooks/testing.mdx
index 9d696b63..49e067a9 100644
--- a/ja/webhooks/testing.mdx
+++ b/ja/webhooks/testing.mdx
@@ -43,7 +43,6 @@ Webhook の設定で、提供された URL を使用してください:
}
```
-
## よくある問題のデバッグ
diff --git a/ja/x402/search.mdx b/ja/x402/search.mdx
index a9e64737..4a1b0a0d 100644
--- a/ja/x402/search.mdx
+++ b/ja/x402/search.mdx
@@ -1,6 +1,6 @@
---
title: "オンデマンド検索"
-openapi: 'v1-openapi POST /x402/search'
+openapi: '/ja/api-reference/v1-openapi.json V1-OPENAPI POST /x402/search'
---
diff --git a/pt-BR/_essentials/code.mdx b/pt-BR/_essentials/code.mdx
index a31ca881..d5ec66e0 100644
--- a/pt-BR/_essentials/code.mdx
+++ b/pt-BR/_essentials/code.mdx
@@ -18,7 +18,6 @@ Para indicar uma `palavra` ou `frase` como código, envolva-a com crases (`).
Para indicar uma `palavra` ou `frase` como código, coloque-a entre crases (`).
```
-
### Bloco de código
diff --git a/pt-BR/_essentials/markdown.mdx b/pt-BR/_essentials/markdown.mdx
index 9f87e6f7..9282834b 100644
--- a/pt-BR/_essentials/markdown.mdx
+++ b/pt-BR/_essentials/markdown.mdx
@@ -17,7 +17,6 @@ Mais indicado para cabeçalhos de seção.
```
-
### Subtítulos
@@ -32,7 +31,6 @@ Melhor usados para cabeçalhos de subseções.
Cada **título** e **subtítulo** cria uma âncora e também aparece no sumário à direita.
-
## Formatação de texto
@@ -80,7 +78,6 @@ Para criar uma citação em bloco, adicione um `>` antes de um parágrafo.
> Dorothy a seguiu por muitos dos belos cômodos do seu castelo.
```
-
### Multilinha
@@ -95,7 +92,6 @@ Para criar uma citação em bloco, adicione um `>` antes de um parágrafo.
> A Bruxa mandou que ela lavasse as panelas e chaleiras, varresse o chão e mantivesse o fogo alimentado com lenha.
```
-
### LaTeX
diff --git a/pt-BR/_essentials/navigation.mdx b/pt-BR/_essentials/navigation.mdx
index 3cfd0990..08423a03 100644
--- a/pt-BR/_essentials/navigation.mdx
+++ b/pt-BR/_essentials/navigation.mdx
@@ -63,7 +63,6 @@ Por exemplo, para ter uma página em `https://yoursite.com/your-folder/your-page
]
```
-
## Páginas ocultas
diff --git a/pt-BR/advanced-scraping-guide.mdx b/pt-BR/advanced-scraping-guide.mdx
index 80704555..a34419bd 100644
--- a/pt-BR/advanced-scraping-guide.mdx
+++ b/pt-BR/advanced-scraping-guide.mdx
@@ -242,7 +242,6 @@ Neste exemplo, o scraper vai:
Aqui está a referência da API: [Documentação do endpoint /scrape](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -263,7 +262,6 @@ curl -X POST https://api.firecrawl.dev/v2/scrape \
}'
```
-
@@ -336,7 +334,6 @@ Retorna um ID
{ "id": "1234-5678-9101" }
```
-
### Verificar job de rastreamento
@@ -349,7 +346,6 @@ curl -X GET https://api.firecrawl.dev/v2/crawl/1234-5678-9101 \
-H 'Authorization: Bearer fc-SUA-API-KEY'
```
-
@@ -372,7 +368,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl/params-preview \
}'
```
-
### Opções do crawler
@@ -468,7 +463,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl \
}'
```
-
## Mapeando links do site
@@ -488,7 +482,6 @@ curl -X POST https://api.firecrawl.dev/v2/map \
}'
```
-
### Opções de mapa
diff --git a/pt-BR/agents/fire-1-extract.mdx b/pt-BR/agents/fire-1-extract.mdx
index 2af2b81a..08552353 100644
--- a/pt-BR/agents/fire-1-extract.mdx
+++ b/pt-BR/agents/fire-1-extract.mdx
@@ -52,7 +52,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
Neste exemplo, o FIRE-1 (Agente) é instruído a navegar pela paginação das listagens de produtos antes que a raspagem final seja executada.
-
@@ -94,7 +93,6 @@ curl -X POST https://api.firecrawl.dev/v1/extract \
Aqui, o agente garante que todos os comentários sejam carregados na página ao clicar no botão "Load More Comments" antes que o processo de extração comece, conforme o esquema e o prompt fornecidos.
**Observação:** O agente FIRE-1 oferece recursos avançados, mas pode consumir mais créditos dependendo da complexidade das instruções de navegação e da quantidade de páginas com as quais interagir.
-
### Conheça o FIRE-1: navegação e interação inteligentes
@@ -126,7 +124,6 @@ Ativar o FIRE-1 é simples. Basta incluir um objeto `agent` na sua solicitação
*Nota:* O campo `prompt` é obrigatório em solicitações ao endpoint /scrape, indicando exatamente ao FIRE-1 como interagir com a página da web.
-
## Exemplo de uso com o endpoint /scrape
@@ -149,7 +146,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
Neste cenário, o FIRE-1 navega pela paginação de forma inteligente e coleta todos os produtos.
-
## Considerações
diff --git a/pt-BR/agents/fire-1.mdx b/pt-BR/agents/fire-1.mdx
index f2663a63..754b151d 100644
--- a/pt-BR/agents/fire-1.mdx
+++ b/pt-BR/agents/fire-1.mdx
@@ -13,7 +13,6 @@ import ExtractFire1CURL from "/snippets/pt-BR/v1/scrape/agent-f1/python.mdx";
FIRE-1 é um agente de IA que potencializa os recursos de scraping do Firecrawl. Ele pode controlar ações do navegador e navegar por estruturas complexas de sites para possibilitar uma extração de dados mais completa do que os métodos tradicionais de scraping.
-
### O que o FIRE-1 pode fazer:
diff --git a/pt-BR/api-reference/endpoint/batch-scrape-delete.mdx b/pt-BR/api-reference/endpoint/batch-scrape-delete.mdx
index 6b7a1fd9..c1a82ca7 100644
--- a/pt-BR/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/pt-BR/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,4 +1,4 @@
---
title: "Cancelar raspagem em lote"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/batch-scrape-get-errors.mdx b/pt-BR/api-reference/endpoint/batch-scrape-get-errors.mdx
index 2b6a3006..24d70c50 100644
--- a/pt-BR/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/pt-BR/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: 'Obter erros de scraping em lote'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/batch-scrape-get.mdx b/pt-BR/api-reference/endpoint/batch-scrape-get.mdx
index 939f89cb..9bec02c0 100644
--- a/pt-BR/api-reference/endpoint/batch-scrape-get.mdx
+++ b/pt-BR/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Obter status do scrape em lote'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/batch-scrape.mdx b/pt-BR/api-reference/endpoint/batch-scrape.mdx
index 7e99adb7..c492431d 100644
--- a/pt-BR/api-reference/endpoint/batch-scrape.mdx
+++ b/pt-BR/api-reference/endpoint/batch-scrape.mdx
@@ -1,4 +1,4 @@
---
title: 'Raspar em lote'
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/crawl-active.mdx b/pt-BR/api-reference/endpoint/crawl-active.mdx
index 053d51b1..e7cf8936 100644
--- a/pt-BR/api-reference/endpoint/crawl-active.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-active.mdx
@@ -1,4 +1,4 @@
---
title: "Obter rastreamentos ativos"
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/crawl-delete.mdx b/pt-BR/api-reference/endpoint/crawl-delete.mdx
index 740255e2..6fe8d1d4 100644
--- a/pt-BR/api-reference/endpoint/crawl-delete.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-delete.mdx
@@ -1,4 +1,4 @@
---
title: "Cancelar crawl"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/crawl-get-errors.mdx b/pt-BR/api-reference/endpoint/crawl-get-errors.mdx
index 2e08edd0..a4394ac8 100644
--- a/pt-BR/api-reference/endpoint/crawl-get-errors.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: 'Obter erros do crawl'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/crawl-get.mdx b/pt-BR/api-reference/endpoint/crawl-get.mdx
index 8832fda3..f8340afc 100644
--- a/pt-BR/api-reference/endpoint/crawl-get.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Obter status do crawl'
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/crawl-params-preview.mdx b/pt-BR/api-reference/endpoint/crawl-params-preview.mdx
index d7b5e131..95dc9bcc 100644
--- a/pt-BR/api-reference/endpoint/crawl-params-preview.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-params-preview.mdx
@@ -1,6 +1,6 @@
---
title: 'Prévia de Parâmetros de Crawler'
-openapi: 'v2-openapi POST /crawl/params-preview'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /crawl/params-preview'
---
@@ -18,7 +18,6 @@ openapi: 'v2-openapi POST /crawl/params-preview'
}
```
-
### Resposta
diff --git a/pt-BR/api-reference/endpoint/crawl-post.mdx b/pt-BR/api-reference/endpoint/crawl-post.mdx
index 70ec7f7b..5f6eeea9 100644
--- a/pt-BR/api-reference/endpoint/crawl-post.mdx
+++ b/pt-BR/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl"
-openapi: 'v2-openapi POST /crawl'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -22,7 +22,6 @@ Descreva o que rastrear em inglês claro:
Isso mapeará o prompt para um conjunto de configurações do crawler para executar a varredura.
-
### Controle de Sitemap Aprimorado
diff --git a/pt-BR/api-reference/endpoint/credit-usage-historical.mdx b/pt-BR/api-reference/endpoint/credit-usage-historical.mdx
index 2094c5ef..906b8e36 100644
--- a/pt-BR/api-reference/endpoint/credit-usage-historical.mdx
+++ b/pt-BR/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de créditos'
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
Retorna o uso histórico de créditos mês a mês. O endpoint também pode, opcionalmente, detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/credit-usage.mdx b/pt-BR/api-reference/endpoint/credit-usage.mdx
index 2a05abd0..1e27f215 100644
--- a/pt-BR/api-reference/endpoint/credit-usage.mdx
+++ b/pt-BR/api-reference/endpoint/credit-usage.mdx
@@ -1,4 +1,4 @@
---
title: 'Uso de créditos'
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/extract-get.mdx b/pt-BR/api-reference/endpoint/extract-get.mdx
index ddb841fb..ea5c09a6 100644
--- a/pt-BR/api-reference/endpoint/extract-get.mdx
+++ b/pt-BR/api-reference/endpoint/extract-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Obter status da extração'
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/extract.mdx b/pt-BR/api-reference/endpoint/extract.mdx
index 54a5817a..32e7e33a 100644
--- a/pt-BR/api-reference/endpoint/extract.mdx
+++ b/pt-BR/api-reference/endpoint/extract.mdx
@@ -1,4 +1,4 @@
---
title: 'Extrair'
-openapi: 'v2-openapi POST /extract'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/map.mdx b/pt-BR/api-reference/endpoint/map.mdx
index 620e4a10..4d88cc87 100644
--- a/pt-BR/api-reference/endpoint/map.mdx
+++ b/pt-BR/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map"
-openapi: 'v2-openapi POST /map'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /map'
---
@@ -24,7 +24,6 @@ Três formas de lidar com sitemaps:
}
```
-
### Formato de resposta atualizado
diff --git a/pt-BR/api-reference/endpoint/queue-status.mdx b/pt-BR/api-reference/endpoint/queue-status.mdx
index 4c734f6e..e4a0b557 100644
--- a/pt-BR/api-reference/endpoint/queue-status.mdx
+++ b/pt-BR/api-reference/endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "Status da fila"
-openapi: 'v2-openapi GET /team/queue-status'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /team/queue-status'
---
Métricas sobre a fila de scraping da sua equipe.
\ No newline at end of file
diff --git a/pt-BR/api-reference/endpoint/scrape.mdx b/pt-BR/api-reference/endpoint/scrape.mdx
index 1d3f8dad..90130ca6 100644
--- a/pt-BR/api-reference/endpoint/scrape.mdx
+++ b/pt-BR/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Raspar'
-openapi: 'v2-openapi POST /scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
diff --git a/pt-BR/api-reference/endpoint/search.mdx b/pt-BR/api-reference/endpoint/search.mdx
index 296b00b3..09fee677 100644
--- a/pt-BR/api-reference/endpoint/search.mdx
+++ b/pt-BR/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Pesquisa"
-openapi: 'v2-openapi POST /search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -20,7 +20,6 @@ Pesquise na web, em imagens e em notícias ao mesmo tempo:
}
```
-
### Formato da resposta alterado
@@ -38,7 +37,6 @@ v1: lista simples de resultados. v2: organizado por tipo de origem:
}
```
-
### Novos recursos
@@ -94,7 +92,6 @@ Exemplos: `"US"`, `"DE"`, `"FR"`, `"JP"`, `"UK"`, `"CA"`.
}
```
-
## Parâmetro categories
@@ -117,7 +114,6 @@ Filtre os resultados da busca por categorias específicas usando o parâmetro `c
}
```
-
### Resposta de categoria
@@ -146,7 +142,6 @@ Cada resultado inclui um campo `category` indicando sua origem:
}
```
-
## Pesquisa por período
diff --git a/pt-BR/api-reference/endpoint/token-usage-historical.mdx b/pt-BR/api-reference/endpoint/token-usage-historical.mdx
index f3324005..aa4db1d1 100644
--- a/pt-BR/api-reference/endpoint/token-usage-historical.mdx
+++ b/pt-BR/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "Uso Histórico de Tokens"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/token-usage/historical'
---
Retorna o uso histórico de tokens mês a mês. O endpoint também pode, opcionalmente, detalhar o uso por chave de API.
diff --git a/pt-BR/api-reference/endpoint/token-usage.mdx b/pt-BR/api-reference/endpoint/token-usage.mdx
index 9e5120a4..606a62b2 100644
--- a/pt-BR/api-reference/endpoint/token-usage.mdx
+++ b/pt-BR/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Uso de tokens"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
Simplificamos a cobrança: o Extract agora usa créditos, assim como os demais endpoints. Cada crédito equivale a 15 tokens. A medição de tokens agora inclui o consumo de todos os endpoints.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/batch-scrape-delete.mdx b/pt-BR/api-reference/v1-endpoint/batch-scrape-delete.mdx
index 885f9aa5..1d57d8a4 100644
--- a/pt-BR/api-reference/v1-endpoint/batch-scrape-delete.mdx
+++ b/pt-BR/api-reference/v1-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancelar raspagem em lote'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-delete) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/batch-scrape-get-errors.mdx b/pt-BR/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
index efe44ca3..e067a621 100644
--- a/pt-BR/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
+++ b/pt-BR/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros de raspagem em lote'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-get-errors) está disponível, com melhorias no relatório de erros e na depuração.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/batch-scrape-get.mdx b/pt-BR/api-reference/v1-endpoint/batch-scrape-get.mdx
index f1ecf9c7..35214218 100644
--- a/pt-BR/api-reference/v1-endpoint/batch-scrape-get.mdx
+++ b/pt-BR/api-reference/v1-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status do batch scrape'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-get) está disponível, com melhorias no acompanhamento de status e nos recursos de monitoramento.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/batch-scrape.mdx b/pt-BR/api-reference/v1-endpoint/batch-scrape.mdx
index 589a3068..6363deb5 100644
--- a/pt-BR/api-reference/v1-endpoint/batch-scrape.mdx
+++ b/pt-BR/api-reference/v1-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Raspagem em lote'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape) está disponível, com desempenho e confiabilidade aprimorados no processamento em lote.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/crawl-active.mdx b/pt-BR/api-reference/v1-endpoint/crawl-active.mdx
index f62aac36..57c7c3ec 100644
--- a/pt-BR/api-reference/v1-endpoint/crawl-active.mdx
+++ b/pt-BR/api-reference/v1-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: 'Rastreamentos ativos'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-active) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/crawl-delete.mdx b/pt-BR/api-reference/v1-endpoint/crawl-delete.mdx
index 8756366d..705a97dc 100644
--- a/pt-BR/api-reference/v1-endpoint/crawl-delete.mdx
+++ b/pt-BR/api-reference/v1-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancelar crawl'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-delete) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/crawl-get-errors.mdx b/pt-BR/api-reference/v1-endpoint/crawl-get-errors.mdx
index 96eec62c..f500e958 100644
--- a/pt-BR/api-reference/v1-endpoint/crawl-get-errors.mdx
+++ b/pt-BR/api-reference/v1-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros de crawl'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-get-errors) está disponível com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/crawl-get.mdx b/pt-BR/api-reference/v1-endpoint/crawl-get.mdx
index 7fd6351c..959caf0c 100644
--- a/pt-BR/api-reference/v1-endpoint/crawl-get.mdx
+++ b/pt-BR/api-reference/v1-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Ver status do crawl'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-get) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/crawl-post.mdx b/pt-BR/api-reference/v1-endpoint/crawl-post.mdx
index 6a96e566..925c90a4 100644
--- a/pt-BR/api-reference/v1-endpoint/crawl-post.mdx
+++ b/pt-BR/api-reference/v1-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl"
-openapi: 'v1-openapi POST /crawl'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> Nota: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-post) está disponível com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/credit-usage-historical.mdx b/pt-BR/api-reference/v1-endpoint/credit-usage-historical.mdx
index 8dc58d0f..d2952268 100644
--- a/pt-BR/api-reference/v1-endpoint/credit-usage-historical.mdx
+++ b/pt-BR/api-reference/v1-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso Histórico de Crédititos'
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
Retorna o uso histórico de créditos mês a mês. O endpoint também pode, opcionalmente, detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/credit-usage.mdx b/pt-BR/api-reference/v1-endpoint/credit-usage.mdx
index 15f7b703..aabe4afc 100644
--- a/pt-BR/api-reference/v1-endpoint/credit-usage.mdx
+++ b/pt-BR/api-reference/v1-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Uso de créditos'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/credit-usage) já está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/deep-research-get.mdx b/pt-BR/api-reference/v1-endpoint/deep-research-get.mdx
index 803058d1..f690d2e7 100644
--- a/pt-BR/api-reference/v1-endpoint/deep-research-get.mdx
+++ b/pt-BR/api-reference/v1-endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "Pesquisa aprofundada"
-openapi: "v1-openapi GET /deep-research/{id}"
+openapi: "/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}"
---
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/deep-research.mdx b/pt-BR/api-reference/v1-endpoint/deep-research.mdx
index 3dbe3081..d99cb891 100644
--- a/pt-BR/api-reference/v1-endpoint/deep-research.mdx
+++ b/pt-BR/api-reference/v1-endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
O endpoint Deep Research possibilita pesquisa e análise aprofundadas com IA sobre qualquer tema. Basta fornecer uma consulta de pesquisa e o Firecrawl explorará a web de forma autônoma, reunirá informações relevantes e sintetizará os achados em insights abrangentes.
diff --git a/pt-BR/api-reference/v1-endpoint/extract-get.mdx b/pt-BR/api-reference/v1-endpoint/extract-get.mdx
index 20ad4199..86ec6d30 100644
--- a/pt-BR/api-reference/v1-endpoint/extract-get.mdx
+++ b/pt-BR/api-reference/v1-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Verificar status da extração'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/extract-get) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/extract.mdx b/pt-BR/api-reference/v1-endpoint/extract.mdx
index 6188d0bc..9cddec8e 100644
--- a/pt-BR/api-reference/v1-endpoint/extract.mdx
+++ b/pt-BR/api-reference/v1-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> Observação: Uma [nova versão v2 desta API](/pt-BR/api-reference/endpoint/extract) já está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/llmstxt-get.mdx b/pt-BR/api-reference/v1-endpoint/llmstxt-get.mdx
index b74b8f22..fc2f9933 100644
--- a/pt-BR/api-reference/v1-endpoint/llmstxt-get.mdx
+++ b/pt-BR/api-reference/v1-endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "Status do LLMs.txt"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
Obtenha o status e os resultados de uma tarefa de geração do LLMs.txt. Este endpoint permite verificar se a geração foi concluída e recuperar o conteúdo gerado.
@@ -69,7 +69,6 @@ Se a tarefa de geração falhar ou não for encontrada, você receberá uma resp
}
```
-
### Recomendações de polling
diff --git a/pt-BR/api-reference/v1-endpoint/llmstxt.mdx b/pt-BR/api-reference/v1-endpoint/llmstxt.mdx
index 1214f070..38fbb135 100644
--- a/pt-BR/api-reference/v1-endpoint/llmstxt.mdx
+++ b/pt-BR/api-reference/v1-endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "Gerar LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
O endpoint de geração de LLMs.txt cria os arquivos LLMs.txt e LLMs-full.txt para qualquer site. Esses arquivos fornecem um formato estruturado e compatível com LLMs do conteúdo do site, facilitando que modelos de linguagem entendam e processem as informações.
diff --git a/pt-BR/api-reference/v1-endpoint/map.mdx b/pt-BR/api-reference/v1-endpoint/map.mdx
index 85c1a83d..11794c83 100644
--- a/pt-BR/api-reference/v1-endpoint/map.mdx
+++ b/pt-BR/api-reference/v1-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> Observação: Uma nova [versão v2 deste endpoint](/pt-BR/api-reference/endpoint/map) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/queue-status.mdx b/pt-BR/api-reference/v1-endpoint/queue-status.mdx
index 5e9ee8a1..b58a8148 100644
--- a/pt-BR/api-reference/v1-endpoint/queue-status.mdx
+++ b/pt-BR/api-reference/v1-endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: 'Status da fila'
-openapi: 'v1-openapi GET /team/queue-status'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /team/queue-status'
---
> Observação: uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/queue-status) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/scrape.mdx b/pt-BR/api-reference/v1-endpoint/scrape.mdx
index 34ea3bd6..f4bee6f3 100644
--- a/pt-BR/api-reference/v1-endpoint/scrape.mdx
+++ b/pt-BR/api-reference/v1-endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/scrape) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/search.mdx b/pt-BR/api-reference/v1-endpoint/search.mdx
index 68a40185..54f0ecd2 100644
--- a/pt-BR/api-reference/v1-endpoint/search.mdx
+++ b/pt-BR/api-reference/v1-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/search) está disponível, com recursos e desempenho aprimorados.
diff --git a/pt-BR/api-reference/v1-endpoint/token-usage-historical.mdx b/pt-BR/api-reference/v1-endpoint/token-usage-historical.mdx
index 5ee17ea8..fb52498d 100644
--- a/pt-BR/api-reference/v1-endpoint/token-usage-historical.mdx
+++ b/pt-BR/api-reference/v1-endpoint/token-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de tokens'
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/token-usage/historical'
---
Retorna o uso histórico de tokens mês a mês. Opcionalmente, o endpoint também pode detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-endpoint/token-usage.mdx b/pt-BR/api-reference/v1-endpoint/token-usage.mdx
index 3e469792..3a9c25c3 100644
--- a/pt-BR/api-reference/v1-endpoint/token-usage.mdx
+++ b/pt-BR/api-reference/v1-endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Uso de tokens'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/token-usage) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/api-reference/v1-openapi.json b/pt-BR/api-reference/v1-openapi.json
new file mode 100644
index 00000000..a3bd513c
--- /dev/null
+++ b/pt-BR/api-reference/v1-openapi.json
@@ -0,0 +1,3656 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "API para interagir com os serviços da Firecrawl e realizar tarefas de web scraping e crawling.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Raspar uma única URL e, opcionalmente, extrair informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser raspada"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará retenção zero de dados para este scrape. Para ativar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Raspe várias URLs e, opcionalmente, extraia informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL a ser coletada"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Um objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para onde o webhook será enviado. Ele será acionado quando a raspagem em lote for iniciada (batch_scrape.started), para cada página raspada (batch_scrape.page) e quando a raspagem em lote for concluída (batch_scrape.completed ou batch_scrape.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos que serão enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipo de eventos a serem enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de raspagens concorrentes. Este parâmetro permite definir um limite de concorrência para esta raspagem em lote. Se não for especificado, a raspagem em lote seguirá o limite de concorrência da sua equipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que toda a requisição falhe, será criada uma raspagem em lote usando apenas as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a não retenção de dados para esta raspagem em lote. Para ativar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenha o status de uma tarefa de raspagem em lote",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar uma tarefa de raspagem em lote",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de raspagem em lote não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter erros de um job de raspagem em lote",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de um rastreamento",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar uma tarefa de rastreamento",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tarefa de rastreamento não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter os erros de uma tarefa de rastreamento",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Rastrear várias URLs de acordo com opções",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL base de onde o rastreamento será iniciado"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para o pathname da URL que excluem URLs correspondentes do crawl. Por exemplo, se você definir `\"excludePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, quaisquer resultados que corresponderem a esse padrão serão excluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para o pathname da URL que definem quais URLs serão incluídas no rastreamento. Somente os caminhos que corresponderem aos padrões especificados serão incluídos na resposta. Por exemplo, se você definir `\"includePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, apenas resultados que correspondam a esse padrão serão incluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profundidade absoluta máxima de rastreamento a partir da base da URL informada. Basicamente, é o número máximo de barras (/) que o pathname de uma URL coletada pode conter.",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de rastreamento com base na ordem de descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta igual a 0. Por exemplo, se você definir como 1 e ativar ignoreSitemap, você só irá rastrear a URL informada e todas as URLs que estiverem linkadas nessa página."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorar o sitemap do site durante o rastreamento",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não reextraia o mesmo path com parâmetros de consulta diferentes (ou sem nenhum)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas a serem rastreadas. O limite padrão é 10.000.",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ DESCONTINUADO: Use \"crawlEntireDomain\" em vez disso. Permite que o crawler siga links internos para URLs irmãs ou URL de nível superior, não apenas caminhos filhos.",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links internos para URLs no mesmo nível (irmãs) ou URLs pai, não apenas caminhos filhos.\n\nfalse: Somente rastreia URLs mais profundas (filhas).\n→ ex.: /features/feature-1 → /features/feature-1/tips ✅\n→ Não seguirá /pricing ou / ❌\n\ntrue: Rastreia qualquer link interno, incluindo URLs no mesmo nível e URLs pai.\n→ ex.: /features/feature-1 → /pricing, /, etc. ✅\n\nUse true para obter uma cobertura interna mais ampla, além de caminhos aninhados.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para sites externos.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permite que o crawler rastreie links que apontam para subdomínios do domínio principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalo, em segundos, entre as coletas. Isso ajuda a respeitar os limites de requisições dos sites."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de raspagens simultâneas. Esse parâmetro permite definir um limite de concorrência para este rastreamento. Se não for especificado, o rastreamento usará o limite de concorrência da sua equipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para a qual o webhook será enviado. O webhook será acionado quando o crawl for iniciado (crawl.started), a cada página rastreada (crawl.page) e quando o crawl for concluído (crawl.completed ou crawl.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos que serão enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipo de eventos que devem ser enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, não haverá retenção de dados para este crawl. Para habilitar esse recurso, entre em contato pelo e-mail help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapear várias URLs de acordo com as opções",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL base de onde iniciar o rastreamento"
+ },
+ "search": {
+ "type": "string",
+ "description": "Consulta de pesquisa usada para mapeamento. Durante a fase Alpha, o componente \"inteligente\" da funcionalidade de pesquisa é limitado a 500 resultados. Porém, se o mapeamento encontrar mais resultados, nenhum limite será aplicado."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorar o sitemap do site durante o rastreamento.",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "Retorne apenas os links encontrados no sitemap do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Incluir subdomínios do site",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de links a retornar",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos. Não há tempo limite definido por padrão."
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização da requisição. Quando definidas, será usado um proxy apropriado, se disponível, e serão emuladas as configurações correspondentes de idioma e fuso horário. O padrão é \"US\" se não for especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO 3166-1 alfa-2 (por exemplo, \"US\", \"AU\", \"DE\", \"JP\")",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferidos para a requisição, em ordem de prioridade. Por padrão, usa o idioma da localidade especificada. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro de servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraia dados estruturados de páginas com LLMs",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "As URLs das quais os dados serão extraídos. As URLs devem estar no formato glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt para guiar o processo de extração"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema que define a estrutura dos dados extraídos. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Quando definido como true, a extração utilizará pesquisa na web para encontrar dados adicionais",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, os arquivos sitemap.xml serão ignorados durante a varredura do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Quando definido como verdadeiro, os subdomínios das URLs fornecidas também serão rastreados",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, as fontes usadas para extrair os dados serão incluídas na resposta como a chave `sources`",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que a requisição inteira falhe, será realizada uma extração usando apenas as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extração concluída com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Solicitação inválida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de extração",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de uma tarefa de extração",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Retorna todos os rastreamentos ativos da equipe autenticada",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "O identificador único do rastreamento"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "O ID da equipe proprietária do crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL de origem do rastreamento"
+ },
+ "options": {
+ "type": "object",
+ "description": "Opções do crawler utilizadas neste rastreamento",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "Iniciar uma operação de pesquisa aprofundada com base em uma consulta",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Consulta de pesquisa"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "Profundidade máxima de iterações de pesquisa"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "Limite de tempo em segundos"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "Número máximo de URLs para analisar"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "O prompt a ser usado na análise final. Útil para definir o formato do markdown da análise final de uma maneira específica."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "O prompt de sistema a ser usado pelo agente de pesquisa. Útil para orientar o agente de pesquisa em uma direção específica."
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Opções de saída em JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "O esquema a ser usado para a saída JSON. Deve estar em conformidade com o padrão [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Prompt de sistema a ser usado para a saída JSON"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para saída em JSON"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Processo de pesquisa iniciado com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID da tarefa de pesquisa"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Parâmetros da requisição inválidos",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID do job de pesquisa",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenha o status e os resultados de uma operação de pesquisa aprofundada",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "Exibido ao utilizar o formato JSON",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página; pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página; pode ser uma string ou um array de strings"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de pesquisa não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obter os créditos restantes da equipe autenticada",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "Número de créditos restantes da equipe",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "Número de créditos do plano. Isso não inclui créditos de cupons, pacotes de créditos ou créditos de recarga automática.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se você estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informação sobre uso de créditos não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtenha o histórico de uso de créditos da equipe autenticada",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obtenha o histórico de uso de créditos por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API usada no período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Número total de créditos utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Obter os tokens restantes para a equipe autenticada (apenas Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "Quantidade de tokens restantes para a equipe",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "Número de tokens incluídos no plano. Não inclui tokens de cupom.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações sobre o uso de tokens não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obtenha o histórico de uso de tokens da equipe autenticada (somente Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obter uso histórico de tokens por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de encerramento do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API utilizada durante o período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Número total de tokens utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "Métricas da fila de scraping da sua equipe",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "Número de jobs atualmente na sua fila"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "Número de jobs ativos atualmente"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "Número de jobs aguardando no momento"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "Número máximo de jobs ativos em execução simultânea, de acordo com o seu plano"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp do job mais recente bem-sucedido",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Pesquisar e, opcionalmente, raspar os resultados da busca",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "A consulta de pesquisa"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de resultados a retornar",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa baseado em tempo. Suporta períodos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de pesquisa"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclui dos resultados de pesquisa as URLs que são inválidas para outros endpoints do Firecrawl. Isso ajuda a reduzir erros se você estiver encaminhando dados da pesquisa para outros endpoints da API do Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "Opções para extrair resultados de busca",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado da pesquisa"
+ },
+ "description": {
+ "type": "string",
+ "description": "Descrição do resultado da pesquisa"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado da pesquisa"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown, se a raspagem tiver sido solicitada"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML, quando solicitado nos formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, se solicitado nos formatos"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitado nos formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, caso tenha sido solicitada em formatos. As capturas de tela expiram após 24 horas e deixam de estar disponíveis para download."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página, pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página; pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de aviso caso ocorra algum problema"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Tempo limite da requisição excedido",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro de servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "Gerar o arquivo LLMs.txt para um site",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL usada para gerar o LLMs.txt"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "Número máximo de URLs para análise",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "Inclua todo o conteúdo de texto na resposta",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Tarefa de geração de LLMs.txt iniciada com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID da tarefa de geração do arquivo LLMs.txt"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Parâmetros de requisição inválidos",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de geração do arquivo LLMs.txt",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status e os resultados de um job de geração do arquivo LLMs.txt",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "O conteúdo gerado do arquivo LLMs.txt"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "O conteúdo de texto completo quando showFullText é true"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Quando o conteúdo gerado vai expirar"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de geração de LLMs.txt não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne apenas o conteúdo principal da página, excluindo cabeçalhos, áreas de navegação, rodapés etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags para incluir na saída."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags a serem excluídas da saída."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retorna uma versão em cache da página se ela tiver menos que essa idade, em milissegundos. Se a versão em cache da página for mais antiga que esse valor, a página será raspada novamente. Se você não precisar de dados extremamente atualizados, ativar essa opção pode acelerar suas raspagens em até 500%. O padrão é 0, o que desativa o cache.",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados com a requisição. Podem ser usados para enviar cookies, user-agent etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Defina um atraso, em milissegundos, antes de buscar o conteúdo, permitindo que a página tenha tempo suficiente para carregar.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Defina como true para emular a raspagem de dados a partir de um dispositivo móvel. Útil para testar páginas responsivas e gerar capturas de tela da versão mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorar a verificação do certificado TLS ao fazer requisições",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite da requisição em milissegundos",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "Controla como os arquivos PDF são processados durante o scraping. Quando definido como true, o conteúdo do PDF é extraído e convertido para o formato Markdown, com cobrança baseada no número de páginas (1 crédito por página). Quando definido como false, o arquivo PDF é retornado codificado em base64, com uma tarifa fixa de 1 crédito no total.",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Objeto JSON de opções",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "O schema a ser usado para extração (opcional). Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "O prompt do sistema a ser usado na extração (opcional)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para extração sem esquema (opcional)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "Ações a serem realizadas na página antes de extrair o conteúdo",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Aguardar por uma quantidade especificada de milissegundos"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Número de milissegundos a esperar"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor de consulta (query selector) para localizar o elemento por",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Tire uma captura de tela. Os links estarão no array `actions.screenshots` da resposta."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Define se a captura de tela deve ser da página inteira ou apenas da área visível atual (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "A qualidade da captura de tela, de 1 a 100. 100 é a qualidade máxima."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Clique em um elemento"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor para localizar o elemento por",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clica em todos os elementos que correspondem ao seletor, não apenas no primeiro. Não gera erro caso nenhum elemento corresponda ao seletor.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Digite um texto em um campo de entrada, área de texto ou elemento com contenteditable. Observação: primeiro é necessário focar o elemento usando uma ação de “click” antes de escrever. O texto será digitado caractere por caractere para simular a entrada via teclado."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texto para digitar",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Pressione uma tecla na página. Consulte https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html para ver os códigos de teclas.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Pressione uma tecla nesta página"
+ },
+ "key": {
+ "type": "string",
+ "description": "Tecla a ser pressionada",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Rolar a página ou um elemento específico"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Direção da rolagem",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor de consulta para o elemento a ser rolado",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrai o conteúdo da página atual e retorna a URL e o HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Executar código JavaScript na página"
+ },
+ "script": {
+ "type": "string",
+ "description": "Código JavaScript a ser executado",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Gere um PDF da página atual. O PDF será retornado no array `actions.pdfs` da resposta."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "O tamanho da página do PDF gerado",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Se o PDF deve ser gerado em orientação horizontal",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "O fator de escala do PDF resultante",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização para a requisição. Quando especificadas, será usado um proxy apropriado, se disponível, e serão emuladas as configurações correspondentes de idioma e fuso horário. O padrão é \"US\" se não for especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO 3166-1 alfa-2 (por exemplo, “US”, “AU”, “DE”, “JP”)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferenciais para a requisição, em ordem de prioridade. Por padrão, usa o idioma do local especificado. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Remove todas as imagens em base64 da saída, que podem ser excessivamente longas. O texto alternativo (alt) da imagem permanece na saída, mas a URL é substituída por um espaço reservado.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Habilita o bloqueio de anúncios e de pop-ups de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Especifica o tipo de proxy a ser usado.\n\n - **basic**: Proxies para scraping de sites sem ou com soluções anti-bot básicas. Rápido e geralmente funciona.\n - **stealth**: Proxies stealth para scraping de sites com soluções anti-bot avançadas. Mais lento, mas mais confiável em alguns sites. Custa até 5 créditos por requisição.\n - **auto**: O Firecrawl tentará fazer o scraping novamente automaticamente usando proxies stealth se o proxy basic falhar. Se a nova tentativa com stealth for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo normal será cobrado.\n\nSe você não especificar um proxy, o Firecrawl usará basic por padrão."
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Se definido como true, a página será armazenada no índice e no cache do Firecrawl. Definir isso como false é útil se sua atividade de scraping puder levantar preocupações relacionadas à proteção de dados. O uso de alguns parâmetros associados a scraping sensível (ações, headers) fará com que esse parâmetro seja definido como false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "Formatos a serem incluídos no resultado.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "Opções de rastreio de mudanças (Beta). Aplicável somente quando 'changeTracking' estiver incluído em formatos. O formato 'markdown' também deve ser especificado ao usar o rastreio de mudanças.",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "O modo a ser usado para rastreamento de alterações. 'git-diff' fornece um diff detalhado e 'json' compara os dados JSON extraídos."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema JSON para extração ao usar o modo `json`. Define a estrutura dos dados que serão extraídos e comparados. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt a ser usado para rastrear alterações ao usar o modo \"json\". Se não for especificado, será usado o prompt padrão."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag a ser usada no rastreamento de alterações. As tags podem separar o histórico de rastreamento em “ramificações” distintas, em que o rastreamento com uma tag específica só será comparado a scrapes feitos com a mesma tag. Se não for fornecida, a tag padrão (null) será usada."
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página se `html` estiver incluído em `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página se `rawHtml` estiver incluído em `formatos`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `screenshot` estiver incluído em `formatos`. As capturas de tela expiram após 24 horas e depois disso não podem mais ser baixadas."
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página se `links` estiver incluído em `formatos`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados das ações especificadas no parâmetro `actions`. Somente presente se o parâmetro `actions` tiver sido fornecido na requisição",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs das capturas de tela, na mesma ordem das ações de captura de tela fornecidas. As capturas de tela expiram após 24 horas e não poderão mais ser baixadas.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Raspe o conteúdo na mesma ordem das ações de raspagem fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valores retornados em JavaScript, na mesma ordem das ações executeJavascript fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDFs gerados, na mesma ordem das ações de PDF especificadas.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página; podem ser uma string única ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Idiomas alternativos da página"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Exibido ao usar extração com LLM. Dados extraídos da página de acordo com o esquema definido.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pode ser exibido ao usar a Extração com LLM. A mensagem de aviso informará sobre quaisquer problemas com a extração."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informações de rastreioDeMudanças se `changeTracking` estiver em `formats`. Só estará presente quando o formato `changeTracking` for solicitado.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "O carimbo de data e hora da raspagem anterior com a qual a página atual está sendo comparada. Nulo se não existir raspagem anterior."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "O resultado da comparação entre as duas versões da página. 'new' significa que esta página não existia antes, 'same' significa que o conteúdo não mudou, 'changed' significa que o conteúdo foi alterado e 'removed' significa que a página foi removida."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "A visibilidade da página/URL atual. “visible” significa que a URL foi descoberta por meio de uma rota orgânica (links ou sitemap); “hidden” significa que a URL foi descoberta a partir da memória de rastreios anteriores."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff no estilo Git das alterações ao usar o modo 'git-diff'. Só é exibido quando o modo está definido como 'git-diff'."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados da comparação em JSON ao usar o modo `json`. Somente estará presente quando o modo estiver definido como `json`. Irá gerar uma lista de todas as chaves e seus valores das raspagens `previous` e `current`, com base no tipo definido no `schema`. Exemplo [aqui](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual do rastreamento. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que o rastreamento foi tentado."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Número de páginas rastreadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Número de créditos utilizados no rastreamento."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data e hora em que o rastreamento expira."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para recuperar os próximos 10 MB de dados. Retornada se o crawl não tiver sido concluído ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Dados do rastreamento.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página, quando `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, caso `includeRawHtml` seja true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página se `includeLinks` for verdadeiro"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` for verdadeiro"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página, que pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página, pode ser uma string ou um array de strings"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Idioma extraído da página; pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página; pode ser uma string ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Configurações de localidade alternativas para a página"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Outros metadados extraídos do HTML podem ser uma string ou um array de strings"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Jobs de scraping com falha e detalhes do erro",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Carimbo de data/hora ISO da falha"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL rastreada"
+ },
+ "error": {
+ "type": "string",
+ "description": "Mensagem de erro"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Lista de URLs em que a raspagem foi tentada, mas que foram bloqueadas pelo robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual da raspagem em lote. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que se tentou fazer scraping."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "O número de páginas extraídas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Quantidade de créditos utilizados na raspagem em lote."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data e hora em que o scraping em lote irá expirar."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para recuperar os próximos 10 MB de dados. É retornada se a raspagem em lote não estiver concluída ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Dados da raspagem em lote.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página quando `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página quando `includeLinks` for true"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` estiver definido como true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página; pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página, que pode ser uma string ou um array de strings"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Idioma extraído da página; pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página, podendo ser uma string ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Idiomas alternativos da página"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Outros metadados extraídos do HTML; podem ser uma string ou um array de strings"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo ficará como undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo ficará undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "Status atual do processo de extração"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pt-BR/api-reference/v2-openapi.json b/pt-BR/api-reference/v2-openapi.json
new file mode 100644
index 00000000..c3ad8846
--- /dev/null
+++ b/pt-BR/api-reference/v2-openapi.json
@@ -0,0 +1,3828 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "API para interagir com os serviços do Firecrawl e executar tarefas de web scraping e crawling.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Fazer scraping de uma única URL e, opcionalmente, extrair informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser raspada"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a retenção zero de dados para este scrape. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Raspe várias URLs e, opcionalmente, extraia informações com um LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser raspada"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para onde o webhook será enviado. Ele será disparado quando a raspagem em lote for iniciada (batch_scrape.started), a cada página raspada (batch_scrape.page) e quando a raspagem em lote for concluída (batch_scrape.completed ou batch_scrape.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipos de eventos que devem ser enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de scrapes simultâneos. Este parâmetro permite definir um limite de concorrência para este scrape em lote. Se não for especificado, o scrape em lote seguirá o limite de concorrência da sua equipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que toda a requisição falhe, será criada uma raspagem em lote usando apenas as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a política de não retenção de dados para esta execução de scraping em lote. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID do job de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenha o status de uma tarefa de raspagem em lote",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar um job de raspagem em lote",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de raspagem em lote não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter os erros de uma tarefa de raspagem em lote",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de uma tarefa de rastreamento",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar uma tarefa de rastreamento",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento realizado com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tarefa de rastreamento não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter erros de um job de rastreamento",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro de servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Rastrear várias URLs de acordo com opções",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL base para iniciar o rastreamento"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Um prompt em linguagem natural para gerar as opções do crawler (todos os parâmetros abaixo). Parâmetros definidos explicitamente substituem os equivalentes gerados."
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para o pathname da URL que excluem URLs correspondentes do rastreamento. Por exemplo, se você definir `\"excludePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, quaisquer resultados que correspondam a esse padrão serão excluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para caminhos de URL que definem quais URLs serão incluídas no rastreamento. Somente os caminhos que corresponderem aos padrões especificados serão incluídos na resposta. Por exemplo, se você definir `\"includePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, apenas resultados que correspondam a esse padrão serão incluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de crawl com base na ordem de descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta igual a 0. Por exemplo, se você definir para 1 e usar `sitemap: 'skip'`, você só fará o crawl da URL fornecida e de todas as URLs que tiverem links nessa página."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Modo de sitemap ao rastrear. Se você definir como `skip`, o rastreador vai ignorar o sitemap do site e rastrear apenas a URL informada, descobrindo as páginas a partir dela.",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não faça scraping novamente do mesmo caminho com parâmetros de consulta diferentes (ou sem parâmetros)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas a rastrear. O limite padrão é 10.000.",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permite que o crawler siga links internos para URLs no mesmo nível (irmãs) ou em níveis superiores (pai), não apenas subcaminhos (filhos).\n\nfalse: Só rastreia URLs em níveis inferiores (filhas).\n→ ex.: /features/feature-1 → /features/feature-1/tips ✅\n→ Não seguirá /pricing ou / ❌\n\ntrue: Rastreia quaisquer links internos, incluindo URLs irmãs e pai.\n→ ex.: /features/feature-1 → /pricing, /, etc. ✅\n\nUse true para uma cobertura interna mais ampla, além dos caminhos aninhados.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para sites externos.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para subdomínios do domínio principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalo, em segundos, entre as raspagens. Isso ajuda a respeitar os limites de acesso dos sites."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de raspagens concorrentes. Este parâmetro permite definir um limite de concorrência para este rastreamento. Se não for especificado, o rastreamento seguirá o limite de concorrência da sua equipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para a qual o webhook será enviado. Ele será disparado quando o rastreamento for iniciado (crawl.started), para cada página rastreada (crawl.page) e quando o rastreamento for concluído (crawl.completed ou crawl.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos que devem ser enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipos de eventos a serem enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso garantirá que nenhum dado seja retido para este crawl. Para ativar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/params-preview": {
+ "post": {
+ "summary": "Pré-visualizar parâmetros de rastreamento gerados a partir de um prompt em linguagem natural",
+ "operationId": "crawlParamsPreview",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser rastreada"
+ },
+ "prompt": {
+ "type": "string",
+ "maxLength": 10000,
+ "description": "Prompt em linguagem natural que descreve o que você deseja rastrear"
+ }
+ },
+ "required": [
+ "url",
+ "prompt"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida com parâmetros de rastreamento gerados",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL que será rastreada"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de URL a serem incluídos"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de URL a serem excluídos"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de rastreamento"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de descoberta"
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Se deve rastrear todo o domínio"
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Define se links externos serão permitidos"
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permitir subdomínios"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Estratégia de tratamento de sitemaps"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Indica se os parâmetros de consulta devem ser ignorados"
+ },
+ "deduplicateSimilarURLs": {
+ "type": "boolean",
+ "description": "Se URLs semelhantes devem ser deduplicadas"
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalo entre requisições em milissegundos"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas para rastrear"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Solicitação inválida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid request parameters"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Não autorizado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Unauthorized"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Failed to process natural language prompt"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapear várias URLs com base em opções",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL base de onde o rastreamento será iniciado"
+ },
+ "search": {
+ "type": "string",
+ "description": "Especifique uma consulta de pesquisa para ordenar os resultados por relevância. Exemplo: \"blog\" retornará URLs que contenham a palavra \"blog\" na URL, ordenadas por relevância."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "Modo de uso do sitemap durante o mapeamento. Se você definir como `skip`, o sitemap não será usado para encontrar URLs. Se você definir como `only`, apenas URLs que estiverem no sitemap serão retornadas. Por padrão (`include`), o sitemap e outros métodos serão usados em conjunto para encontrar URLs.",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Incluir subdomínios do site",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não retorne URLs com parâmetros de query",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de links retornados",
+ "default": 5000,
+ "maximum": 100000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite, em milissegundos. Não há tempo limite definido por padrão."
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização para a requisição. Quando especificadas, será usado um proxy apropriado, se disponível, e serão emulados o idioma e o fuso horário correspondentes. O padrão é 'US' caso não seja especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país alfa-2 da ISO 3166-1 (por exemplo, 'US', 'AU', 'DE', 'JP')",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferenciais da requisição, em ordem de prioridade. Por padrão, usa o idioma da localidade especificada. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "examples": {
+ "example1": {
+ "summary": "Exemplo 1",
+ "value": {
+ "url": "",
+ "search": "",
+ "sitemap": "include",
+ "includeSubdomains": true,
+ "ignoreQueryParameters": true,
+ "limit": 5000,
+ "location": {
+ "country": "US",
+ "languages": [
+ "en-US"
+ ]
+ },
+ "timeout": 60000
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraia dados estruturados de páginas da web usando LLMs",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "As URLs das quais os dados serão extraídos. As URLs devem estar no formato glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt para guiar o processo de extração"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema que define a estrutura dos dados extraídos. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Quando definido como true, a extração usará busca na web para encontrar dados adicionais",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, arquivos sitemap.xml serão ignorados durante a varredura do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Quando definido como true, os subdomínios das URLs fornecidas também serão rastreados",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Quando definido como true, as fontes usadas para extrair os dados serão incluídas na resposta sob a chave `sources`",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que a requisição inteira falhe, será feita uma extração usando as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extração bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Solicitação inválida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de extração",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de uma tarefa de extração",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta de sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Recuperar todos os crawls ativos da equipe autenticada",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Identificador único do rastreamento"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "O ID da equipe proprietária do rastreamento"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL de origem do rastreamento"
+ },
+ "options": {
+ "type": "object",
+ "description": "Opções do rastreador utilizadas neste rastreamento",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obter créditos restantes da equipe autenticada",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "Número de créditos restantes da equipe",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "Número de créditos do plano. Isso não inclui créditos de cupons, pacotes de crédito ou créditos de recarga automática.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de cobrança. null se você estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações sobre o uso de créditos não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtém o histórico de uso de créditos da equipe autenticada",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obter histórico de uso de créditos por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de cobrança",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API usada durante o período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Número total de créditos utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Obter tokens restantes da equipe autenticada (apenas Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "Número de tokens restantes da equipe",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "Quantidade de tokens do plano. Não inclui tokens de cupom.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se você estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de cobrança. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações sobre o uso de tokens não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obter o uso histórico de tokens da equipe autenticada (somente Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obtenha o histórico de uso de tokens por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API usada no período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Número total de tokens utilizados no período de cobrança",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "Métricas da fila de raspagem da sua equipe",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "Número de tarefas atualmente na sua fila"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "Número de tarefas ativas no momento"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "Número de tarefas atualmente na fila"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "Número máximo de tarefas ativas simultâneas conforme seu plano"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp do job mais recente concluído com sucesso",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Pesquise e, opcionalmente, faça scraping dos resultados de busca",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "A consulta de busca"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de resultados a retornar",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa temporal. Suporta intervalos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de pesquisa"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Fontes a serem pesquisadas. Determina os arrays disponíveis na resposta. O padrão é ['web'].",
+ "default": [
+ "web"
+ ]
+ },
+ "categories": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "GitHub",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "github"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Research",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "research"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Categorias pelas quais filtrar os resultados. O padrão é [], o que significa que os resultados não serão filtrados por nenhuma categoria."
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa temporal. Suporta intervalos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de busca (por exemplo, `San Francisco,California,United States`). Para melhores resultados, defina tanto este quanto o parâmetro `country`."
+ },
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO para segmentação geográfica dos resultados de pesquisa (por exemplo, `US`). Para obter melhores resultados, configure este parâmetro e também o parâmetro `location`.",
+ "default": "US"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclui dos resultados de pesquisa as URLs que são inválidas para outros endpoints do Firecrawl. Isso ajuda a reduzir erros se você estiver direcionando dados da pesquisa para outros endpoints da API do Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "Opções para raspagem de resultados de busca",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado da pesquisa"
+ },
+ "description": {
+ "type": "string",
+ "description": "Descrição do resultado da pesquisa"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado de busca"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown caso a raspagem tenha sido solicitada"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML, se solicitado nos formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, se solicitado em formatos"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitado nos formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, se solicitada em formatos. As capturas de tela expiram após 24 horas e não podem mais ser baixadas."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado da pesquisa"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL da imagem"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "Largura da imagem"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "Altura da imagem"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado da pesquisa"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Posição do resultado de pesquisa"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do artigo"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "Trecho do artigo"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do artigo"
+ },
+ "date": {
+ "type": "string",
+ "description": "Data do artigo"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL da imagem do artigo"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Posição do artigo"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown, caso a raspagem tenha sido solicitada"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML se solicitado nos formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, caso seja solicitado em formatos"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitados, nos formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, se solicitado nos formatos. As capturas de tela expiram após 24 horas e não podem mais ser baixadas."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "Os resultados da pesquisa. Os arrays disponíveis dependerão das fontes que você especificar na requisição. Por padrão, o array `web` será retornado."
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de aviso caso ocorra algum problema"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Tempo limite da requisição esgotado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Define se a captura de tela deve ser da página inteira ou apenas do viewport atual.",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "Qualidade da captura de tela, de 1 a 100. 100 é a qualidade máxima."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "Largura da viewport em pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "Altura da viewport em pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "O esquema a ser usado para a saída em JSON. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para gerar a saída em JSON"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "O modo a ser usado para rastrear alterações. 'git-diff' fornece um diff detalhado e 'json' compara os dados JSON extraídos."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema para extração de JSON ao usar o modo `json`. Define a estrutura dos dados a serem extraídos e comparados. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt a ser usado para rastreamento de alterações ao usar o modo \"json\". Caso não seja fornecido, será usado o prompt padrão."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag a ser usada para rastreamento de alterações. Tags podem separar o histórico de rastreamento de alterações em “branches” (ramificações) distintas, em que o rastreamento com uma tag específica só vai comparar com coletas feitas na mesma tag. Se não for fornecida, será usada a tag padrão (null)."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Branding",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "branding"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Formatos de saída que devem ser incluídos na resposta. Você pode especificar um ou mais formatos, como strings (por exemplo, `'markdown'`) ou como objetos com opções adicionais (por exemplo, `{ type: 'json', schema: {...} }`). Alguns formatos exigem que opções específicas sejam configuradas. Exemplo: `['markdown', { type: 'json', schema: {...} }]`.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne somente o conteúdo principal da página, excluindo cabeçalhos, elementos de navegação, rodapés etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags a serem incluídas no resultado."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags a serem excluídas da saída."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retorna uma versão em cache da página se ela for mais recente do que essa idade em milissegundos. Se a versão em cache da página for mais antiga do que esse valor, a página será novamente coletada. Se você não precisa de dados extremamente atualizados, ativar isso pode acelerar suas coletas em até 500%. O padrão é 2 dias.",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados na requisição. Podem ser usados para enviar cookies, user-agent etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Defina um atraso, em milissegundos, antes de buscar o conteúdo, permitindo que a página tenha tempo suficiente para carregar. Esse tempo de espera é somado ao recurso de espera inteligente do Firecrawl.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Defina como true se quiser emular a extração a partir de um dispositivo móvel. Útil para testar páginas responsivas e capturar screenshots da versão mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorar a verificação de certificado TLS ao realizar requisições.",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite da requisição, em milissegundos."
+ },
+ "parsers": {
+ "type": "array",
+ "description": "Controla como os arquivos são processados durante o scraping. Quando \"pdf\" é incluído (padrão), o conteúdo do PDF é extraído e convertido em markdown, com cobrança baseada no número de páginas (1 crédito por página). Quando um array vazio é fornecido, o arquivo PDF é retornado em codificação base64 com uma taxa fixa de 1 crédito para todo o PDF.",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "maxPages": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 10000,
+ "description": "Número máximo de páginas do PDF a serem processadas. Deve ser um inteiro positivo de até 10.000."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "Ações a serem executadas na página antes de extrair o conteúdo",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Aguarde por um número específico de milissegundos"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Número de milissegundos de espera"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor para encontrar o elemento por",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Faça uma captura de tela. Os links estarão no array `actions.screenshots` da resposta."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Define se a captura de tela será da página inteira ou apenas da área visível (viewport) atual.",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "A qualidade da captura de tela, de 1 a 100, onde 100 é a mais alta qualidade."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "Largura da viewport em pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "A altura da viewport, em pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Clique em um elemento"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor para encontrar o elemento por",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clica em todos os elementos que correspondem ao seletor, não apenas no primeiro. Não lança um erro se nenhum elemento corresponder ao seletor.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Digite o texto em um campo de entrada, área de texto ou elemento com conteúdo editável. Observação: primeiro é preciso colocar o foco no elemento usando uma ação de “clique” antes de escrever. O texto será digitado caractere por caractere para simular a entrada pelo teclado."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texto a ser digitado",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Pressione qualquer tecla na página. Consulte https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html para ver os códigos de tecla.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Pressione qualquer tecla na página"
+ },
+ "key": {
+ "type": "string",
+ "description": "Tecla para pressionar",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Rolar a página ou um elemento específico"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sentido da rolagem",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor (query selector) do elemento a ser rolado",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Raspa o conteúdo da página atual e retorna a URL e o HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Executar código JavaScript na página"
+ },
+ "script": {
+ "type": "string",
+ "description": "Código JavaScript para executar",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Gerar um PDF da página atual. O PDF será retornado no array `actions.pdfs` da resposta."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "O tamanho da página do PDF gerado",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Se o PDF deve ser gerado em orientação horizontal",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "O fator de escala do PDF gerado",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização da requisição. Quando definidas, será usado um proxy apropriado, se disponível, e serão emuladas as configurações correspondentes de idioma e fuso horário. O padrão é \"US\" se não for especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO 3166-1 alpha-2 (por exemplo, \"US\", \"AU\", \"DE\", \"JP\")",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferidos para a requisição, em ordem de prioridade. Por padrão, usa o idioma da localização especificada. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Remove todas as imagens em base64 da saída, que podem ser extremamente longas. O texto alternativo da imagem é mantido na saída, mas a URL é substituída por um valor de placeholder.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Habilita o bloqueio de anúncios e de pop-ups de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Especifica o tipo de proxy a ser usado.\n\n - **basic**: Proxies para fazer scraping de sites sem ou com soluções anti-bot básicas. Rápido e geralmente funciona.\n - **stealth**: Proxies stealth para fazer scraping de sites com soluções anti-bot avançadas. Mais lento, mas mais confiável em determinados sites. Custa até 5 créditos por requisição.\n - **auto**: O Firecrawl tentará automaticamente realizar o scraping novamente com proxies stealth se o proxy básico falhar. Se a nova tentativa com stealth for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo regular será cobrado.",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Se definido como true, a página será armazenada no índice e no cache do Firecrawl. Definir isso como false é útil se sua atividade de scraping puder levantar preocupações relacionadas à proteção de dados. O uso de alguns parâmetros associados a scraping sensível (por exemplo, ações, headers) fará com que esse parâmetro seja definido automaticamente como false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "Resumo da página se `summary` constar em `formats`"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão HTML do conteúdo da página, se `html` estiver em `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página se `rawHtml` estiver incluído em `formats`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `screenshot` estiver incluído em `formats`. As capturas de tela expiram após 24 horas e não poderão mais ser baixadas."
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página se `links` estiver em `formatos`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados das ações especificadas no parâmetro `actions`. Só estará presente se o parâmetro `actions` tiver sido fornecido na requisição",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs das capturas de tela, na mesma ordem das ações de captura de tela fornecidas.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraia o conteúdo na mesma ordem das ações de scraping fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valores de retorno em JavaScript, na mesma ordem das ações executeJavascript fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDFs gerados, na mesma ordem das ações de PDF especificadas.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página; pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página, que pode ser uma string ou um array de strings"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Idioma detectado na página; pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página; pode ser uma string ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Localidades alternativas para a página"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Outros metadados extraídos do HTML. Pode ser uma string ou um array de strings"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pode ser exibida ao usar Extração com LLM. A mensagem de alerta informará sobre quaisquer problemas na extração."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informações de rastreamento de alterações se `changeTracking` estiver em `formats`. Somente presente quando o formato `changeTracking` for solicitado.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "O timestamp da raspagem anterior em relação à qual a página atual está sendo comparada. Nulo se não houver raspagem anterior."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "O resultado da comparação entre as duas versões da página: 'new' indica que esta página não existia antes, 'same' indica que o conteúdo não mudou, 'changed' indica que o conteúdo foi alterado e 'removed' indica que a página foi removida."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "A visibilidade da página/URL atual. \"visible\" significa que a URL foi descoberta por meio de uma rota orgânica (links ou sitemap); \"hidden\" significa que a URL foi descoberta a partir da memória de rastreamentos anteriores."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff das alterações no estilo do Git ao usar o modo `git-diff`. Só é retornado quando o modo está definido como `git-diff`."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados da comparação em JSON ao usar o modo `json`. Disponível apenas quando o modo está definido como `json`. Isso gera uma lista de todas as chaves e seus valores das coletas `previous` e `current`, com base no tipo definido no `schema`. Exemplo [aqui](/features/change-tracking)"
+ }
+ }
+ },
+ "branding": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informações de branding extraídas da página quando `branding` estiver em `formatos`. Inclui cores, fontes, tipografia, espaçamento, componentes e muito mais."
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual do rastreamento. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas cuja varredura foi tentada."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "O número de páginas que foram rastreadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "O número de créditos utilizados no rastreamento."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data e hora em que o rastreamento expirará."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL usada para recuperar os próximos 10 MB de dados. Retornada se o processo de crawl não estiver concluído ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Os dados do rastreamento.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página, caso `includeHtml` seja true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página, se `includeLinks` for true"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` estiver definido como true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página; pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página; pode ser uma string ou um array de strings"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Idioma extraído da página, pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página, podem ser uma string ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Idiomas alternativos para a página"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Jobs de scraping com falha e detalhes do erro",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Carimbo de data/hora ISO da falha"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL coletada"
+ },
+ "error": {
+ "type": "string",
+ "description": "Mensagem de erro"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Lista de URLs cuja raspagem foi tentada, mas bloqueada pelo robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual da raspagem em lote. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que se tentou realizar o scraping."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "O número de páginas extraídas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "O número de créditos utilizados para a raspagem em lote."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A data e a hora em que a raspagem em lote expira."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para recuperar os próximos 10 MB de dados. Retornada se a raspagem em lote não estiver concluída ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Os dados da coleta em lote.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página, caso `includeHtml` seja verdadeiro"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, caso `includeRawHtml` seja true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página se `includeLinks` for verdadeiro"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` estiver definido como `true`"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Título extraído da página, que pode ser uma string ou um array de strings"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Descrição extraída da página, pode ser uma string ou um array de strings"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "Idioma extraído da página, pode ser uma string ou um array de strings"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "Palavras-chave extraídas da página; pode ser uma string ou um array de strings"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Idiomas alternativos da página"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array com as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo permanecerá undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "title": {
+ "type": "string",
+ "description": "O título da página, se disponível."
+ },
+ "description": {
+ "type": "string",
+ "description": "Descrição da página, se disponível."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo será undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "Status atual do job de extração"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "O número de tokens utilizados pela tarefa de extração. Disponível apenas se a tarefa tiver sido concluída."
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pt-BR/contributing/guide.mdx b/pt-BR/contributing/guide.mdx
index e43345be..943e2a26 100644
--- a/pt-BR/contributing/guide.mdx
+++ b/pt-BR/contributing/guide.mdx
@@ -77,7 +77,6 @@ POSTHOG_HOST= # defina se quiser enviar eventos do PostHog, como logs de jobs
```
-
### Instalando dependências
@@ -89,7 +88,6 @@ Primeiro, instale as dependências usando pnpm.
pnpm install # certifique-se de estar usando o pnpm na versão 9+!
```
-
### Executando o projeto
@@ -106,7 +104,6 @@ Execute o comando em qualquer lugar no seu projeto
redis-server
```
-
### Terminal 2 - configurando o serviço
@@ -120,7 +117,6 @@ pnpm start
Isso iniciará os workers responsáveis por processar tarefas de crawl.
-
### Terminal 3 - enviando nossa primeira requisição.
@@ -143,7 +139,6 @@ curl -X POST http://localhost:3002/v1/crawl \
}'
```
-
### Alternativa: Usar Docker Compose
@@ -160,7 +155,6 @@ docker compose up
Isso vai iniciar o Redis, o servidor de API e os workers automaticamente com a configuração correta.
-
## Testes:
diff --git a/pt-BR/contributing/self-host.mdx b/pt-BR/contributing/self-host.mdx
index 71a7d1a7..96542180 100644
--- a/pt-BR/contributing/self-host.mdx
+++ b/pt-BR/contributing/self-host.mdx
@@ -173,7 +173,6 @@ Isso iniciará uma instância local do Firecrawl, acessível em `http://localhos
Você deve conseguir ver a interface do Bull Queue Manager em `http://localhost:3002/admin/@/queues`.
-
5. *(Opcional)* Teste a API
Se quiser testar o endpoint de crawl, execute:
@@ -186,7 +185,6 @@ Se quiser testar o endpoint de crawl, execute:
}'
```
-
## Solução de problemas
@@ -207,7 +205,6 @@ Esta seção apresenta soluções para problemas comuns que você pode encontrar
**Explicação:**
Esse erro ocorre porque a configuração do cliente do Supabase não foi concluída. Você deve conseguir executar scraping e crawling sem problemas. No momento, não é possível configurar o Supabase em instâncias auto-hospedadas.
-
### Você está ignorando a autenticação
@@ -221,7 +218,6 @@ Esse erro ocorre porque a configuração do cliente do Supabase não foi conclu
**Explicação:**
Esse erro ocorre porque a configuração do cliente do Supabase não foi concluída. Você deve conseguir fazer scraping e crawling sem problemas. No momento, não é possível configurar o Supabase em instâncias autohospedadas.
-
### Contêineres Docker não iniciam
@@ -239,7 +235,6 @@ docker logs [nome_do_container]
* Certifique-se de que todas as variáveis de ambiente necessárias estejam definidas corretamente no arquivo .env.
* Verifique se todos os serviços do Docker definidos em docker-compose.yml estão configurados corretamente e se as imagens necessárias estão disponíveis.
-
### Problemas de conexão com o Redis
diff --git a/pt-BR/developer-guides/advanced-guides/authenticated-scraping.mdx b/pt-BR/developer-guides/advanced-guides/authenticated-scraping.mdx
index bbdd2c92..1426c769 100644
--- a/pt-BR/developer-guides/advanced-guides/authenticated-scraping.mdx
+++ b/pt-BR/developer-guides/advanced-guides/authenticated-scraping.mdx
@@ -108,7 +108,6 @@ auth-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJleGFtcGxlLXVzZXIt
**Importante:** Cookies são credenciais sensíveis. Nunca as compartilhe publicamente nem as versione em controle de código. Trate-os como senhas.
-
### Passo 2: Use cookies com o Firecrawl
@@ -131,7 +130,6 @@ const result = await app.scrape("https://firecrawl-auth.vercel.app/dashboard", {
console.log("=== Markdown ===\n" + result.markdown + "\n\n=== Screenshot URL ===\n" + result.screenshot);
```
-
## Melhores práticas
diff --git a/pt-BR/developer-guides/common-sites/amazon.mdx b/pt-BR/developer-guides/common-sites/amazon.mdx
index 17f5c6cc..cb48c0bd 100644
--- a/pt-BR/developer-guides/common-sites/amazon.mdx
+++ b/pt-BR/developer-guides/common-sites/amazon.mdx
@@ -15,7 +15,6 @@ A Amazon é um dos sites de e-commerce mais alvo de scraping. Este guia mostra c
npm install @mendable/firecrawl-js zod
```
-
## Visão geral
@@ -64,7 +63,6 @@ console.log('✅ Dados do produto validados:');
console.log(validated);
```
-
## Pesquisa
@@ -87,7 +85,6 @@ const searchResult = await firecrawl.search('gaming laptop site:amazon.com', {
console.log(searchResult);
```
-
## Scrape
@@ -107,7 +104,6 @@ const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gam
console.log(result);
```
-
## Map
@@ -125,7 +121,6 @@ console.log(mapResult.links);
// Retorna um array de URLs sem conteúdo
```
-
## Crawl
@@ -147,7 +142,6 @@ const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical
console.log(crawlResult.data);
```
-
## Coleta em lote
diff --git a/pt-BR/developer-guides/common-sites/etsy.mdx b/pt-BR/developer-guides/common-sites/etsy.mdx
index 3a7cb07e..6b9a1ba1 100644
--- a/pt-BR/developer-guides/common-sites/etsy.mdx
+++ b/pt-BR/developer-guides/common-sites/etsy.mdx
@@ -15,7 +15,6 @@ O Etsy é um marketplace global de itens únicos e criativos. Este guia mostra c
npm install @mendable/firecrawl-js zod
```
-
## Visão geral
@@ -63,7 +62,6 @@ console.log('✅ Dados da listagem validados:');
console.log(validated);
```
-
## Busca
@@ -86,7 +84,6 @@ const searchResult = await firecrawl.search('handmade jewelry site:etsy.com', {
console.log(searchResult);
```
-
## Scrape
@@ -106,7 +103,6 @@ const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/h
console.log(result);
```
-
## Mapear
@@ -124,7 +120,6 @@ console.log(mapResult.links);
// Retorna um array de URLs sem conteúdo
```
-
## Crawl
@@ -146,7 +141,6 @@ const crawlResult = await firecrawl.crawl('https://www.etsy.com/c/jewelry', {
console.log(crawlResult.data);
```
-
## Coleta em lote
diff --git a/pt-BR/developer-guides/common-sites/github.mdx b/pt-BR/developer-guides/common-sites/github.mdx
index d4d83b61..4ad11974 100644
--- a/pt-BR/developer-guides/common-sites/github.mdx
+++ b/pt-BR/developer-guides/common-sites/github.mdx
@@ -13,7 +13,6 @@ Aprenda a usar os recursos principais do Firecrawl para scrapear repositórios,
npm install @mendable/firecrawl-js zod
```
-
## Scrape com modo JSON
@@ -43,7 +42,6 @@ const result = await firecrawl.scrape('https://github.com/firecrawl/firecrawl',
console.log(result.json);
```
-
## Busca
@@ -66,7 +64,6 @@ const searchResult = await firecrawl.search('machine learning site:github.com',
console.log(searchResult);
```
-
## Scrape
@@ -85,7 +82,6 @@ const result = await firecrawl.scrape('https://github.com/mendableai/firecrawl',
console.log(result);
```
-
## Map
@@ -103,7 +99,6 @@ console.log(mapResult.links);
// Retorna um array de URLs sem conteúdo
```
-
## Crawl
@@ -125,7 +120,6 @@ const crawlResult = await firecrawl.crawl('https://github.com/facebook/react/wik
console.log(crawlResult.data);
```
-
## Coleta em lote
@@ -157,7 +151,6 @@ console.log(job.status, job.completed, job.total);
console.log(job);
```
-
## Raspagem em lote com modo JSON
diff --git a/pt-BR/developer-guides/common-sites/wikipedia.mdx b/pt-BR/developer-guides/common-sites/wikipedia.mdx
index 6fb0ae02..8bafacdf 100644
--- a/pt-BR/developer-guides/common-sites/wikipedia.mdx
+++ b/pt-BR/developer-guides/common-sites/wikipedia.mdx
@@ -13,7 +13,6 @@ Aprenda a raspar a Wikipédia de forma eficaz para pesquisa, extração de conhe
npm install @mendable/firecrawl-js zod
```
-
## Casos de uso
@@ -52,7 +51,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/JavaScript'
console.log(result.json);
```
-
## Pesquisa
@@ -75,7 +73,6 @@ const searchResult = await firecrawl.search('quantum computing site:en.wikipedia
console.log(searchResult);
```
-
## Scrape
@@ -95,7 +92,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/Artificial_
console.log(result);
```
-
## Map
@@ -113,7 +109,6 @@ console.log(mapResult.links);
// Retorna um array de URLs sem conteúdo
```
-
## Rastrear
@@ -135,7 +130,6 @@ const crawlResult = await firecrawl.crawl('https://en.wikipedia.org/wiki/Portal:
console.log(crawlResult.data);
```
-
## Coleta em lote
diff --git a/pt-BR/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx b/pt-BR/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
index be0f7cea..3eab8fd9 100644
--- a/pt-BR/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
+++ b/pt-BR/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
@@ -741,7 +741,6 @@ const result = streamText({
O SDK de IA oferece suporte a mais de 20 provedores com a mesma API. Saiba mais: [ai-sdk.dev/docs/foundations/providers-and-models](https://ai-sdk.dev/docs/foundations/providers-and-models).
-
### Personalize a interface
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/anthropic.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
index 665c4ba6..f0dda95e 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
@@ -22,7 +22,6 @@ ANTHROPIC_API_KEY=sua_chave_anthropic
> **Nota:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Extração + Resumo
@@ -53,7 +52,6 @@ const message = await anthropic.messages.create({
console.log('Resposta:', message);
```
-
## Uso de ferramentas
@@ -108,7 +106,6 @@ if (toolUse && toolUse.type === 'tool_use') {
}
```
-
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/gemini.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/gemini.mdx
index 29ab2c41..2148ce9f 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/gemini.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/gemini.mdx
@@ -22,7 +22,6 @@ GEMINI_API_KEY=sua_chave_gemini
> **Observação:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Extrair + Resumir
@@ -50,7 +49,6 @@ const response = await ai.models.generateContent({
console.log('Resumo:', response.text);
```
-
## Análise de conteúdo
@@ -87,7 +85,6 @@ const result2 = await chat.sendMessage({
console.log('4ª e 5ª Notícias:', result2.text);
```
-
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/google-adk.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
index b83f923b..19449868 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
@@ -174,7 +174,6 @@ response = research_agent.run("Quais são os recursos mais recentes do Python 3.
print(response)
```
-
## Melhores práticas
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/langchain.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/langchain.mdx
index 146b85bb..30a39196 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/langchain.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/langchain.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=sua_chave_openai
> **Observação:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Scrape + Chat
@@ -53,7 +52,6 @@ const response = await chat.invoke([
console.log('Resumo:', response.content);
```
-
## Cadeias
@@ -94,7 +92,6 @@ const result = await chain.invoke({
console.log('Resultado da cadeia:', result);
```
-
## Chamada de ferramentas
@@ -137,7 +134,6 @@ console.log('Resposta:', response.content);
console.log('Chamadas de ferramenta:', response.tool_calls);
```
-
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/langgraph.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
index 8567bec8..ddd73d39 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=sua_chave_openai
> **Observação:** Se estiver usando Node < 20, instale o `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Fluxo básico
@@ -81,7 +80,6 @@ const result = await app.invoke({
console.log(JSON.stringify(result, null, 2));
```
-
## Fluxo em várias etapas
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
index 3b38eb30..99942f9b 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=sua_chave_openai
> **Observação:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## RAG com busca vetorial
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/mastra.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/mastra.mdx
index 234addd3..2f37e865 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/mastra.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/mastra.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=sua_chave_openai
> **Observação:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Fluxo em várias etapas
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/openai.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/openai.mdx
index c5d56b43..549bce06 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/openai.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/openai.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=sua_chave_openai
> **Nota:** Se estiver usando Node < 20, instale `dotenv` e adicione `import 'dotenv/config'` ao seu código.
-
## Captura + Resumo
@@ -54,7 +53,6 @@ const completion = await openai.chat.completions.create({
console.log('Resumo:', completion.choices[0]?.message.content);
```
-
## Chamada de função
@@ -130,7 +128,6 @@ if (message?.tool_calls && message.tool_calls.length > 0) {
}
```
-
@@ -185,7 +182,6 @@ const companyInfo = content ? CompanyInfoSchema.parse(JSON.parse(content)) : nul
console.log('Informações da empresa validadas:', companyInfo);
```
-
## Busca + Análise
@@ -220,7 +216,6 @@ const analysis = await openai.chat.completions.create({
console.log('Análise:', analysis.choices[0]?.message?.content);
```
-
## API de Responses com MCP
diff --git a/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx b/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
index dd65907f..d4c8f272 100644
--- a/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
+++ b/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
@@ -24,7 +24,6 @@ OPENAI_API_KEY=sk-your-key
Estes exemplos usam OpenAI, mas as ferramentas do Firecrawl funcionam com qualquer provedor do Vercel AI SDK, incluindo Anthropic, Google, Mistral e mais. Confira a lista completa de [provedores compatíveis](https://ai-sdk.dev/providers/ai-sdk-providers).
-
## Início rápido
@@ -41,7 +40,6 @@ const { text } = await generateText({
});
```
-
## Ferramentas disponíveis
@@ -60,7 +58,6 @@ import {
} from 'firecrawl-aisdk';
```
-
## Exemplos
@@ -83,7 +80,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Pesquisa
@@ -102,7 +98,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Mapeamento
@@ -121,7 +116,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Crawl
@@ -142,7 +136,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Raspagem em lote
@@ -163,7 +156,6 @@ const { text } = await generateText({
console.log(text);
```
-
@@ -184,7 +176,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Busca + Raspagem
@@ -203,7 +194,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Stream
diff --git a/pt-BR/developer-guides/mcp-setup-guides/chatgpt.mdx b/pt-BR/developer-guides/mcp-setup-guides/chatgpt.mdx
new file mode 100644
index 00000000..b9f37ab5
--- /dev/null
+++ b/pt-BR/developer-guides/mcp-setup-guides/chatgpt.mdx
@@ -0,0 +1,124 @@
+---
+title: "Pesquisa e scraping na Web com MCP no ChatGPT"
+description: "Adicione scraping e busca na web ao ChatGPT em 2 minutos"
+---
+
+
+O suporte a MCP no ChatGPT é atualmente um recurso em beta. A interface e a disponibilidade podem mudar conforme a OpenAI continua o desenvolvimento.
+
+
+
+**Disponibilidade:** O modo Desenvolvedor com conectores MCP não está disponível no plano gratuito (Free) e requer uma assinatura paga do ChatGPT. A disponibilidade e os recursos variam conforme o plano e a região. Consulte a [documentação da OpenAI sobre o Developer Mode](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta) para instruções atualizadas de disponibilidade e configuração.
+
+
+Adicione recursos de scraping e busca na web ao ChatGPT com o Firecrawl MCP.
+
+
+ ## Configuração rápida
+
+
+
+ ### 1. Obtenha sua chave de API
+
+
+Crie uma conta em [firecrawl.dev/app/api-keys](https://www.firecrawl.dev/app/api-keys) e copie sua chave de API.
+
+
+ ### 2. Ative o Modo Desenvolvedor
+
+
+Abra as configurações do ChatGPT clicando no seu nome de usuário no canto inferior esquerdo ou acesse diretamente [chatgpt.com/#settings](https://chatgpt.com/#settings).
+
+Na janela de configurações, role até a parte inferior e selecione **Advanced Settings**. Ative o **Developer mode**.
+
+
+
+
+
+
+ ### 3. Criar o Conector
+
+
+Com o modo Developer habilitado, vá até a aba **Apps & Connectors** no mesmo modal de configurações.
+
+Clique no botão **Create** no canto superior direito.
+
+
+
+
+
+Preencha os detalhes do conector:
+
+- **Name:** `Firecrawl MCP`
+- **Description:** `Web scraping, crawling, search, and content extraction` (opcional)
+- **MCP Server URL:** `https://mcp.firecrawl.dev/YOUR_API_KEY_HERE/v2/mcp`
+- **Authentication:** `None`
+
+Substitua `YOUR_API_KEY_HERE` na URL pela sua [chave de API Firecrawl](https://www.firecrawl.dev/app/api-keys) real.
+
+
+
+
+
+Marque a caixa de seleção **"I understand and want to continue"** e, em seguida, clique em **Create**.
+
+
+ ### 4. Verificar a configuração
+
+
+Volte para a interface principal do ChatGPT. Você deve ver **Modo Desenvolvedor** exibido, indicando que os conectores MCP estão ativos.
+
+Se você não vir o Modo Desenvolvedor, recarregue a página. Se ainda assim ele não aparecer, abra as configurações novamente e verifique se o Modo Desenvolvedor está ativado em Configurações Avançadas.
+
+
+ ### 5. Acesse as ferramentas do Firecrawl
+
+
+Para usar o Firecrawl em uma conversa, clique no botão **+** no campo de entrada do chat, depois selecione **More** e escolha **Firecrawl MCP**.
+
+
+
+
+
+
+ ## Demonstração rápida
+
+
+Com o Firecrawl MCP selecionado, experimente estes prompts:
+
+**Busca:**
+
+```
+Search for the latest React Server Components updates
+```
+
+**Scrape:**
+
+```
+Scrape firecrawl.dev and tell me what it does
+```
+
+**Acessar documentação:**
+
+```
+Extraia a documentação da Vercel sobre edge functions e resuma-a
+```
+
+
+
+ ## Confirmação da ferramenta
+
+
+Quando o ChatGPT utiliza as ferramentas MCP do Firecrawl, você verá um prompt de confirmação pedindo a sua aprovação.
+
+
+
+
+
+Você pode marcar **"Lembrar desta conversa"** para evitar confirmações repetidas durante a mesma sessão de chat. Essa medida de segurança é implementada pela OpenAI para garantir que as ferramentas MCP não executem ações não intencionais.
+
+Depois de confirmar, o ChatGPT executará a solicitação e retornará os resultados.
+
+
+
+
\ No newline at end of file
diff --git a/pt-BR/developer-guides/mcp-setup-guides/claude-code.mdx b/pt-BR/developer-guides/mcp-setup-guides/claude-code.mdx
index 0a3ef905..d98012fc 100644
--- a/pt-BR/developer-guides/mcp-setup-guides/claude-code.mdx
+++ b/pt-BR/developer-guides/mcp-setup-guides/claude-code.mdx
@@ -27,7 +27,6 @@ Substitua `your-api-key` pela sua chave de API do Firecrawl.
Pronto! Agora você pode pesquisar e extrair dados da web pelo Claude Code.
-
## Demonstração rápida
diff --git a/pt-BR/developer-guides/mcp-setup-guides/cursor.mdx b/pt-BR/developer-guides/mcp-setup-guides/cursor.mdx
index 26559da3..91bb26ad 100644
--- a/pt-BR/developer-guides/mcp-setup-guides/cursor.mdx
+++ b/pt-BR/developer-guides/mcp-setup-guides/cursor.mdx
@@ -37,7 +37,6 @@ Abra as configurações (`Cmd+,`), pesquise por "MCP" e adicione:
Substitua `your_api_key_here` pela sua chave de API do Firecrawl.
-
### 3. Reinicie o Cursor
diff --git a/pt-BR/developer-guides/mcp-setup-guides/factory-ai.mdx b/pt-BR/developer-guides/mcp-setup-guides/factory-ai.mdx
index 37da6a83..ade0de5f 100644
--- a/pt-BR/developer-guides/mcp-setup-guides/factory-ai.mdx
+++ b/pt-BR/developer-guides/mcp-setup-guides/factory-ai.mdx
@@ -33,7 +33,6 @@ curl -fsSL https://app.factory.ai/cli | sh
iwr https://app.factory.ai/cli/install.ps1 -useb | iex
```
-
### 3. Adicionar o servidor MCP do Firecrawl
@@ -46,7 +45,6 @@ No CLI do Factory droid, adicione o Firecrawl com o comando `/mcp add`:
Substitua `your-api-key-here` pela sua chave de API real do Firecrawl.
-
### 4. Pronto!
diff --git a/pt-BR/developer-guides/mcp-setup-guides/windsurf.mdx b/pt-BR/developer-guides/mcp-setup-guides/windsurf.mdx
index 6dc44483..ae338fad 100644
--- a/pt-BR/developer-guides/mcp-setup-guides/windsurf.mdx
+++ b/pt-BR/developer-guides/mcp-setup-guides/windsurf.mdx
@@ -37,7 +37,6 @@ Adicione o seguinte ao seu `./codeium/windsurf/model_config.json`:
Substitua `YOUR_API_KEY` pela sua chave de API real do Firecrawl.
-
### 3. Reinicie o Windsurf
diff --git a/pt-BR/features/alpha/llmstxt-npx.mdx b/pt-BR/features/alpha/llmstxt-npx.mdx
index f17568f0..6ae4038b 100644
--- a/pt-BR/features/alpha/llmstxt-npx.mdx
+++ b/pt-BR/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Você pode executar este pacote com NPX sem precisar instalá-lo. Há duas manei
npx generate-llmstxt --api-key SUA_CHAVE_DA_API_DA_FIRECRAWL
```
-
### 2. Usando Variáveis de Ambiente
@@ -47,7 +46,6 @@ Em seguida, execute o comando sem a opção --api-key:
npx generate-llmstxt
```
-
### Opções
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## Requisitos
diff --git a/pt-BR/features/change-tracking.mdx b/pt-BR/features/change-tracking.mdx
index 25ab9727..7105c5c2 100644
--- a/pt-BR/features/change-tracking.mdx
+++ b/pt-BR/features/change-tracking.mdx
@@ -82,7 +82,6 @@ Exemplo de resposta:
}
```
-
### Opções avançadas
@@ -170,7 +169,6 @@ if 'json' in result.change_tracking:
...
```
-
### Exemplo de resultados de comparação em JSON:
@@ -184,7 +182,6 @@ if 'json' in result.change_tracking:
}
```
-
### Modelos de dados
@@ -278,7 +275,6 @@ A representação JSON estruturada do diff inclui:
* `chunks`: Seções de alterações dentro de um arquivo
* `changes`: Alterações de linha individuais com tipo (add, delete, normal)
-
### Modo JSON
@@ -302,7 +298,6 @@ Exemplo de saída:
Para usar o modo JSON, você precisa fornecer um esquema que defina os campos a extrair e comparar.
-
## Fatos importantes
@@ -353,7 +348,6 @@ Aqui estão alguns detalhes importantes ao usar o recurso de rastreio de mudanç
}
```
-
### Exemplo de Crawl
@@ -368,7 +362,6 @@ Aqui estão alguns detalhes importantes ao usar o recurso de rastreio de mudanç
}
```
-
### Acompanhando alterações no preço de produto
diff --git a/pt-BR/features/extract.mdx b/pt-BR/features/extract.mdx
index 83355fd7..9bca57db 100644
--- a/pt-BR/features/extract.mdx
+++ b/pt-BR/features/extract.mdx
@@ -32,7 +32,6 @@ O endpoint `/extract` simplifica a coleta de dados estruturados de qualquer núm
Simplificamos a cobrança: agora o Extract usa créditos, assim como os outros endpoints. Cada crédito equivale a 15 tokens.
-
diff --git a/pt-BR/features/search-v0.mdx b/pt-BR/features/search-v0.mdx
index 896f369e..f6fe152d 100644
--- a/pt-BR/features/search-v0.mdx
+++ b/pt-BR/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Com o SDK do Python
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### Pesquisar uma busca
@@ -94,7 +92,6 @@ result = app.search(query="O que é o Firecrawl?")
A resposta será semelhante à exibida no comando curl acima.
-
### Com o SDK de JavaScript
@@ -107,7 +104,6 @@ A resposta será semelhante à exibida no comando curl acima.
npm install @mendable/firecrawl-js
```
-
#### Pesquisar uma busca
@@ -124,7 +120,6 @@ const result = await app.search('O que é o Firecrawl?');
A resposta será semelhante à exibida no comando curl acima.
-
### Com o SDK do Go
@@ -137,7 +132,6 @@ A resposta será semelhante à exibida no comando curl acima.
go get github.com/mendableai/firecrawl-go
```
-
#### Pesquisar uma busca
@@ -165,7 +159,6 @@ func main() {
}
```
-
### Com o SDK do Rust
@@ -188,7 +181,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### Pesquisar uma busca
diff --git a/pt-BR/integrations/camelai.mdx b/pt-BR/integrations/camelai.mdx
index 44235441..ddb061dc 100644
--- a/pt-BR/integrations/camelai.mdx
+++ b/pt-BR/integrations/camelai.mdx
@@ -14,7 +14,6 @@ pip install camel-ai
```
-
## Uso
@@ -36,7 +35,6 @@ mock_app.crawl_url.return_value = respons
result = firecrawl.markdown_crawl(url)
```
-
### Usando o Firecrawl para coletar uma única página
diff --git a/pt-BR/integrations/crewai.mdx b/pt-BR/integrations/crewai.mdx
index 4bb73c1c..5dd97695 100644
--- a/pt-BR/integrations/crewai.mdx
+++ b/pt-BR/integrations/crewai.mdx
@@ -22,7 +22,6 @@ O Firecrawl está integrado ao [CrewAI, o framework para orquestração de agent
pip install firecrawl-py 'crewai[tools]'
```
-
## Ferramentas
@@ -43,7 +42,6 @@ from crewai_tools import FirecrawlCrawlWebsiteTool
tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```
-
#### Argumentos
@@ -79,7 +77,6 @@ from crewai_tools import FirecrawlScrapeWebsiteTool
tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```
-
#### Argumentos
@@ -111,7 +108,6 @@ from crewai_tools import FirecrawlSearchTool
tool = FirecrawlSearchTool(query='o que é o Firecrawl?')
```
-
#### Argumentos
diff --git a/pt-BR/mcp-server.mdx b/pt-BR/mcp-server.mdx
index 4db1f7bd..dd6c573f 100644
--- a/pt-BR/mcp-server.mdx
+++ b/pt-BR/mcp-server.mdx
@@ -32,7 +32,6 @@ Você pode usar nossa URL hospedada ou executar o servidor localmente. Obtenha s
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
```
-
### Executando com npx
@@ -41,14 +40,12 @@ https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
```
-
### Instalação Manual
```bash
npm install -g firecrawl-mcp
```
-
### Executando no Cursor
@@ -126,7 +123,6 @@ Adicione isto ao arquivo `./codeium/windsurf/model_config.json`:
}
```
-
### Executando no modo HTTP com streaming
@@ -139,7 +135,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-SUA_CHAVE_DA_API npx -y fir
Use a URL: http://localhost:3000/v2/mcp ou https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
-
### Instalação via Smithery (legado)
@@ -150,7 +145,6 @@ Para instalar o Firecrawl para o Claude Desktop automaticamente via [Smithery](h
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
```
-
### Executando no VS Code
@@ -217,7 +211,6 @@ Veja a referência: [directus/directus#25906 (comment)](https://github.com/direc
O servidor MCP ainda funciona normalmente quando acionado por outras extensões, mas o problema ocorre especificamente ao registrá-lo diretamente na lista de servidores MCP. Planejamos adicionar orientações assim que o VS Code atualizar a validação do esquema.
-
### Executando no Claude Desktop
@@ -237,7 +230,6 @@ Adicione isto ao arquivo de configuração do Claude:
}
```
-
### Executando no Claude Code
@@ -248,7 +240,6 @@ Adicione o servidor MCP do Firecrawl usando a CLI do Claude Code:
claude mcp add firecrawl -e FIRECRAWL_API_KEY=sua-chave-de-API -- npx -y firecrawl-mcp
```
-
### Executando no n8n
@@ -280,7 +271,6 @@ env HTTP_STREAMABLE_SERVER=true \
Isso iniciará o servidor em `http://localhost:3000/v2/mcp`, que você pode usar no seu workflow do n8n como endpoint. A variável de ambiente `HTTP_STREAMABLE_SERVER=true` é obrigatória, pois o n8n requer transporte HTTP.
-
## Configuração
@@ -355,7 +345,6 @@ export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Comece com novas tentativas mais rápidas
```
-
### Configuração personalizada com o Claude Desktop
@@ -384,7 +373,6 @@ Adicione isto ao seu `claude_desktop_config.json`:
}
```
-
### Configuração do sistema
@@ -425,7 +413,6 @@ Essas configurações controlam:
* Aviso ao restarem 1000 créditos
* Alerta crítico ao restarem 100 créditos
-
### Limitação de taxa e processamento em lote
@@ -464,7 +451,6 @@ Extraia conteúdo de uma única URL com opções avançadas.
}
```
-
### 2. Ferramenta de Scrape em Lote (`firecrawl_batch_scrape`)
@@ -498,7 +484,6 @@ A resposta inclui o ID da operação para verificar o status:
}
```
-
### 3. Verificar o status do lote (`firecrawl_check_batch_status`)
@@ -514,7 +499,6 @@ Verifique o status de uma operação em lote.
}
```
-
### 4. Ferramenta de Mapeamento (`firecrawl_map`)
@@ -535,7 +519,6 @@ Mapeie um site para descobrir todas as URLs indexadas no site.
}
```
-
#### Opções da ferramenta Map:
@@ -572,7 +555,6 @@ Pesquise na web e, opcionalmente, extraia conteúdo dos resultados da busca.
}
```
-
### 6. Ferramenta de Rastreamento (`firecrawl_crawl`)
@@ -592,7 +574,6 @@ Inicie uma varredura assíncrona com opções avançadas.
}
```
-
### 7. Verificar o status do rastreamento (`firecrawl_check_crawl_status`)
@@ -610,7 +591,6 @@ Verifique o status de uma tarefa de rastreamento.
**Retorna:** Status e progresso do job de rastreamento, incluindo os resultados, se disponíveis.
-
@@ -658,7 +638,6 @@ Exemplo de resposta:
}
```
-
@@ -695,7 +674,6 @@ Exemplos de mensagens de log:
[ERROR] Limite de requisições excedido, tentando novamente em 2s...
```
-
## Tratamento de erros
@@ -722,7 +700,6 @@ Exemplo de resposta de erro:
}
```
-
## Desenvolvimento
@@ -738,7 +715,6 @@ npm run build
npm test
```
-
### Contribuindo
diff --git a/pt-BR/v0/advanced-scraping-guide.mdx b/pt-BR/v0/advanced-scraping-guide.mdx
index 902512ed..b8bd9b85 100644
--- a/pt-BR/v0/advanced-scraping-guide.mdx
+++ b/pt-BR/v0/advanced-scraping-guide.mdx
@@ -169,7 +169,6 @@ Neste exemplo, o scraper vai:
Aqui está a referência da API correspondente: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -262,7 +261,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}
```
-
## Ajustando o tempo limite
@@ -284,7 +282,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}'
```
-
## Rastreamento de múltiplas páginas
@@ -306,7 +303,6 @@ Retorna um jobId
{ "jobId": "1234-5678-9101" }
```
-
### Verificar Job de Crawler
@@ -319,7 +315,6 @@ curl -X GET https://api.firecrawl.dev/v0/crawl/status/1234-5678-9101 \
-H 'Authorization: Bearer SUA_CHAVE_DE_API'
```
-
### Opções do Crawler
@@ -405,7 +400,6 @@ Neste exemplo, o crawler vai:
* Usar o modo de rastreamento rápido.
* Rastrear no máximo 1000 páginas.
-
## Opções de Página + Opções do Crawler
@@ -446,7 +440,6 @@ Neste exemplo, o crawler vai:
* Rastrear até uma profundidade máxima de 2.
* Usar o modo de rastreamento rápido.
-
diff --git a/pt-BR/v0/api-reference/endpoint/crawl-cancel.mdx b/pt-BR/v0/api-reference/endpoint/crawl-cancel.mdx
index 2e3ef462..1f972059 100644
--- a/pt-BR/v0/api-reference/endpoint/crawl-cancel.mdx
+++ b/pt-BR/v0/api-reference/endpoint/crawl-cancel.mdx
@@ -1,4 +1,4 @@
---
title: 'Cancelar Trabalho de Rastreamento'
-openapi: 'v0-openapi DELETE /crawl/cancel/{jobId}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V0-OPENAPI DELETE /crawl/cancel/{jobId}'
---
\ No newline at end of file
diff --git a/pt-BR/v0/api-reference/endpoint/crawl.mdx b/pt-BR/v0/api-reference/endpoint/crawl.mdx
index db920279..f7283ecd 100644
--- a/pt-BR/v0/api-reference/endpoint/crawl.mdx
+++ b/pt-BR/v0/api-reference/endpoint/crawl.mdx
@@ -1,4 +1,4 @@
---
title: 'Rastreamento'
-openapi: 'v0-openapi POST /crawl'
+openapi: '/pt-BR/api-reference/v1-openapi.json V0-OPENAPI POST /crawl'
---
\ No newline at end of file
diff --git a/pt-BR/v0/api-reference/endpoint/scrape.mdx b/pt-BR/v0/api-reference/endpoint/scrape.mdx
index 3baf8c59..45e192b8 100644
--- a/pt-BR/v0/api-reference/endpoint/scrape.mdx
+++ b/pt-BR/v0/api-reference/endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: 'Scrape'
-openapi: 'v0-openapi POST /scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V0-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/pt-BR/v0/api-reference/endpoint/search.mdx b/pt-BR/v0/api-reference/endpoint/search.mdx
index f6a4b6ec..f663370e 100644
--- a/pt-BR/v0/api-reference/endpoint/search.mdx
+++ b/pt-BR/v0/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Search (Beta)"
-openapi: 'v0-openapi POST /search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V0-OPENAPI POST /search'
---
O endpoint de busca combina uma API de pesquisa com o poder do Firecrawl para oferecer uma experiência de busca robusta para qualquer consulta.
diff --git a/pt-BR/v0/api-reference/endpoint/status.mdx b/pt-BR/v0/api-reference/endpoint/status.mdx
index f622b8c2..14123f3e 100644
--- a/pt-BR/v0/api-reference/endpoint/status.mdx
+++ b/pt-BR/v0/api-reference/endpoint/status.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status do crawl'
-openapi: 'v0-openapi GET /crawl/status/{jobId}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V0-OPENAPI GET /crawl/status/{jobId}'
---
Este endpoint obtém o status de um job de crawl. Se o job não estiver concluído, a resposta incluirá conteúdo em `partial_data`. Quando o job for concluído, o conteúdo ficará disponível em `data`.
diff --git a/pt-BR/v0/api-reference/introduction.mdx b/pt-BR/v0/api-reference/introduction.mdx
index e03b5481..c32c6a36 100644
--- a/pt-BR/v0/api-reference/introduction.mdx
+++ b/pt-BR/v0/api-reference/introduction.mdx
@@ -13,7 +13,6 @@ Todas as solicitações usam a seguinte URL base:
https://api.firecrawl.dev
```
-
## Autenticação
@@ -26,7 +25,6 @@ Authorization: Bearer fc_123456789
-
## Códigos de resposta
diff --git a/pt-BR/v0/api-reference/v0-openapi.json b/pt-BR/v0/api-reference/v0-openapi.json
new file mode 100644
index 00000000..abf4fdcf
--- /dev/null
+++ b/pt-BR/v0/api-reference/v0-openapi.json
@@ -0,0 +1,947 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v0",
+ "description": "API para interagir com os serviços da Firecrawl e executar tarefas de raspagem e rastreamento da web.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v0"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Raspe os dados de uma única URL e, opcionalmente, extraia informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser coletada"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados com a requisição. Podem ser usados para enviar cookies, user-agent etc."
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Incluir a versão HTML do conteúdo na página. Será retornada uma chave html na resposta.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclui o conteúdo HTML bruto da página. Gera uma chave rawHtml na resposta.",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Inclua apenas as tags, classes e IDs da página na saída final. Use valores separados por vírgula. Exemplo: 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne somente o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags, classes e IDs a serem removidos da página. Use valores separados por vírgulas. Exemplo: 'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "Substitua todos os caminhos relativos de imagens e links por caminhos absolutos",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "Inclua uma captura de tela do topo da página que você está raspando.",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "Inclua uma captura de tela completa da página da qual você está extraindo dados.",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Aguarde x milissegundos para a página carregar antes de buscar o conteúdo",
+ "default": 0
+ }
+ }
+ },
+ "extractorOptions": {
+ "type": "object",
+ "description": "Opções para extração de informações estruturadas do conteúdo da página. Observação: a extração baseada em LLM não é executada automaticamente e só ocorre quando configurada explicitamente. O modo `markdown` simplesmente retorna o markdown raspado e é o modo padrão de scraping.",
+ "default": {},
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "llm-extraction",
+ "llm-extraction-from-raw-html",
+ "llm-extraction-from-markdown"
+ ],
+ "description": "O modo de extração a ser usado. 'markdown': Retorna o conteúdo em markdown coletado, não realiza extração por LLM. 'llm-extraction': Extrai informações do conteúdo limpo e analisado usando LLM. 'llm-extraction-from-raw-html': Extrai informações diretamente do HTML bruto usando LLM. 'llm-extraction-from-markdown': Extrai informações do conteúdo em markdown usando LLM."
+ },
+ "extractionPrompt": {
+ "type": "string",
+ "description": "Um prompt que descreve quais informações extrair da página, aplicável aos modos de extração com LLM."
+ },
+ "extractionSchema": {
+ "type": "object",
+ "additionalProperties": true,
+ "description": "O esquema de dados a serem extraídos, obrigatório apenas para os modos de extração com LLM.",
+ "required": [
+ "company_mission",
+ "supports_sso",
+ "is_open_source"
+ ]
+ }
+ }
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite da requisição, em milissegundos",
+ "default": 30000
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Rastrear várias URLs com base nas opções",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL base a partir da qual o rastreamento deve começar"
+ },
+ "crawlerOptions": {
+ "type": "object",
+ "properties": {
+ "includes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de URL para incluir"
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de URL a excluir"
+ },
+ "generateImgAltText": {
+ "type": "boolean",
+ "description": "Gerar texto alternativo para imagens com LLMs (é necessário um plano pago)",
+ "default": false
+ },
+ "returnOnlyUrls": {
+ "type": "boolean",
+ "description": "Se definido como true, retorna apenas as URLs como uma lista no status do crawl. Atenção: a resposta será uma lista de URLs dentro de data, e não uma lista de documentos.",
+ "default": false
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de rastreamento em relação à URL informada. Um maxDepth de 0 coleta apenas a URL informada. Um maxDepth de 1 coleta a URL informada e todas as páginas a um nível abaixo. Um maxDepth de 2 coleta a URL informada e todas as páginas até dois níveis abaixo. Valores maiores seguem o mesmo padrão."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "default",
+ "fast"
+ ],
+ "description": "O modo de rastreamento a ser utilizado. O modo rápido rastreia sites sem sitemap até 4x mais rápido, mas pode não ser tão preciso e não deve ser usado em sites com uso intenso de renderização em JavaScript.",
+ "default": "default"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorar o sitemap do site durante o rastreamento",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas para rastrear",
+ "default": 10000
+ },
+ "allowBackwardCrawling": {
+ "type": "boolean",
+ "description": "Permite que o crawler navegue de uma URL específica de volta para páginas que a referenciaram anteriormente. Por exemplo, de 'example.com/product/123' de volta para 'example.com/product'",
+ "default": false
+ },
+ "allowExternalContentLinks": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para sites externos.",
+ "default": false
+ }
+ }
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos para enviar na requisição. Podem ser usados para enviar cookies, user agent etc."
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Inclui a versão HTML do conteúdo da página. Retornará uma chave html na resposta.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclui o conteúdo HTML bruto da página. Gera uma chave rawHtml na resposta.",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Inclua apenas as tags, classes e IDs da página na saída final. Use valores separados por vírgulas. Exemplo: 'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne apenas o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags, classes e IDs a serem removidos da página. Use valores separados por vírgula. Exemplo: 'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "Substitua todos os caminhos relativos por caminhos absolutos em imagens e links",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "Inclua uma captura de tela do topo da página da qual você está extraindo dados.",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "Inclua uma captura de tela em tamanho completo da página da qual você está extraindo dados.",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Aguarde x milissegundos para que a página carregue antes de buscar o conteúdo",
+ "default": 0
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Busca uma palavra-chave no Google e retorna as principais páginas com o conteúdo em Markdown de cada uma",
+ "operationId": "searchGoogle",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "format": "uri",
+ "description": "A consulta de pesquisa"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne apenas o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.",
+ "default": false
+ },
+ "fetchPageContent": {
+ "type": "boolean",
+ "description": "Busca o conteúdo de cada página. Se definido como false, o padrão é usar uma API SERP básica e rápida.",
+ "default": true
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "Incluir a versão HTML do conteúdo na página. Isso fará com que a resposta inclua uma chave html.",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "Inclui o conteúdo HTML bruto da página. Vai gerar uma chave rawHtml na resposta.",
+ "default": false
+ }
+ }
+ },
+ "searchOptions": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "description": "Quantidade máxima de resultados. O limite é 20 durante o beta."
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/status/{jobId}": {
+ "get": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "Obtenha o status de uma tarefa de rastreamento",
+ "operationId": "getCrawlStatus",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status da tarefa (concluída, ativa, com falha, pausada)"
+ },
+ "current": {
+ "type": "integer",
+ "description": "Número da página atual"
+ },
+ "total": {
+ "type": "integer",
+ "description": "Total de páginas"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "Dados retornados pelo job (null enquanto estiver em execução)"
+ },
+ "partial_data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "Documentos parciais são retornados enquanto o site está sendo rastreado (streaming). **Este recurso está atualmente em fase alpha – espere mudanças incompatíveis.** Quando uma página estiver pronta, ela será adicionada ao array `partial_data`, então não é necessário esperar que todo o site seja rastreado. Quando o rastreamento terminar, `partial_data` ficará vazio e o resultado estará disponível em `data`. Há um máximo de 50 itens na resposta em forma de array. O item mais antigo (no topo do array) será removido quando um novo item for adicionado ao array."
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/cancel/{jobId}": {
+ "delete": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "Cancelar um job de rastreamento",
+ "operationId": "cancelCrawlJob",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Devoluções canceladas."
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página quando `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, quando `includeRawHtml` é true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Exibido ao usar LLM Extraction. Dados extraídos da página de acordo com o esquema definido.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pode ser exibida ao usar a extração por LLM. A mensagem de aviso informará sobre quaisquer problemas com a extração."
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página se `includeHtml` estiver definido como `true`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `includeRawHtml` for true"
+ },
+ "index": {
+ "type": "integer",
+ "description": "O número da página que foi rastreada. Isso é útil em `partial_data`, para que você saiba de qual página os dados são."
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ }
+ }
+ },
+ "SearchResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pt-BR/v0/features/crawl.mdx b/pt-BR/v0/features/crawl.mdx
index 531d0573..c6fda708 100644
--- a/pt-BR/v0/features/crawl.mdx
+++ b/pt-BR/v0/features/crawl.mdx
@@ -173,7 +173,6 @@ No cURL, o endpoint /crawl sempre retornará um jobId que você pode usar para v
{ "jobId": "1234-5678-9101" }
```
-
### Verificar tarefa de crawl
diff --git a/pt-BR/v0/features/extract.mdx b/pt-BR/v0/features/extract.mdx
index 5547ca7c..fa724b4a 100644
--- a/pt-BR/v0/features/extract.mdx
+++ b/pt-BR/v0/features/extract.mdx
@@ -98,7 +98,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
```
-
### Usando o SDK Python
@@ -130,7 +129,6 @@ data = app.scrape_url('https://news.ycombinator.com', {
print(data["llm_extraction"])
```
-
### Com o SDK de JavaScript
@@ -166,7 +164,6 @@ const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", {
console.log(scrapeResult.data["llm_extraction"]);
```
-
### Com o SDK Go
@@ -222,7 +219,6 @@ func main() {
}
```
-
### Com o SDK Rust
diff --git a/pt-BR/v1/advanced-scraping-guide.mdx b/pt-BR/v1/advanced-scraping-guide.mdx
index f382e92e..da76a46d 100644
--- a/pt-BR/v1/advanced-scraping-guide.mdx
+++ b/pt-BR/v1/advanced-scraping-guide.mdx
@@ -195,7 +195,6 @@ Neste exemplo, o scraper vai:
Aqui está a referência da API para isso: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -296,7 +295,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
}
```
-
## Ações
@@ -489,7 +487,6 @@ Retorna um ID
{ "id": "1234-5678-9101" }
```
-
### Verificar tarefa de crawl
@@ -502,7 +499,6 @@ curl -X GET https://api.firecrawl.dev/v1/crawl/1234-5678-9101 \
-H 'Authorization: Bearer SUA_CHAVE_DE_API'
```
-
@@ -622,7 +618,6 @@ Neste exemplo, o crawler vai:
* Rastrear até uma profundidade máxima de 2.
* Rastrear no máximo 1000 páginas.
-
## Mapeando links de sites com `/map`
@@ -646,7 +641,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
Isso retornará um objeto JSON contendo links contextualmente relacionados ao URL.
-
### Exemplo de resposta
@@ -668,7 +662,6 @@ Isso retornará um objeto JSON contendo links contextualmente relacionados ao UR
}
```
-
### Opções de mapeamento
diff --git a/pt-BR/v1/api-reference/endpoint/batch-scrape-delete.mdx b/pt-BR/v1/api-reference/endpoint/batch-scrape-delete.mdx
index d81a4ba7..ac4dfa49 100644
--- a/pt-BR/v1/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/pt-BR/v1/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancelar raspagem em lote'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-delete) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/batch-scrape-get-errors.mdx b/pt-BR/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
index 699f8fbb..86aac09a 100644
--- a/pt-BR/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/pt-BR/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros de batch scrape'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-get-errors) já está disponível, com relatórios de erros e recursos de depuração aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/batch-scrape-get.mdx b/pt-BR/v1/api-reference/endpoint/batch-scrape-get.mdx
index ea1ad1a6..c804f299 100644
--- a/pt-BR/v1/api-reference/endpoint/batch-scrape-get.mdx
+++ b/pt-BR/v1/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status de scrape em lote'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape-get) com melhorias no acompanhamento de status e nas funcionalidades de monitoramento.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/batch-scrape.mdx b/pt-BR/v1/api-reference/endpoint/batch-scrape.mdx
index 399f5e43..8f2e2637 100644
--- a/pt-BR/v1/api-reference/endpoint/batch-scrape.mdx
+++ b/pt-BR/v1/api-reference/endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Raspagem em lote'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/batch-scrape) está disponível, com desempenho e confiabilidade aprimorados para processamento em lote.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/crawl-active.mdx b/pt-BR/v1/api-reference/endpoint/crawl-active.mdx
index c3dc5d44..e3b87e26 100644
--- a/pt-BR/v1/api-reference/endpoint/crawl-active.mdx
+++ b/pt-BR/v1/api-reference/endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: 'Ver rastreamentos ativos'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-active) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/crawl-delete.mdx b/pt-BR/v1/api-reference/endpoint/crawl-delete.mdx
index d26fbe41..31254d98 100644
--- a/pt-BR/v1/api-reference/endpoint/crawl-delete.mdx
+++ b/pt-BR/v1/api-reference/endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancelar crawl'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-delete) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/crawl-get-errors.mdx b/pt-BR/v1/api-reference/endpoint/crawl-get-errors.mdx
index 343f7417..e8a21d05 100644
--- a/pt-BR/v1/api-reference/endpoint/crawl-get-errors.mdx
+++ b/pt-BR/v1/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros do crawl'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> Observação: uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-get-errors) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/crawl-get.mdx b/pt-BR/v1/api-reference/endpoint/crawl-get.mdx
index 9d540d77..6b921ac0 100644
--- a/pt-BR/v1/api-reference/endpoint/crawl-get.mdx
+++ b/pt-BR/v1/api-reference/endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Consultar status do crawl'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-get) já está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/crawl-post.mdx b/pt-BR/v1/api-reference/endpoint/crawl-post.mdx
index 2cd80051..becc5a84 100644
--- a/pt-BR/v1/api-reference/endpoint/crawl-post.mdx
+++ b/pt-BR/v1/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> Observação: Já está disponível uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/crawl-post), com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/credit-usage-historical.mdx b/pt-BR/v1/api-reference/endpoint/credit-usage-historical.mdx
index 8d515b58..868b7d89 100644
--- a/pt-BR/v1/api-reference/endpoint/credit-usage-historical.mdx
+++ b/pt-BR/v1/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de créditos'
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
Retorna o uso histórico de créditos mês a mês. O endpoint também pode, opcionalmente, detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/credit-usage.mdx b/pt-BR/v1/api-reference/endpoint/credit-usage.mdx
index 6e5a4050..8abc5fe3 100644
--- a/pt-BR/v1/api-reference/endpoint/credit-usage.mdx
+++ b/pt-BR/v1/api-reference/endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Uso de créditos'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/credit-usage) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/deep-research-get.mdx b/pt-BR/v1/api-reference/endpoint/deep-research-get.mdx
index 993ede4a..de5052d0 100644
--- a/pt-BR/v1/api-reference/endpoint/deep-research-get.mdx
+++ b/pt-BR/v1/api-reference/endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Pesquisa aprofundada'
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/deep-research.mdx b/pt-BR/v1/api-reference/endpoint/deep-research.mdx
index 06110d34..d2674ee0 100644
--- a/pt-BR/v1/api-reference/endpoint/deep-research.mdx
+++ b/pt-BR/v1/api-reference/endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
O endpoint Deep Research permite realizar pesquisas e análises aprofundadas com IA sobre qualquer assunto. Basta fornecer uma consulta de pesquisa e o Firecrawl explorará a web de forma autônoma, reunirá informações relevantes e sintetizará os achados em insights abrangentes.
diff --git a/pt-BR/v1/api-reference/endpoint/extract-get.mdx b/pt-BR/v1/api-reference/endpoint/extract-get.mdx
index 48b762ff..e9a6c676 100644
--- a/pt-BR/v1/api-reference/endpoint/extract-get.mdx
+++ b/pt-BR/v1/api-reference/endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Verificar status de extração'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/extract-get) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/extract.mdx b/pt-BR/v1/api-reference/endpoint/extract.mdx
index 2c5195d3..ad269f95 100644
--- a/pt-BR/v1/api-reference/endpoint/extract.mdx
+++ b/pt-BR/v1/api-reference/endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extrair'
-openapi: 'v1-openapi POST /extract'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/extract) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/llmstxt-get.mdx b/pt-BR/v1/api-reference/endpoint/llmstxt-get.mdx
index 5e3ef6d4..77331b27 100644
--- a/pt-BR/v1/api-reference/endpoint/llmstxt-get.mdx
+++ b/pt-BR/v1/api-reference/endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "Status do LLMs.txt"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
Obtenha o status e os resultados de uma tarefa de geração do LLMs.txt. Este endpoint permite verificar se a geração foi concluída e recuperar o conteúdo gerado.
@@ -69,7 +69,6 @@ Se o trabalho de geração falhar ou não for encontrado, você receberá uma re
}
```
-
### Recomendações de polling
diff --git a/pt-BR/v1/api-reference/endpoint/llmstxt.mdx b/pt-BR/v1/api-reference/endpoint/llmstxt.mdx
index 4d4f3cac..9da434ec 100644
--- a/pt-BR/v1/api-reference/endpoint/llmstxt.mdx
+++ b/pt-BR/v1/api-reference/endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "Gerar LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
O endpoint de geração de LLMs.txt cria os arquivos LLMs.txt e LLMs-full.txt para qualquer site. Esses arquivos oferecem um formato estruturado e otimizado para LLMs do conteúdo do site, facilitando para os modelos de linguagem entender e processar as informações.
diff --git a/pt-BR/v1/api-reference/endpoint/map.mdx b/pt-BR/v1/api-reference/endpoint/map.mdx
index e3302b9f..123166cd 100644
--- a/pt-BR/v1/api-reference/endpoint/map.mdx
+++ b/pt-BR/v1/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> Observação: já está disponível uma [nova versão v2 desta API](/pt-BR/api-reference/endpoint/map) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/scrape.mdx b/pt-BR/v1/api-reference/endpoint/scrape.mdx
index c24f4afa..e31af7a8 100644
--- a/pt-BR/v1/api-reference/endpoint/scrape.mdx
+++ b/pt-BR/v1/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> Nota: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/scrape) está disponível, com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/search.mdx b/pt-BR/v1/api-reference/endpoint/search.mdx
index b3ed69b8..2ce814df 100644
--- a/pt-BR/v1/api-reference/endpoint/search.mdx
+++ b/pt-BR/v1/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> Observação: Uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/search) está disponível, com recursos e desempenho aprimorados.
diff --git a/pt-BR/v1/api-reference/endpoint/token-usage-historical.mdx b/pt-BR/v1/api-reference/endpoint/token-usage-historical.mdx
index 3d20ff35..f7d677c4 100644
--- a/pt-BR/v1/api-reference/endpoint/token-usage-historical.mdx
+++ b/pt-BR/v1/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de tokens'
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/token-usage/historical'
---
Retorna o uso histórico de tokens, mês a mês. O endpoint também pode detalhar o uso por chave de API, opcionalmente.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/endpoint/token-usage.mdx b/pt-BR/v1/api-reference/endpoint/token-usage.mdx
index 3e469792..3a9c25c3 100644
--- a/pt-BR/v1/api-reference/endpoint/token-usage.mdx
+++ b/pt-BR/v1/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Uso de tokens'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> Observação: Já está disponível uma [versão v2 desta API](/pt-BR/api-reference/endpoint/token-usage) com recursos e desempenho aprimorados.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v1-openapi.json b/pt-BR/v1/api-reference/v1-openapi.json
new file mode 100644
index 00000000..88f5993a
--- /dev/null
+++ b/pt-BR/v1/api-reference/v1-openapi.json
@@ -0,0 +1,3387 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "API para interagir com os serviços Firecrawl e executar tarefas de web scraping e crawling.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Fazer scraping de uma única URL e, opcionalmente, extrair informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser raspada"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a política de não retenção de dados para esta raspagem. Para habilitar este recurso, entre em contato com help@firecrawl.dev."
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta de sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Faça scraping de várias URLs e, opcionalmente, extraia informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL a ser coletada"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "URL para onde o webhook será enviado. Ele será acionado quando a raspagem em lote for iniciada (batch_scrape.started), a cada página raspada (batch_scrape.page) e quando a raspagem em lote for concluída (batch_scrape.completed ou batch_scrape.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipos de eventos a serem enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de scrapes simultâneos. Este parâmetro permite definir um limite de concorrência para este lote de scrape. Se não for definido, o scrape em lote respeitará o limite de concorrência da sua equipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que a requisição inteira falhe, será criada uma raspagem em lote usando as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a política de nenhuma retenção de dados para este batch scrape. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de um job de raspagem em lote",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar um job de raspagem em lote",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de raspagem em lote não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter erros de uma tarefa de raspagem em lote",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de uma tarefa de rastreamento",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar uma tarefa de rastreamento",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tarefa de rastreamento não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter os erros de uma tarefa de rastreamento",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Rastrear várias URLs com base em opções",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL base a partir da qual o rastreamento será iniciado"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para o pathname da URL que excluem URLs correspondentes do crawl. Por exemplo, se você definir `\"excludePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, qualquer resultado que corresponder a esse padrão será excluído, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para caminhos (pathnames) de URL que definem quais URLs serão incluídas no crawl. Somente os caminhos que corresponderem aos padrões especificados serão incluídos na resposta. Por exemplo, se você definir `\"includePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, apenas os resultados que corresponderem a esse padrão serão incluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "Profundidade absoluta máxima de rastreamento a partir da base da URL fornecida. Basicamente, é o número máximo de barras que o caminho (pathname) de uma URL rastreada pode conter.",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de crawl com base na ordem de descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta igual a 0. Por exemplo, se você definir para 1 e definir ignoreSitemap, você fará o crawl apenas da URL informada e de todas as URLs que estiverem linkadas nessa página."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignorar o sitemap do site durante o rastreamento",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não faça scraping novamente no mesmo path com parâmetros de consulta diferentes (ou sem nenhum)",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas para rastrear. O limite padrão é 10.000.",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ DESCONTINUADO: Use 'crawlEntireDomain' em vez disso. Permite que o crawler siga links internos para URLs irmãs ou de nível superior, não apenas caminhos filhos.",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links internos para URLs irmãs ou parent, não apenas caminhos filhos.\n\nfalse: Só rastreia URLs mais profundas (filhas).\n→ ex.: /features/feature-1 → /features/feature-1/tips ✅\n→ Não seguirá /pricing ou / ❌\n\ntrue: Rastreia quaisquer links internos, incluindo irmãs e parent.\n→ ex.: /features/feature-1 → /pricing, /, etc. ✅\n\nUse true para obter uma cobertura interna mais ampla, além dos caminhos aninhados.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permite que o crawler siga links para outros sites.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para subdomínios do domínio principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Intervalo, em segundos, entre as coletas. Isso ajuda a respeitar os limites de requisições dos sites."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de raspagens simultâneas. Este parâmetro permite definir um limite de concorrência para este rastreamento. Se não for especificado, o rastreamento respeitará o limite de concorrência da sua equipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Um objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para a qual o webhook será enviado. Ele será acionado quando o crawl for iniciado (crawl.started), para cada página rastreada (crawl.page) e quando o crawl for concluído (crawl.completed ou crawl.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipos de eventos que devem ser enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará a retenção zero de dados para este crawl. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas requisições",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapear várias URLs de acordo com as opções",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL base para iniciar o rastreamento"
+ },
+ "search": {
+ "type": "string",
+ "description": "Consulta de pesquisa a ser usada para o mapeamento. Durante a fase Alfa, a parte “inteligente” da funcionalidade de pesquisa é limitada a 500 resultados. Porém, se o mapa encontrar mais resultados, nenhum limite será aplicado."
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Ignore o sitemap do site durante o rastreamento.",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "Retorne apenas links encontrados no sitemap do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Incluir subdomínios deste site",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de links a serem retornados",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos. Não há tempo limite definido por padrão."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento exigido",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraia dados estruturados de páginas com LLMs",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "As URLs das quais extrair dados. As URLs devem estar em formato glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt para guiar o processo de extração"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema que define a estrutura dos dados extraídos. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Quando for true, a extração usará pesquisa na web para encontrar dados adicionais",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Quando for true, os arquivos sitemap.xml serão ignorados durante a varredura do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Quando definido como true, os subdomínios das URLs fornecidas também serão varridos",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, as fontes usadas para extrair os dados serão incluídas na resposta como a chave `sources`",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Caso sejam especificadas URLs inválidas no array `urls`, elas serão ignoradas. Em vez de fazer com que toda a requisição falhe, será realizada uma extração usando as URLs válidas restantes, e as URLs inválidas serão retornadas no campo `invalidURLs` da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extração concluída com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Solicitação inválida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID do job de extração",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Consultar o status de um job de extração",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Obtém todos os rastreamentos ativos da equipe autenticada",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "O identificador único do rastreamento"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "ID da equipe proprietária do crawl"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL de origem do rastreamento"
+ },
+ "options": {
+ "type": "object",
+ "description": "As opções do crawler usadas nesta varredura",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "Iniciar uma operação de pesquisa profunda sobre uma consulta",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "A consulta de pesquisa"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "Profundidade máxima das iterações de pesquisa"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "Tempo limite em segundos"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "Número máximo de URLs a serem analisadas"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para a análise final. Útil para formatar o markdown da análise final de uma maneira específica."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Prompt de sistema a ser usado para o agente de pesquisa. Útil para orientar o agente de pesquisa em uma direção específica."
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Opções de saída em JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "O esquema a ser usado para a saída em formato JSON. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "O prompt de sistema a ser usado para a saída em formato JSON"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt a ser usado para a saída em formato JSON"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Tarefa de pesquisa iniciada com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID da tarefa de pesquisa"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Parâmetros da requisição inválidos",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de pesquisa",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenha o status e os resultados de uma operação de pesquisa aprofundada",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "Exibido quando se usa o formato JSON",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tarefa de pesquisa não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obter créditos restantes da equipe autenticada",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "Créditos restantes da equipe",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "Número de créditos do plano. Isso não inclui créditos de cupom, pacotes de créditos ou créditos de recarga automática.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se estiver no plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de cobrança. null se você estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações sobre o uso de créditos não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obtenha o consumo histórico de créditos da equipe autenticada",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obtenha o histórico de uso de créditos por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de encerramento do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API usada no período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Número total de créditos utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Obter tokens restantes da equipe autenticada (somente Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "Número de tokens restantes da equipe",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "Número de tokens no plano. Isso não inclui tokens de cupom.",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de cobrança. null se estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações de uso de tokens não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obter o uso histórico de tokens da equipe autenticada (somente Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obtenha o histórico de uso de tokens por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do ciclo de cobrança",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API usada no período de faturamento. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Número total de tokens utilizados no período de cobrança",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Pesquisar e, opcionalmente, raspar resultados de busca",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "A consulta de pesquisa"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de resultados a retornar",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa temporal. Suporta intervalos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de pesquisa"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite (em milissegundos)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclui dos resultados de busca as URLs que são inválidas para outros endpoints do Firecrawl. Isso ajuda a reduzir erros se você estiver enviando dados da busca para outros endpoints da API do Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "Opções para fazer scraping de resultados de pesquisa",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado da pesquisa"
+ },
+ "description": {
+ "type": "string",
+ "description": "Descrição do resultado da pesquisa"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado de busca"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown caso o scraping tenha sido solicitado"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML, se solicitado entre os formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, se solicitado entre os formatos"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitados nos formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, se solicitada nos formatos"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de aviso caso ocorra algum problema"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Tempo da requisição esgotado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "Gerar arquivo LLMs.txt para um site",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL usada para gerar o arquivo LLMs.txt"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "Número máximo de URLs para analisar",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "Inclua todo o conteúdo de texto na resposta",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Job de geração do LLMs.txt iniciado com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID da tarefa de geração do arquivo LLMs.txt"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Parâmetros da requisição inválidos",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID da tarefa de geração do arquivo LLMs.txt",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obtenha o status e os resultados de uma tarefa de geração de LLMs.txt",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "O conteúdo gerado do arquivo LLMs.txt"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "Todo o conteúdo de texto quando showFullText for true"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Quando o conteúdo gerado expira"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de geração do arquivo LLMs.txt não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne apenas o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags que devem ser incluídas na saída."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags a serem excluídas do resultado."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retorna uma versão em cache da página se ela tiver sido armazenada há menos tempo do que esse valor, em milissegundos. Se a versão em cache da página for mais antiga do que esse valor, a página será raspada novamente. Se você não precisar de dados extremamente atualizados, ativar esta opção pode acelerar suas coletas em até 500%. O padrão é 0, o que desativa o cache.",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados na requisição. Podem ser usados para enviar cookies, user-agent, etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Defina um atraso, em milissegundos, antes de buscar o conteúdo, permitindo que a página tenha tempo suficiente para carregar.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Defina como true se quiser emular a raspagem a partir de um dispositivo móvel. Útil para testar páginas responsivas e tirar capturas de tela em modo mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorar a verificação do certificado TLS ao fazer requisições",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite da requisição, em milissegundos",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "Define como arquivos PDF são processados durante o scraping. Quando definido como true, o conteúdo do PDF é extraído e convertido para o formato Markdown, com cobrança baseada no número de páginas (1 crédito por página). Quando definido como false, o arquivo PDF é retornado em codificação base64, com uma taxa fixa de 1 crédito no total.",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "Objeto de opções em JSON",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "O esquema a ser usado na extração (opcional). Deve seguir o [JSON Schema](https://json-schema.org/)."
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "Prompt de sistema a ser usado na extração (opcional)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para extração sem esquema (opcional)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "Ações a serem realizadas na página antes de coletar o conteúdo",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Aguarde por um número especificado de milissegundos"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Tempo de espera em milissegundos"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor para localizar o elemento por",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Tire uma captura de tela. Os links estarão no array `actions.screenshots` da resposta."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Define se deve fazer uma captura de tela da página inteira ou somente da área visível atual (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "A qualidade da captura de tela, de 1 a 100. 100 é a qualidade máxima."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Clique em um elemento"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor (query selector) para localizar o elemento por",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clica em todos os elementos que correspondem ao seletor, não apenas no primeiro. Não lança erro se nenhum elemento corresponder ao seletor.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Insira texto em um campo de entrada, área de texto ou elemento com contenteditable. Observação: primeiro você deve colocar o foco no elemento usando uma ação de clique antes de escrever. O texto será digitado caractere por caractere para simular a entrada via teclado."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texto a ser digitado",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Pressione uma tecla na página. Consulte https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html para obter os códigos de tecla.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Pressione uma tecla na página"
+ },
+ "key": {
+ "type": "string",
+ "description": "Tecla para pressionar",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Role a página ou um elemento específico"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Direção da rolagem",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor (CSS) do elemento que será rolado",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Extrai o conteúdo da página atual e retorna a URL e o HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Executar código JavaScript na página"
+ },
+ "script": {
+ "type": "string",
+ "description": "Código JavaScript a ser executado",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Gere um PDF da página atual. O PDF será retornado no array `actions.pdfs` da resposta."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "O tamanho da página do PDF resultante",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Se o PDF deve ser gerado em orientação horizontal",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Fator de escala do PDF resultante",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização da requisição. Quando especificadas, será usado um proxy apropriado, se disponível, e serão emuladas as configurações de idioma e fuso horário correspondentes. O padrão é “US” se não for especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO 3166-1 alfa-2 (por exemplo: 'US', 'AU', 'DE', 'JP')",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferidos para a requisição, em ordem de prioridade. Por padrão, utiliza o idioma da localização especificada. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Remove todas as imagens em base64 da saída, que podem ser excessivamente longas. O texto alternativo (alt) da imagem permanece na saída, mas o URL é substituído por um placeholder.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Habilita o bloqueio de anúncios e de pop-ups de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Especifica o tipo de proxy a ser usado.\n\n - **basic**: Proxies para scraping de sites sem ou com soluções anti-bot básicas. Rápido e geralmente funciona.\n - **stealth**: Proxies stealth para scraping de sites com soluções anti-bot avançadas. Mais lento, mas mais confiável em certos sites. Custa até 5 créditos por solicitação.\n - **auto**: O Firecrawl fará novas tentativas automaticamente usando proxies stealth se o proxy basic falhar. Se a nova tentativa com stealth for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo normal será cobrado.\n\nSe você não especificar um proxy, o Firecrawl usará basic por padrão."
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Se verdadeiro, a página será armazenada no índice e no cache do Firecrawl. Definir isso como false é útil se sua atividade de scraping puder gerar preocupações em relação à proteção de dados. Usar alguns parâmetros associados a scraping sensível (ações, headers) fará com que esse parâmetro seja definido como false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "Formatos a serem incluídos na saída.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "Opções de rastreio de mudanças (Beta). Aplicável apenas quando 'changeTracking' estiver incluído em formatos. O formato 'markdown' também deve ser especificado ao usar o rastreio de mudanças.",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "O modo de rastreamento de alterações a ser usado. 'git-diff' fornece um diff detalhado e 'json' compara os dados JSON extraídos."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema para extração de JSON ao usar o modo `json`. Define a estrutura dos dados a serem extraídos e comparados. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt a ser usado para rastreamento de alterações ao usar o modo \"json\". Se não for especificado, será utilizado o prompt padrão."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag a ser usada para rastreamento de alterações. Tags podem separar o histórico de rastreamento de alterações em “branches” (ramificações) distintas, em que o rastreamento com uma tag específica só irá comparar com scrapes feitos na mesma tag. Se não for fornecida, a tag padrão (null) será usada."
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão HTML do conteúdo da página se `html` estiver em `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página caso `rawHtml` esteja em `formatos`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página caso `screenshot` conste em `formats`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página se `links` constar em `formatos`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados das ações especificadas no parâmetro `actions`. Somente presente se o parâmetro `actions` tiver sido fornecido na requisição",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs de capturas de tela, na mesma ordem das ações de captura fornecidas.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Raspe o conteúdo na mesma ordem das ações de raspagem fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valores de retorno em JavaScript, na mesma ordem das ações executeJavascript fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDFs gerados, na mesma ordem das ações de PDF especificadas.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "Exibido ao usar extração com LLM. Dados extraídos da página de acordo com o esquema definido.",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pode ser exibido ao usar LLM Extraction. A mensagem de aviso indicará quaisquer problemas na extração."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informações de rastreio de mudanças se `changeTracking` estiver em `formats`. Somente presente quando o formato `changeTracking` for solicitado.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "O timestamp da coleta anterior com o qual a página atual está sendo comparada. Nulo se não houver coleta anterior."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "O resultado da comparação entre as duas versões da página. 'new' indica que esta página não existia antes, 'same' indica que o conteúdo não foi alterado, 'changed' indica que o conteúdo foi alterado e 'removed' indica que a página foi removida."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "A visibilidade da página/URL atual. 'visible' significa que a URL foi descoberta por uma rota orgânica (links ou sitemap); 'hidden' significa que a URL foi descoberta com base na memória de rastreamentos anteriores."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff das alterações no estilo Git ao usar o modo `git-diff`. Presente apenas quando o modo está definido como `git-diff`."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados da comparação em JSON ao usar o modo `json`. Só estará presente quando o modo estiver definido como `json`. Isso retornará uma lista de todas as chaves e seus valores das coletas `previous` e `current` com base no tipo definido no `schema`. Exemplo [aqui](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual do rastreamento. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que o sistema tentou realizar o rastreamento."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Número de páginas rastreadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "O número de créditos usados no rastreamento."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data e hora em que o rastreamento expira."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para obter os próximos 10 MB de dados. Retornada se o crawl ainda não tiver sido concluído ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Os dados do rastreamento.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão HTML do conteúdo da página, se `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página quando `includeLinks` for true"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página, se `includeScreenshot` for true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Jobs de raspagem com falha e detalhes do erro",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Carimbo de data e hora ISO da falha"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL extraída"
+ },
+ "error": {
+ "type": "string",
+ "description": "Mensagem de erro"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Lista de URLs em que o scraping foi tentado, mas foi bloqueado pelo arquivo robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual da raspagem em lote. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que foi feita uma tentativa de extração."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "Número de páginas raspadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Número de créditos utilizados na raspagem em lote."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A data e a hora em que a raspagem em lote expira."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para recuperar os próximos 10 MB de dados. É retornada se a raspagem em lote não for concluída ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Os dados da extração em lote.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo na página, se `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página quando `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página se `includeLinks` for verdadeiro"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página quando `includeScreenshot` for true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, este será um array vazio. Se ignoreInvalidURLs for false, este campo será undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo será undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "O status atual do job de extração"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
index c81ab916..1dbf75ac 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancelar scraping em lote'
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
index 21df2c1a..62a6cf74 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros de scraping em lote'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get.mdx b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
index 97eb89a6..655b4894 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status da raspagem em lote'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape.mdx b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape.mdx
index eccfed32..b9ffb3a5 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/batch-scrape.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Raspagem em lote'
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/crawl-active.mdx b/pt-BR/v1/api-reference/v2-endpoint/crawl-active.mdx
index 9e76aac2..ea002d7f 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/crawl-active.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter rastreamentos ativos'
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/crawl-delete.mdx b/pt-BR/v1/api-reference/v2-endpoint/crawl-delete.mdx
index d94d1163..ea20ad16 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/crawl-delete.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "Cancelar rastreamento"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/crawl-get-errors.mdx b/pt-BR/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
index e9d816b2..2d56a96e 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter erros de crawl'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/crawl-get.mdx b/pt-BR/v1/api-reference/v2-endpoint/crawl-get.mdx
index 76582c96..6f5a8731 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/crawl-get.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status do crawl'
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/crawl-post.mdx b/pt-BR/v1/api-reference/v2-endpoint/crawl-post.mdx
index f6c9eee3..c0654424 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/crawl-post.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v2-openapi POST /crawl'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -20,7 +20,6 @@ Descreva o que rastrear em inglês simples:
}
```
-
### Melhor controle de sitemaps
diff --git a/pt-BR/v1/api-reference/v2-endpoint/credit-usage-historical.mdx b/pt-BR/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
index a87620de..59a2b1bd 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de créditos'
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
Retorna o uso histórico de créditos mês a mês. Opcionalmente, o endpoint também pode detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v2-endpoint/credit-usage.mdx b/pt-BR/v1/api-reference/v2-endpoint/credit-usage.mdx
index cffaa930..29ea720d 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/credit-usage.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Uso de créditos"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/extract-get.mdx b/pt-BR/v1/api-reference/v2-endpoint/extract-get.mdx
index 634eaff3..677bcdaf 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/extract-get.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Obter status da extração'
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/extract.mdx b/pt-BR/v1/api-reference/v2-endpoint/extract.mdx
index 02ff652d..11aa0d10 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/extract.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: "Extrair"
-openapi: 'v2-openapi POST /extract'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
diff --git a/pt-BR/v1/api-reference/v2-endpoint/map.mdx b/pt-BR/v1/api-reference/v2-endpoint/map.mdx
index b009fab9..63061f32 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/map.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Mapear'
-openapi: 'v2-openapi POST /map'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /map'
---
@@ -24,7 +24,6 @@ Três maneiras de lidar com sitemaps:
}
```
-
### Descoberta de URLs mais inteligente
diff --git a/pt-BR/v1/api-reference/v2-endpoint/scrape.mdx b/pt-BR/v1/api-reference/v2-endpoint/scrape.mdx
index a3de3c37..97b38b0b 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/scrape.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: "Scrape"
-openapi: 'v2-openapi POST /scrape'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v2-endpoint/search.mdx b/pt-BR/v1/api-reference/v2-endpoint/search.mdx
index 6e5370b7..6d0dca1e 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/search.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Pesquisa"
-openapi: 'v2-openapi POST /search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -24,7 +24,6 @@ Pesquise na web, em imagens e em notícias de uma só vez:
}
```
-
### Formato da resposta alterado
@@ -42,7 +41,6 @@ v1: lista simples de resultados. v2: organizado por tipo de fonte:
}
```
-
### Novos recursos
diff --git a/pt-BR/v1/api-reference/v2-endpoint/token-usage-historical.mdx b/pt-BR/v1/api-reference/v2-endpoint/token-usage-historical.mdx
index 430584f2..94473a2f 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/token-usage-historical.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/token-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: 'Uso histórico de tokens'
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/token-usage/historical'
---
Retorna o uso histórico de tokens mês a mês. Opcionalmente, o endpoint também pode detalhar o uso por chave de API.
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v2-endpoint/token-usage.mdx b/pt-BR/v1/api-reference/v2-endpoint/token-usage.mdx
index dccf8169..8214524d 100644
--- a/pt-BR/v1/api-reference/v2-endpoint/token-usage.mdx
+++ b/pt-BR/v1/api-reference/v2-endpoint/token-usage.mdx
@@ -1,4 +1,4 @@
---
title: 'Uso de tokens'
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/pt-BR/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
\ No newline at end of file
diff --git a/pt-BR/v1/api-reference/v2-openapi.json b/pt-BR/v1/api-reference/v2-openapi.json
new file mode 100644
index 00000000..ad4bf353
--- /dev/null
+++ b/pt-BR/v1/api-reference/v2-openapi.json
@@ -0,0 +1,3261 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "API para interagir com os serviços da Firecrawl e realizar tarefas de web scraping e crawling.",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "Raspar uma única URL e, opcionalmente, extrair informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL a ser coletada"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso ativará nenhuma retenção de dados para esta coleta. Para habilitar este recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "Raspe várias URLs e, opcionalmente, extraia informações usando um LLM",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL a ser raspada"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Um objeto de especificação de Webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para a qual o webhook será enviado. O webhook será acionado quando a raspagem em lote for iniciada (batch_scrape.started), a cada página raspada (batch_scrape.page) e quando a raspagem em lote for concluída (batch_scrape.completed ou batch_scrape.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipos de eventos que devem ser enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de raspagens simultâneas. Este parâmetro permite definir um limite de concorrência para este lote de raspagem. Se não for definido, o lote seguirá o limite de concorrência da sua equipe."
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer toda a requisição falhar, será criado um scrape em lote com as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso fará com que nenhum dado seja retido para esta operação de scraping em lote. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de raspagem em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Consultar o status de um job de raspagem em lote",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar um job de scraping em lote",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento concluído com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Job de scraping em lote não encontrado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de scraping em lote",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter os erros de uma tarefa de raspagem em lote",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de um job de rastreamento",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Cancelar um job de rastreamento",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancelamento realizado com sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Tarefa de rastreamento não encontrada",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de rastreamento",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter erros de uma tarefa de rastreamento",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "Rastrear várias URLs de acordo com opções",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL base para iniciar o rastreamento"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Um prompt para gerar as opções do crawler (todos os parâmetros abaixo) em linguagem natural. Parâmetros definidos explicitamente substituirão os equivalentes gerados."
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões de regex para o pathname da URL que excluem do crawl as URLs correspondentes. Por exemplo, se você definir `\"excludePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, quaisquer resultados que corresponderem a esse padrão serão excluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Padrões regex de pathname de URL que determinam quais URLs serão incluídas no crawl. Somente os caminhos que corresponderem aos padrões especificados serão incluídos na resposta. Por exemplo, se você definir `\"includePaths\": [\"blog/.*\"]` para a URL base firecrawl.dev, apenas resultados que correspondam a esse padrão serão incluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap."
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "Profundidade máxima de crawl com base na ordem de descoberta. O site raiz e as páginas presentes no sitemap têm profundidade de descoberta 0. Por exemplo, se você definir esse valor como 1 e configurar ignoreSitemap, você só fará o crawl da URL informada e de todas as URLs que estão linkadas nessa página."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Modo de sitemap ao rastrear. Se você definir como 'skip', o crawler vai ignorar o sitemap do site e rastrear apenas a URL informada, descobrindo páginas a partir daí.",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não faça scraping novamente no mesmo caminho usando parâmetros de consulta diferentes (ou sem nenhum).",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de páginas a rastrear. O limite padrão é 10000.",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "Permite que o crawler siga links internos para URLs irmãs ou superiores, não apenas caminhos filhos.\n\nfalse: Só rastreia URLs mais profundas (filhas).\n→ ex.: /features/feature-1 → /features/feature-1/tips ✅\n→ Não seguirá /pricing ou / ❌\n\ntrue: Rastreia qualquer link interno, incluindo URLs irmãs e superiores.\n→ ex.: /features/feature-1 → /pricing, /, etc. ✅\n\nUse true para uma cobertura interna mais ampla, além de caminhos aninhados.",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para sites externos.",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "Permite que o rastreador siga links para subdomínios do domínio principal.",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "Atraso, em segundos, entre as coletas. Isso ajuda a respeitar os limites de acesso do site."
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "Número máximo de coletas simultâneas. Este parâmetro permite definir um limite de concorrência para este crawl. Se não for definido, o crawl respeita o limite de concorrência da sua equipe."
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Objeto de especificação de webhook.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A URL para a qual o webhook será enviado. Ele será acionado quando o rastreamento for iniciado (crawl.started), para cada página rastreada (crawl.page) e quando o rastreamento for concluído (crawl.completed ou crawl.failed). A resposta será a mesma do endpoint `/scrape`."
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos HTTP a serem enviados para a URL do webhook.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadados personalizados que serão incluídos em todos os payloads de webhook deste rastreamento",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "Tipo de eventos que devem ser enviados para a URL do webhook. (padrão: todos)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "Se definido como true, isso desativará a retenção de dados para este rastreamento. Para habilitar esse recurso, entre em contato com help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "Mapear várias URLs de acordo com as opções",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL base para iniciar o rastreamento"
+ },
+ "search": {
+ "type": "string",
+ "description": "Consulta de pesquisa a ser usada no mapeamento. Durante a fase Alfa, a parte “inteligente” da funcionalidade de pesquisa é limitada a 500 resultados. No entanto, se o mapeamento encontrar mais resultados, nenhum limite será aplicado."
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "Modo de sitemap ao mapear. Se você definir como `skip`, o sitemap não será usado para encontrar URLs. Se você definir como `only`, apenas URLs que estiverem no sitemap serão retornadas. Por padrão (`include`), o sitemap e outros métodos serão usados em conjunto para encontrar URLs.",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Incluir subdomínios deste site",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "Não retorne URLs com parâmetros de consulta",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de links retornados",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos. Não há tempo limite definido por padrão."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento obrigatório",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "Extraia dados estruturados de páginas da web usando LLMs",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "As URLs das quais extrair os dados. As URLs devem estar no formato glob."
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt para guiar o processo de extração"
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema que define a estrutura dos dados extraídos. Deve estar em conformidade com o padrão [JSON Schema](https://json-schema.org/)."
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "Quando definido como true, a extração usará a busca na web para encontrar dados adicionais",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, os arquivos sitemap.xml serão ignorados durante a varredura do site",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "Quando definido como true, os subdomínios das URLs fornecidas também serão varridos",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "Quando definido como `true`, as fontes usadas para extrair os dados serão incluídas na resposta sob a chave `sources`",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "Se URLs inválidas forem especificadas no array urls, elas serão ignoradas. Em vez de fazer com que toda a requisição falhe, será feita uma extração usando as URLs válidas restantes, e as URLs inválidas serão retornadas no campo invalidURLs da resposta."
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Extração bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Solicitação inválida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "O ID da tarefa de extração",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "Obter o status de um job de extração",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "Obter todos os crawls ativos da equipe autenticada",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "O identificador exclusivo do rastreamento"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "ID da equipe proprietária do rastreamento"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "A URL de origem do rastreamento"
+ },
+ "options": {
+ "type": "object",
+ "description": "Opções do rastreador usadas neste rastreamento",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "Pagamento necessário",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Muitas solicitações",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "Obter os créditos restantes da equipe autenticada",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "Número de créditos restantes da equipe",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "Número de créditos do plano. Isso não inclui créditos provenientes de cupons, pacotes de créditos ou créditos de recarga automática.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se você estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de cobrança. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações sobre o uso de créditos não encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "Obter o histórico de uso de créditos da equipe autenticada",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obter histórico de uso de créditos por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de cobrança",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API utilizada no período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "Número total de créditos utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro do servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "Obter tokens restantes da equipe autenticada (somente Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta de sucesso",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "Número de tokens restantes da equipe",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "Quantidade de tokens do plano. Não inclui tokens de cupom.",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento. null se estiver usando o plano gratuito",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Informações de uso de tokens não foram encontradas",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "Obter uso histórico de tokens da equipe autenticada (somente Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "Obter histórico de uso de tokens por chave de API",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de início do período de faturamento",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Data de término do período de faturamento",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Nome da chave de API utilizada no período de cobrança. null se byApiKey for false (padrão)",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "Número total de tokens utilizados no período de faturamento",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "Pesquisar e, opcionalmente, fazer scraping dos resultados de busca",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Consulta de pesquisa"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "Número máximo de resultados a serem retornados",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa temporal. Suporta intervalos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de pesquisa"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Fontes a serem pesquisadas. Isso determinará quais arrays estarão disponíveis na resposta.",
+ "default": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "Parâmetro de pesquisa temporal. Suporta intervalos de tempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`) e intervalos de datas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)."
+ },
+ "location": {
+ "type": "string",
+ "description": "Parâmetro de localização para resultados de pesquisa"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite em milissegundos",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "Exclui dos resultados de pesquisa as URLs que são inválidas para outros endpoints do Firecrawl. Isso ajuda a reduzir erros ao encaminhar dados da pesquisa para outros endpoints da API do Firecrawl.",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "Opções para scraping de resultados de busca",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Resposta bem-sucedida",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado da pesquisa"
+ },
+ "description": {
+ "type": "string",
+ "description": "Descrição do resultado de pesquisa"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado da pesquisa"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown se a raspagem de dados tiver sido solicitada"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML quando solicitado nos formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, quando solicitado em formatos"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitado, nos formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, se solicitada entre os formatos"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do resultado de pesquisa"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL da imagem"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "Largura da imagem"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "Altura da imagem"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do resultado da pesquisa"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Posição do resultado de busca"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Título do artigo"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "Trecho do artigo"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL do artigo"
+ },
+ "date": {
+ "type": "string",
+ "description": "Data do artigo"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "URL da imagem do artigo"
+ },
+ "position": {
+ "type": "integer",
+ "description": "Posição do artigo"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo em Markdown, caso a raspagem tenha sido solicitada"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML, se solicitado em formatos"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto, se incluído entre os formatos solicitados"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Links encontrados, se solicitado em formatos"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "URL da captura de tela, se solicitada entre os formatos"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "Os resultados da pesquisa. Os arrays disponíveis dependem das fontes que você especificou na requisição. Por padrão, o array `web` será retornado."
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de aviso caso ocorra algum problema"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "Tempo de requisição esgotado",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Erro no servidor",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Define se a captura de tela será da página inteira ou apenas da área visível atual (viewport).",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "A qualidade da captura de tela vai de 1 a 100. 100 é a qualidade máxima."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "A largura da viewport em pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "Altura da viewport em pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "O esquema a ser usado na saída JSON. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "O prompt a ser usado para a saída em formato JSON"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "O modo de controle de alterações a ser usado. `git-diff` fornece um diff detalhado e `json` compara os dados JSON extraídos."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Esquema para extração de JSON ao usar o modo `json`. Define a estrutura dos dados que serão extraídos e comparados. Deve estar em conformidade com o [JSON Schema](https://json-schema.org/)."
+ },
+ "prompt": {
+ "type": "string",
+ "description": "Prompt a ser usado para rastreamento de alterações ao usar o modo `json`. Se não for fornecido, o prompt padrão será utilizado."
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Tag a ser usada para rastreamento de alterações. As tags podem separar o histórico de alterações em “ramificações” (“branches”) distintas, em que o rastreamento com uma tag específica só irá comparar com scrapes feitos com a mesma tag. Se não for fornecida, a tag padrão (null) será usada."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "Formatos de saída a serem incluídos na resposta. Você pode especificar um ou mais formatos, tanto como strings (por exemplo, `'markdown'`) quanto como objetos com opções adicionais (por exemplo, `{ type: 'json', schema: {...} }`). Alguns formatos exigem que opções específicas sejam configuradas. Exemplo: `['markdown', { type: 'json', schema: {...} }]`.",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "Retorne somente o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés, etc.",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags que devem ser incluídas na saída."
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Tags a serem excluídas da saída."
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "Retorna uma versão em cache da página se ela tiver menos do que esse tempo em milissegundos. Se a versão em cache da página for mais antiga do que esse valor, a página será raspada novamente. Se você não precisar de dados extremamente atualizados, ativar essa opção pode acelerar suas raspagens em até 500%. O padrão é de 2 dias.",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "Cabeçalhos a serem enviados na requisição. Podem ser usados para enviar cookies, user-agent etc."
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "Especifique um atraso, em milissegundos, antes de buscar o conteúdo, permitindo que a página tenha tempo suficiente para carregar.",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "Defina como `true` para simular scraping a partir de um dispositivo móvel. Útil para testar páginas responsivas e fazer capturas de tela em modo mobile.",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "Ignorar a verificação do certificado TLS ao fazer requisições",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Tempo limite da requisição, em milissegundos."
+ },
+ "parsers": {
+ "type": "array",
+ "description": "Controla como os arquivos são processados durante o scraping. Quando \"pdf\" é incluído (padrão), o conteúdo do PDF é extraído e convertido para markdown, com cobrança baseada no número de páginas (1 crédito por página). Quando um array vazio é passado, o arquivo PDF é retornado em codificação base64 com uma taxa fixa de 1 crédito no total.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "Ações a serem realizadas na página antes de capturar o conteúdo",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "Aguarde por uma quantidade específica de milissegundos"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "Número de milissegundos de espera"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor de consulta para encontrar o elemento por",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "Tire uma captura de tela. Os links estarão no array `actions.screenshots` da resposta."
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "Indica se a captura de tela será da página inteira ou apenas do viewport atual.",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "Qualidade da captura de tela, de 1 a 100; 100 é a mais alta qualidade."
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "A largura da viewport, em pixels"
+ },
+ "height": {
+ "type": "integer",
+ "description": "A altura da viewport em pixels"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "Clique em um elemento"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Seletor de consulta para localizar o elemento por",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "Clica em todos os elementos que correspondem ao seletor, não apenas no primeiro. Não gera erro se nenhum elemento corresponder ao seletor.",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "Digite um texto em um campo de entrada, área de texto ou elemento contenteditable. Observação: primeiro é necessário colocar o foco no elemento usando uma ação de clique antes de escrever. O texto será digitado caractere por caractere para simular a digitação pelo teclado."
+ },
+ "text": {
+ "type": "string",
+ "description": "Texto para digitar",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "Pressione uma tecla nesta página. Consulte https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html para obter os códigos de tecla.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "Pressione uma tecla nesta página"
+ },
+ "key": {
+ "type": "string",
+ "description": "Tecla para pressionar",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "Rolar a página ou um elemento específico"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "Sentido da rolagem",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "Query selector do elemento a ser rolado",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "Realiza o scraping do conteúdo da página atual e retorna a URL e o HTML."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "Executar código JavaScript na página"
+ },
+ "script": {
+ "type": "string",
+ "description": "Código JavaScript a ser executado",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "Gerar um PDF da página atual. O PDF será retornado no array `actions.pdfs` da resposta."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "O tamanho da página do PDF resultante",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "Se o PDF deve ser gerado em modo paisagem",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "Fator de escala do PDF gerado",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "Configurações de localização da requisição. Quando definido, será usado um proxy apropriado, se disponível, e serão emuladas as configurações correspondentes de idioma e fuso horário. O padrão é “US” se não for especificado.",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Código de país ISO 3166-1 alfa-2 (por exemplo, \"US\", \"AU\", \"DE\", \"JP\")",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "Idiomas e localidades preferenciais da requisição, em ordem de prioridade. Por padrão, é usado o idioma da localização especificada. Consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "Remove todas as imagens em base64 da saída, que podem deixá-la excessivamente longa. O texto alternativo (`alt`) da imagem é mantido na saída, mas a URL é substituída por um placeholder.",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "Habilita o bloqueio de anúncios e de pop-ups de cookies.",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "Especifica o tipo de proxy a ser usado.\n\n - **basic**: Proxies para scraping em sites com soluções anti-bot inexistentes ou básicas. Rápido e geralmente funciona.\n - **stealth**: Proxies stealth para scraping em sites com soluções anti-bot avançadas. Mais lento, mas mais confiável em certos sites. Custa até 5 créditos por requisição.\n - **auto**: O Firecrawl tentará automaticamente refazer o scraping com proxies stealth se o proxy basic falhar. Se a nova tentativa com stealth for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo normal será cobrado.\n\nSe você não especificar um proxy, o Firecrawl usará auto por padrão.",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "Se definido como true, a página será armazenada no índice e no cache do Firecrawl. Definir como false é útil se sua atividade de scraping puder gerar preocupações com proteção de dados. O uso de alguns parâmetros associados a scraping sensível (ações, headers) fará com que esse parâmetro seja definido como false.",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "Resumo da página se `summary` estiver em `formats`"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página se `html` estiver em `formats`"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `rawHtml` estiver em `formatos`"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `screenshot` estiver incluído em `formats`"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página se `links` estiver em `formats`"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados das ações especificadas no parâmetro `actions`. Somente presente se o parâmetro `actions` tiver sido fornecido na requisição",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "URLs das capturas de tela, na mesma ordem das ações de captura de tela especificadas.",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "Extraia o conteúdo, na mesma ordem das ações de scraping fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "Valores retornados em JavaScript, na mesma ordem das ações executeJavascript fornecidas.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "PDFs gerados na mesma ordem das ações de PDF fornecidas.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pode ser exibido ao usar Extração com LLM. A mensagem de aviso indicará quaisquer problemas na extração."
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "Informações de rastreio de mudanças, caso `changeTracking` esteja em `formats`. Só estará presente quando o formato `changeTracking` for solicitado.",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "A marca de tempo (timestamp) da raspagem anterior com a qual a página atual está sendo comparada. Nulo se não houver raspagem anterior."
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "O resultado da comparação entre as duas versões da página. 'new' indica que essa página não existia antes, 'same' indica que o conteúdo não mudou, 'changed' indica que o conteúdo foi alterado e 'removed' indica que a página foi removida."
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "A visibilidade da página/URL atual. 'visible' significa que a URL foi descoberta por meio de uma rota orgânica (links ou sitemap); 'hidden' significa que a URL foi descoberta a partir da memória de rastreamentos anteriores."
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "Diff de alterações no estilo Git ao usar o modo `git-diff`. Só está presente quando o modo é definido como `git-diff`."
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "Resultados da comparação em JSON ao usar o modo `json`. Só é exibido quando o modo está definido como `json`. Isso gera uma lista de todas as chaves e seus valores dos scrapes `previous` e `current`, com base no tipo definido no `schema`. Exemplo [aqui](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual do rastreamento. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que o rastreamento foi tentado."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "O número de páginas rastreadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "O número de créditos utilizados no rastreamento."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A data e a hora em que o rastreamento vai expirar."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para recuperar os próximos 10 MB de dados. Fornecida se o crawl ainda não tiver sido concluído ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Dados do rastreamento.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página, caso `includeHtml` seja true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página se `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links da página se `includeLinks` for true"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` estiver definido como `true`"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "A mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Jobs de scraping com falha e detalhes dos erros",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "Carimbo de data/hora da falha em formato ISO"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL extraída"
+ },
+ "error": {
+ "type": "string",
+ "description": "Mensagem de erro"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "Lista de URLs que tiveram a raspagem tentada, mas foram bloqueadas pelo robots.txt",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "O status atual da raspagem em lote. Pode ser `scraping`, `completed` ou `failed`."
+ },
+ "total": {
+ "type": "integer",
+ "description": "O número total de páginas em que foi feita a tentativa de scraping."
+ },
+ "completed": {
+ "type": "integer",
+ "description": "O número de páginas que foram coletadas com sucesso."
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "Número de créditos utilizados para a raspagem em lote."
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A data e hora em que a raspagem em lote expira."
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "A URL para obter os próximos 10 MB de dados. Será retornada se a raspagem em lote não tiver sido concluída ou se a resposta for maior que 10 MB."
+ },
+ "data": {
+ "type": "array",
+ "description": "Dados da raspagem em lote.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "Versão em HTML do conteúdo da página, se `includeHtml` for true"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "Conteúdo HTML bruto da página, se `includeRawHtml` for true"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Lista de links na página, se `includeLinks` for verdadeiro"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "Captura de tela da página se `includeScreenshot` for true"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "O código de status da página"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "Mensagem de erro da página"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs for true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, será um array vazio. Se ignoreInvalidURLs for false, este campo será undefined."
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "Se ignoreInvalidURLs estiver definido como true, este será um array contendo as URLs inválidas especificadas na requisição. Se não houver URLs inválidas, este será um array vazio. Se ignoreInvalidURLs estiver definido como false, este campo será undefined."
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "O status atual do job de extração"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "Número de tokens utilizados pela tarefa de extração. Disponível somente quando a tarefa for concluída."
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pt-BR/v1/features/alpha/llmstxt-npx.mdx b/pt-BR/v1/features/alpha/llmstxt-npx.mdx
index ab999178..2a00440d 100644
--- a/pt-BR/v1/features/alpha/llmstxt-npx.mdx
+++ b/pt-BR/v1/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ Você pode executar este pacote com NPX, sem precisar instalá-lo. Existem duas
npx generate-llmstxt --api-key SUA_CHAVE_DA_API_DA_FIRECRAWL
```
-
### 2. Usando variáveis de ambiente
@@ -47,7 +46,6 @@ Em seguida, execute o comando sem a opção --api-key:
npx generate-llmstxt
```
-
### Opções
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## Requisitos
diff --git a/pt-BR/v1/features/change-tracking.mdx b/pt-BR/v1/features/change-tracking.mdx
index e11edfec..e86367b7 100644
--- a/pt-BR/v1/features/change-tracking.mdx
+++ b/pt-BR/v1/features/change-tracking.mdx
@@ -69,7 +69,6 @@ Exemplo de resposta:
}
```
-
### Opções avançadas
@@ -106,7 +105,6 @@ if (result.changeTracking.json) {
}
```
-
### Exemplo de resultados de Git diff:
@@ -120,7 +118,6 @@ if (result.changeTracking.json) {
...
```
-
### Exemplo de resultados de comparação em JSON:
@@ -134,7 +131,6 @@ if (result.changeTracking.json) {
}
```
-
### Interface em TypeScript
@@ -183,7 +179,6 @@ interface ScrapeParams {
}
```
-
## SDK do Python
@@ -208,7 +203,6 @@ print("Visibilidade:", result.changeTracking.visibility) # 'visível' ou 'ocult
print("Data da raspagem anterior:", result.changeTracking.previousScrapeAt) # carimbo de data/hora ISO da raspagem anterior
```
-
### Opções avançadas
@@ -243,7 +237,6 @@ if 'json' in result.changeTracking:
print(result.changeTracking.json.title.current) # Título atual
```
-
### Modelo de dados em Python
@@ -262,7 +255,6 @@ class ChangeTrackingData(pydantic.BaseModel):
json: Optional[Any] = None
```
-
## Modos de Rastreio de Mudanças
@@ -289,7 +281,6 @@ A representação JSON estruturada do diff inclui:
* `chunks`: Seções de alterações dentro de um arquivo
* `changes`: Mudanças individuais de linha com tipo (add, delete, normal)
-
### Modo JSON
@@ -313,7 +304,6 @@ Exemplo de saída:
Para usar o modo JSON, você precisa fornecer um esquema que defina os campos a serem extraídos e comparados.
-
## Fatos importantes
@@ -364,7 +354,6 @@ Aqui estão alguns pontos importantes ao usar o recurso de rastreioDeMudanças:
}
```
-
### Exemplo de Crawler
@@ -379,7 +368,6 @@ Aqui estão alguns pontos importantes ao usar o recurso de rastreioDeMudanças:
}
```
-
### Acompanhando mudanças de preço de produtos
@@ -425,7 +413,6 @@ if result.changeTracking.changeStatus == 'changed':
print(f"Preço mudou de {result.changeTracking.json.price.previous} para {result.changeTracking.json.price.current}")
```
-
### Monitoramento de alterações de conteúdo com git-diff
@@ -459,7 +446,6 @@ if result.changeTracking.changeStatus == 'changed':
print(result.changeTracking.diff.text)
```
-
## Cobrança
diff --git a/pt-BR/v1/features/extract.mdx b/pt-BR/v1/features/extract.mdx
index 55070e16..d2ecf094 100644
--- a/pt-BR/v1/features/extract.mdx
+++ b/pt-BR/v1/features/extract.mdx
@@ -33,7 +33,6 @@ O endpoint `/extract` simplifica a coleta de dados estruturados a partir de qual
Simplificamos a cobrança: agora o Extract usa créditos, assim como todos os outros endpoints. Cada crédito equivale a 15 tokens.
-
diff --git a/pt-BR/v1/features/search-v0.mdx b/pt-BR/v1/features/search-v0.mdx
index cc645029..8a5380fb 100644
--- a/pt-BR/v1/features/search-v0.mdx
+++ b/pt-BR/v1/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### Com o SDK do Python
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### Pesquisar uma consulta
@@ -94,7 +92,6 @@ result = app.search(query="O que é o Firecrawl?")
A resposta será semelhante à exibida no comando curl acima.
-
### Com o SDK de JavaScript
@@ -107,7 +104,6 @@ A resposta será semelhante à exibida no comando curl acima.
npm install @mendable/firecrawl-js
```
-
#### Pesquisar uma busca
```javascript
@@ -122,7 +118,6 @@ const result = await app.search('O que é o Firecrawl?');
A resposta será semelhante à exibida no comando curl acima.
-
### Com o SDK do Go
@@ -135,7 +130,6 @@ A resposta será semelhante à exibida no comando curl acima.
go get github.com/mendableai/firecrawl-go
```
-
#### Pesquisar uma busca
```go
@@ -161,7 +155,6 @@ func main() {
}
```
-
### Com o SDK do Rust
@@ -184,7 +177,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### Pesquisar uma busca
```rust
diff --git a/pt-BR/webhooks/events.mdx b/pt-BR/webhooks/events.mdx
index 0c77eccf..b566e61f 100644
--- a/pt-BR/webhooks/events.mdx
+++ b/pt-BR/webhooks/events.mdx
@@ -24,7 +24,6 @@ Todos os eventos de webhook seguem esta estrutura básica:
}
```
-
### Campos comuns
@@ -60,7 +59,6 @@ Enviado quando uma operação de rastreamento é iniciada.
}
```
-
### `crawl.page`
@@ -99,7 +97,6 @@ Enviado para cada página individual extraída durante um rastreamento.
para cada página extraída com sucesso.
-
### `crawl.completed`
@@ -116,7 +113,6 @@ Enviado quando toda a operação de rastreamento é concluída com sucesso.
}
```
-
## Eventos de Scrape em Lote
@@ -139,7 +135,6 @@ Enviado quando uma operação de raspagem em lote é iniciada.
}
```
-
### `batch_scrape.page`
@@ -178,7 +173,6 @@ Enviado para cada URL individual processada durante a raspagem em lote.
evento `batch_scrape.page` para cada URL extraída com sucesso.
-
### `batch_scrape.completed`
@@ -195,7 +189,6 @@ Enviado quando a operação de raspagem em lote é concluída por completo.
}
```
-
@@ -218,7 +211,6 @@ Enviado quando uma operação de extração é iniciada.
}
```
-
@@ -247,7 +239,6 @@ Enviado quando uma operação de extração é concluída com sucesso.
}
```
-
@@ -265,7 +256,6 @@ Enviado quando uma operação de extração ocorre um erro.
}
```
-
## Filtragem de eventos
diff --git a/pt-BR/webhooks/testing.mdx b/pt-BR/webhooks/testing.mdx
index eca704d9..6c7a0d1f 100644
--- a/pt-BR/webhooks/testing.mdx
+++ b/pt-BR/webhooks/testing.mdx
@@ -43,7 +43,6 @@ Use a URL fornecida na configuração do seu webhook:
}
```
-
## Solução de Problemas Comuns
diff --git a/pt-BR/x402/search.mdx b/pt-BR/x402/search.mdx
index 6c6b3fce..cee8c8b2 100644
--- a/pt-BR/x402/search.mdx
+++ b/pt-BR/x402/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Busca sob demanda'
-openapi: 'v1-openapi POST /x402/search'
+openapi: '/pt-BR/api-reference/v1-openapi.json V1-OPENAPI POST /x402/search'
---
diff --git a/v0/api-reference/endpoint/crawl-cancel.mdx b/v0/api-reference/endpoint/crawl-cancel.mdx
index 7c8a32fc..087ff8d8 100644
--- a/v0/api-reference/endpoint/crawl-cancel.mdx
+++ b/v0/api-reference/endpoint/crawl-cancel.mdx
@@ -1,4 +1,4 @@
---
title: 'Cancel Crawl Job'
-openapi: 'v0-openapi DELETE /crawl/cancel/{jobId}'
+openapi: '/api-reference/v1-openapi.json V0-OPENAPI DELETE /crawl/cancel/{jobId}'
---
diff --git a/v0/api-reference/endpoint/crawl.mdx b/v0/api-reference/endpoint/crawl.mdx
index 9ca8520f..054c14bf 100644
--- a/v0/api-reference/endpoint/crawl.mdx
+++ b/v0/api-reference/endpoint/crawl.mdx
@@ -1,4 +1,4 @@
---
title: 'Crawl'
-openapi: 'v0-openapi POST /crawl'
+openapi: '/api-reference/v1-openapi.json V0-OPENAPI POST /crawl'
---
diff --git a/v0/api-reference/endpoint/scrape.mdx b/v0/api-reference/endpoint/scrape.mdx
index 167a6821..83dee60b 100644
--- a/v0/api-reference/endpoint/scrape.mdx
+++ b/v0/api-reference/endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: 'Scrape'
-openapi: 'v0-openapi POST /scrape'
+openapi: '/api-reference/v1-openapi.json V0-OPENAPI POST /scrape'
---
diff --git a/v0/api-reference/endpoint/search.mdx b/v0/api-reference/endpoint/search.mdx
index 6e3b34e4..7dbe7e1b 100644
--- a/v0/api-reference/endpoint/search.mdx
+++ b/v0/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search (Beta)'
-openapi: 'v0-openapi POST /search'
+openapi: '/api-reference/v1-openapi.json V0-OPENAPI POST /search'
---
diff --git a/v0/api-reference/endpoint/status.mdx b/v0/api-reference/endpoint/status.mdx
index 49f16f35..85a8d6c4 100644
--- a/v0/api-reference/endpoint/status.mdx
+++ b/v0/api-reference/endpoint/status.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Crawl Status'
-openapi: 'v0-openapi GET /crawl/status/{jobId}'
+openapi: '/api-reference/v1-openapi.json V0-OPENAPI GET /crawl/status/{jobId}'
---
diff --git a/v1/api-reference/endpoint/batch-scrape-delete.mdx b/v1/api-reference/endpoint/batch-scrape-delete.mdx
index ebf46744..4fb9dc67 100644
--- a/v1/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/v1/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancel Batch Scrape'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/batch-scrape-delete) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/batch-scrape-get-errors.mdx b/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
index 567d8087..fc970450 100644
--- a/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Batch Scrape Errors'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/batch-scrape-get-errors) is now available with improved error reporting and debugging capabilities.
diff --git a/v1/api-reference/endpoint/batch-scrape-get.mdx b/v1/api-reference/endpoint/batch-scrape-get.mdx
index 5fbf1aab..88147d9b 100644
--- a/v1/api-reference/endpoint/batch-scrape-get.mdx
+++ b/v1/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Batch Scrape Status'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/batch-scrape-get) is now available with improved status tracking and monitoring capabilities.
diff --git a/v1/api-reference/endpoint/batch-scrape.mdx b/v1/api-reference/endpoint/batch-scrape.mdx
index 77cc3143..fa31aff5 100644
--- a/v1/api-reference/endpoint/batch-scrape.mdx
+++ b/v1/api-reference/endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Batch Scrape'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/batch-scrape) is now available with improved batch processing performance and reliability.
diff --git a/v1/api-reference/endpoint/crawl-active.mdx b/v1/api-reference/endpoint/crawl-active.mdx
index aa2368ed..6fa32745 100644
--- a/v1/api-reference/endpoint/crawl-active.mdx
+++ b/v1/api-reference/endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Active Crawls'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/crawl-active) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/crawl-delete.mdx b/v1/api-reference/endpoint/crawl-delete.mdx
index 4de65dde..5d5073f1 100644
--- a/v1/api-reference/endpoint/crawl-delete.mdx
+++ b/v1/api-reference/endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancel Crawl'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/crawl-delete) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/crawl-get-errors.mdx b/v1/api-reference/endpoint/crawl-get-errors.mdx
index 96a0c423..2428e819 100644
--- a/v1/api-reference/endpoint/crawl-get-errors.mdx
+++ b/v1/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Crawl Errors'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/crawl-get-errors) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/crawl-get.mdx b/v1/api-reference/endpoint/crawl-get.mdx
index a9d9f592..86084e84 100644
--- a/v1/api-reference/endpoint/crawl-get.mdx
+++ b/v1/api-reference/endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Crawl Status'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/crawl-get) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/crawl-post.mdx b/v1/api-reference/endpoint/crawl-post.mdx
index 0f9f4105..2c24d347 100644
--- a/v1/api-reference/endpoint/crawl-post.mdx
+++ b/v1/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/crawl-post) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/credit-usage-historical.mdx b/v1/api-reference/endpoint/credit-usage-historical.mdx
index 98154a18..c482711c 100644
--- a/v1/api-reference/endpoint/credit-usage-historical.mdx
+++ b/v1/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: 'Historical Credit Usage'
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage/historical'
---
Returns historical credit usage on a month-by-month basis. The endpoint can also breaks usage down by API key optionally.
diff --git a/v1/api-reference/endpoint/credit-usage.mdx b/v1/api-reference/endpoint/credit-usage.mdx
index 25db42c0..0d4a26a4 100644
--- a/v1/api-reference/endpoint/credit-usage.mdx
+++ b/v1/api-reference/endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Credit Usage'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/credit-usage) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/deep-research-get.mdx b/v1/api-reference/endpoint/deep-research-get.mdx
index ba050e22..11f2e7ad 100644
--- a/v1/api-reference/endpoint/deep-research-get.mdx
+++ b/v1/api-reference/endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
diff --git a/v1/api-reference/endpoint/deep-research.mdx b/v1/api-reference/endpoint/deep-research.mdx
index 1c1ff0e4..3a74ea1e 100644
--- a/v1/api-reference/endpoint/deep-research.mdx
+++ b/v1/api-reference/endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: 'Deep Research'
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
The Deep Research endpoint enables AI-powered deep research and analysis on any topic. Simply provide a research query, and Firecrawl will autonomously explore the web, gather relevant information, and synthesize findings into comprehensive insights.
diff --git a/v1/api-reference/endpoint/extract-get.mdx b/v1/api-reference/endpoint/extract-get.mdx
index 3d804374..0445affc 100644
--- a/v1/api-reference/endpoint/extract-get.mdx
+++ b/v1/api-reference/endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Extract Status'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/extract-get) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/extract.mdx b/v1/api-reference/endpoint/extract.mdx
index 8ef290f0..ca4e9c1b 100644
--- a/v1/api-reference/endpoint/extract.mdx
+++ b/v1/api-reference/endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/extract) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/llmstxt-get.mdx b/v1/api-reference/endpoint/llmstxt-get.mdx
index d0b9da44..b38fb16d 100644
--- a/v1/api-reference/endpoint/llmstxt-get.mdx
+++ b/v1/api-reference/endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt Status"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
Get the status and results of an LLMs.txt generation job. This endpoint allows you to check if the generation is complete and retrieve the generated content.
diff --git a/v1/api-reference/endpoint/llmstxt.mdx b/v1/api-reference/endpoint/llmstxt.mdx
index 1e14c798..2527b463 100644
--- a/v1/api-reference/endpoint/llmstxt.mdx
+++ b/v1/api-reference/endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "Generate LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
The LLMs.txt generation endpoint creates LLMs.txt and LLMs-full.txt files for any website. These files provide a structured, LLM-friendly format of the website's content, making it easier for language models to understand and process the information.
diff --git a/v1/api-reference/endpoint/map.mdx b/v1/api-reference/endpoint/map.mdx
index 81940a1d..8a3844fe 100644
--- a/v1/api-reference/endpoint/map.mdx
+++ b/v1/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/map) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/scrape.mdx b/v1/api-reference/endpoint/scrape.mdx
index 4e0f5338..6c17ad5a 100644
--- a/v1/api-reference/endpoint/scrape.mdx
+++ b/v1/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/scrape) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/search.mdx b/v1/api-reference/endpoint/search.mdx
index e1346e40..aad3b5e2 100644
--- a/v1/api-reference/endpoint/search.mdx
+++ b/v1/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/search) is now available with improved features and performance.
diff --git a/v1/api-reference/endpoint/token-usage-historical.mdx b/v1/api-reference/endpoint/token-usage-historical.mdx
index 67465ca5..6484908a 100644
--- a/v1/api-reference/endpoint/token-usage-historical.mdx
+++ b/v1/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: 'Historical Token Usage'
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
Returns historical token usage on a month-by-month basis. The endpoint can also breaks usage down by API key optionally.
diff --git a/v1/api-reference/endpoint/token-usage.mdx b/v1/api-reference/endpoint/token-usage.mdx
index 9e192d78..c1266c8e 100644
--- a/v1/api-reference/endpoint/token-usage.mdx
+++ b/v1/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Token Usage'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> Note: A new [v2 version of this API](/api-reference/endpoint/token-usage) is now available with improved features and performance.
diff --git a/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx b/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
index f953bf00..f0bfd262 100644
--- a/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
+++ b/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancel Batch Scrape'
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx b/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
index b6a441ba..6826693d 100644
--- a/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
+++ b/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Batch Scrape Errors'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/batch-scrape-get.mdx b/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
index bf833ac9..95cfc8ae 100644
--- a/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
+++ b/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Batch Scrape Status'
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/batch-scrape.mdx b/v1/api-reference/v2-endpoint/batch-scrape.mdx
index 911ad0fb..e80660e2 100644
--- a/v1/api-reference/v2-endpoint/batch-scrape.mdx
+++ b/v1/api-reference/v2-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Batch Scrape'
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/crawl-active.mdx b/v1/api-reference/v2-endpoint/crawl-active.mdx
index afa645ab..4ee714a0 100644
--- a/v1/api-reference/v2-endpoint/crawl-active.mdx
+++ b/v1/api-reference/v2-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Active Crawls'
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/crawl-delete.mdx b/v1/api-reference/v2-endpoint/crawl-delete.mdx
index ed9c191e..5ba5c6b3 100644
--- a/v1/api-reference/v2-endpoint/crawl-delete.mdx
+++ b/v1/api-reference/v2-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: 'Cancel Crawl'
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/crawl-get-errors.mdx b/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
index e2cfcf84..42f9ba6b 100644
--- a/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
+++ b/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Crawl Errors'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/crawl-get.mdx b/v1/api-reference/v2-endpoint/crawl-get.mdx
index c87443cb..22fcd94a 100644
--- a/v1/api-reference/v2-endpoint/crawl-get.mdx
+++ b/v1/api-reference/v2-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Crawl Status'
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/crawl-post.mdx b/v1/api-reference/v2-endpoint/crawl-post.mdx
index 25e72e60..0665c542 100644
--- a/v1/api-reference/v2-endpoint/crawl-post.mdx
+++ b/v1/api-reference/v2-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v2-openapi POST /crawl'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/credit-usage-historical.mdx b/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
index 2b95543c..bdcc0374 100644
--- a/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
+++ b/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: 'Historical Credit Usage'
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage/historical'
---
Returns historical credit usage on a month-by-month basis. The endpoint can also breaks usage down by API key optionally.
diff --git a/v1/api-reference/v2-endpoint/credit-usage.mdx b/v1/api-reference/v2-endpoint/credit-usage.mdx
index 2d46f522..2bcf54cd 100644
--- a/v1/api-reference/v2-endpoint/credit-usage.mdx
+++ b/v1/api-reference/v2-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Credit Usage'
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/extract-get.mdx b/v1/api-reference/v2-endpoint/extract-get.mdx
index 8f6438a3..9d58889e 100644
--- a/v1/api-reference/v2-endpoint/extract-get.mdx
+++ b/v1/api-reference/v2-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: 'Get Extract Status'
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/extract.mdx b/v1/api-reference/v2-endpoint/extract.mdx
index d04344c0..ddb19d84 100644
--- a/v1/api-reference/v2-endpoint/extract.mdx
+++ b/v1/api-reference/v2-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v2-openapi POST /extract'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/map.mdx b/v1/api-reference/v2-endpoint/map.mdx
index 43de86a3..39a31946 100644
--- a/v1/api-reference/v2-endpoint/map.mdx
+++ b/v1/api-reference/v2-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v2-openapi POST /map'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /map'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/scrape.mdx b/v1/api-reference/v2-endpoint/scrape.mdx
index a25e8284..7d6a93c8 100644
--- a/v1/api-reference/v2-endpoint/scrape.mdx
+++ b/v1/api-reference/v2-endpoint/scrape.mdx
@@ -1,5 +1,5 @@
---
title: 'Scrape'
-openapi: 'v2-openapi POST /scrape'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
diff --git a/v1/api-reference/v2-endpoint/search.mdx b/v1/api-reference/v2-endpoint/search.mdx
index 7bbd5293..5c4600d7 100644
--- a/v1/api-reference/v2-endpoint/search.mdx
+++ b/v1/api-reference/v2-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v2-openapi POST /search'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
## What's New in v2
diff --git a/v1/api-reference/v2-endpoint/token-usage-historical.mdx b/v1/api-reference/v2-endpoint/token-usage-historical.mdx
index cfc47686..727687b4 100644
--- a/v1/api-reference/v2-endpoint/token-usage-historical.mdx
+++ b/v1/api-reference/v2-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: 'Historical Token Usage'
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
Returns historical token usage on a month-by-month basis. The endpoint can also breaks usage down by API key optionally.
diff --git a/v1/api-reference/v2-endpoint/token-usage.mdx b/v1/api-reference/v2-endpoint/token-usage.mdx
index 914760d5..bd8a4f77 100644
--- a/v1/api-reference/v2-endpoint/token-usage.mdx
+++ b/v1/api-reference/v2-endpoint/token-usage.mdx
@@ -1,4 +1,4 @@
---
title: 'Token Usage'
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
\ No newline at end of file
diff --git a/x402/search.mdx b/x402/search.mdx
index 5bce4096..3106d09f 100644
--- a/x402/search.mdx
+++ b/x402/search.mdx
@@ -1,6 +1,6 @@
---
title: 'On-Demand Search'
-openapi: 'v1-openapi POST /x402/search'
+openapi: '/api-reference/v1-openapi.json V1-OPENAPI POST /x402/search'
---
diff --git a/zh/_essentials/code.mdx b/zh/_essentials/code.mdx
index 187300c5..470b2a5b 100644
--- a/zh/_essentials/code.mdx
+++ b/zh/_essentials/code.mdx
@@ -18,7 +18,6 @@ icon: "code"
要将某个“单词”或“短语”标记为代码,请用反引号(`)将其括起来。
```
-
### 代码块
diff --git a/zh/_essentials/markdown.mdx b/zh/_essentials/markdown.mdx
index c5a3d0f0..5945e226 100644
--- a/zh/_essentials/markdown.mdx
+++ b/zh/_essentials/markdown.mdx
@@ -17,7 +17,6 @@ icon: 'text-size'
```
-
### 副标题
@@ -32,7 +31,6 @@ icon: 'text-size'
每个**标题**和**副标题**都会生成一个锚点,并显示在右侧的目录中。
-
## 文本格式
@@ -80,7 +78,6 @@ icon: 'text-size'
> 多萝西跟着她穿过城堡里许多漂亮的房间。
```
-
### 多行
@@ -95,7 +92,6 @@ icon: 'text-size'
> 女巫吩咐她把锅壶洗净、打扫地板,并不停往火里添柴。
```
-
### LaTeX
diff --git a/zh/_essentials/navigation.mdx b/zh/_essentials/navigation.mdx
index ee1e45bf..c599624f 100644
--- a/zh/_essentials/navigation.mdx
+++ b/zh/_essentials/navigation.mdx
@@ -63,7 +63,6 @@ icon: "map"
]
```
-
## 隐藏页面
diff --git a/zh/advanced-scraping-guide.mdx b/zh/advanced-scraping-guide.mdx
index 350ccc24..84039203 100644
--- a/zh/advanced-scraping-guide.mdx
+++ b/zh/advanced-scraping-guide.mdx
@@ -242,7 +242,6 @@ curl -X POST https://api.firecrawl.dev/v2/scrape \
API 参考: [Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -263,7 +262,6 @@ curl -X POST https://api.firecrawl.dev/v2/scrape \
}'
```
-
@@ -336,7 +334,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl \
{ "id": "1234-5678-9101" }
```
-
### 检查爬取任务
@@ -349,7 +346,6 @@ curl -X GET https://api.firecrawl.dev/v2/crawl/1234-5678-9101 \
-H 'Authorization: Bearer fc-你的API密钥'
```
-
@@ -372,7 +368,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl/params-preview \
}'
```
-
### 爬虫选项
@@ -468,7 +463,6 @@ curl -X POST https://api.firecrawl.dev/v2/crawl \
}'
```
-
## 映射网站链接
@@ -488,7 +482,6 @@ curl -X POST https://api.firecrawl.dev/v2/map \
}'
```
-
### Map 选项
diff --git a/zh/agents/fire-1-extract.mdx b/zh/agents/fire-1-extract.mdx
index 77b7f162..b3ae88e5 100644
--- a/zh/agents/fire-1-extract.mdx
+++ b/zh/agents/fire-1-extract.mdx
@@ -52,7 +52,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
在此示例中,已指示 FIRE-1(代理)在进行最终抓取前对产品列表进行分页。
-
@@ -94,7 +93,6 @@ curl -X POST https://api.firecrawl.dev/v1/extract \
在此,代理会在提取开始前,依据提供的 schema 和提示词,通过与“Load More Comments”按钮交互,确保页面上的所有评论已加载完毕。
**注意:**FIRE-1(代理)功能强大,但根据导航指令的复杂度和交互页面数量,可能会消耗更多积分。
-
### 认识 FIRE-1:智能导航与交互
@@ -126,7 +124,6 @@ FIRE-1 为 Firecrawl 注入更高层次的智能,能在复杂站点结构中
*注意:* 发起 scrape 请求时必须提供 `prompt` 字段,用于精确指示 FIRE-1 如何与网页交互。
-
## 使用 /scrape 端点的示例
@@ -149,7 +146,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
在此场景中,FIRE-1 会智能处理分页并汇集所有产品。
-
## 注意事项
diff --git a/zh/agents/fire-1.mdx b/zh/agents/fire-1.mdx
index b16b2310..0feca925 100644
--- a/zh/agents/fire-1.mdx
+++ b/zh/agents/fire-1.mdx
@@ -13,7 +13,6 @@ import ExtractFire1CURL from "/snippets/zh/v1/extract/agent-f1/curl.mdx";
FIRE-1 是一款可增强 Firecrawl 抓取能力的 AI 代理。它能够控制浏览器 actions 并在复杂的网站结构中进行导航,从而实现超越传统抓取方式的全面数据提取。
-
### FIRE-1 能做什么:
diff --git a/zh/api-reference/endpoint/batch-scrape-delete.mdx b/zh/api-reference/endpoint/batch-scrape-delete.mdx
index df7fbeca..f4aba182 100644
--- a/zh/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/zh/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,4 +1,4 @@
---
title: "取消批量抓取"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/batch-scrape-get-errors.mdx b/zh/api-reference/endpoint/batch-scrape-get-errors.mdx
index c0545d70..c2aaef2f 100644
--- a/zh/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/zh/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: '获取批量抓取错误信息'
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/batch-scrape-get.mdx b/zh/api-reference/endpoint/batch-scrape-get.mdx
index 9724d50b..f28e37f6 100644
--- a/zh/api-reference/endpoint/batch-scrape-get.mdx
+++ b/zh/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,4 +1,4 @@
---
title: "获取批量抓取状态"
-openapi: 'v2-openapi GET /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/batch-scrape.mdx b/zh/api-reference/endpoint/batch-scrape.mdx
index 9289841a..7d34ce50 100644
--- a/zh/api-reference/endpoint/batch-scrape.mdx
+++ b/zh/api-reference/endpoint/batch-scrape.mdx
@@ -1,4 +1,4 @@
---
title: "批量抓取"
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/crawl-active.mdx b/zh/api-reference/endpoint/crawl-active.mdx
index 36042d17..496414f4 100644
--- a/zh/api-reference/endpoint/crawl-active.mdx
+++ b/zh/api-reference/endpoint/crawl-active.mdx
@@ -1,4 +1,4 @@
---
title: "获取进行中的爬取任务"
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/crawl-delete.mdx b/zh/api-reference/endpoint/crawl-delete.mdx
index f6e98202..130fb845 100644
--- a/zh/api-reference/endpoint/crawl-delete.mdx
+++ b/zh/api-reference/endpoint/crawl-delete.mdx
@@ -1,4 +1,4 @@
---
title: "取消爬取"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/crawl-get-errors.mdx b/zh/api-reference/endpoint/crawl-get-errors.mdx
index a1ac5ea5..4949c00f 100644
--- a/zh/api-reference/endpoint/crawl-get-errors.mdx
+++ b/zh/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,4 +1,4 @@
---
title: "获取抓取错误"
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/crawl-get.mdx b/zh/api-reference/endpoint/crawl-get.mdx
index 482cad80..fa7d68e7 100644
--- a/zh/api-reference/endpoint/crawl-get.mdx
+++ b/zh/api-reference/endpoint/crawl-get.mdx
@@ -1,4 +1,4 @@
---
title: "获取抓取状态"
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/crawl-params-preview.mdx b/zh/api-reference/endpoint/crawl-params-preview.mdx
index c55fbebb..76eacf6e 100644
--- a/zh/api-reference/endpoint/crawl-params-preview.mdx
+++ b/zh/api-reference/endpoint/crawl-params-preview.mdx
@@ -1,6 +1,6 @@
---
title: "Crawl 参数预览"
-openapi: 'v2-openapi POST /crawl/params-preview'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /crawl/params-preview'
---
@@ -18,7 +18,6 @@ openapi: 'v2-openapi POST /crawl/params-preview'
}
```
-
### 返回
diff --git a/zh/api-reference/endpoint/crawl-post.mdx b/zh/api-reference/endpoint/crawl-post.mdx
index 2bd6830b..5eeee68e 100644
--- a/zh/api-reference/endpoint/crawl-post.mdx
+++ b/zh/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: '抓取'
-openapi: 'v2-openapi POST /crawl'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -22,7 +22,6 @@ openapi: 'v2-openapi POST /crawl'
这会将提示映射到一组爬虫设置,以执行抓取。
-
### 更完善的 Sitemap 控制
diff --git a/zh/api-reference/endpoint/credit-usage-historical.mdx b/zh/api-reference/endpoint/credit-usage-historical.mdx
index 7f6007ab..ab38fa5e 100644
--- a/zh/api-reference/endpoint/credit-usage-historical.mdx
+++ b/zh/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "历史积分用量"
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
按月返回历史积分用量。该端点还可选按 API key 分解用量。
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/credit-usage.mdx b/zh/api-reference/endpoint/credit-usage.mdx
index b1499afb..5f1cf9eb 100644
--- a/zh/api-reference/endpoint/credit-usage.mdx
+++ b/zh/api-reference/endpoint/credit-usage.mdx
@@ -1,4 +1,4 @@
---
title: "积分使用情况"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/extract-get.mdx b/zh/api-reference/endpoint/extract-get.mdx
index e4d3ed5b..bad04a0b 100644
--- a/zh/api-reference/endpoint/extract-get.mdx
+++ b/zh/api-reference/endpoint/extract-get.mdx
@@ -1,4 +1,4 @@
---
title: "获取提取状态"
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/extract.mdx b/zh/api-reference/endpoint/extract.mdx
index 5dc975f7..a821f962 100644
--- a/zh/api-reference/endpoint/extract.mdx
+++ b/zh/api-reference/endpoint/extract.mdx
@@ -1,4 +1,4 @@
---
title: "Extract"
-openapi: 'v2-openapi POST /extract'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/map.mdx b/zh/api-reference/endpoint/map.mdx
index 8729d487..cf76cc71 100644
--- a/zh/api-reference/endpoint/map.mdx
+++ b/zh/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map(映射)"
-openapi: "v2-openapi POST /map"
+openapi: "/zh/api-reference/v1-openapi.json V2-OPENAPI POST /map"
---
@@ -24,7 +24,6 @@ openapi: "v2-openapi POST /map"
}
```
-
### 响应格式已更改
diff --git a/zh/api-reference/endpoint/queue-status.mdx b/zh/api-reference/endpoint/queue-status.mdx
index a01a37c3..a2aff2f3 100644
--- a/zh/api-reference/endpoint/queue-status.mdx
+++ b/zh/api-reference/endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "队列状态"
-openapi: 'v2-openapi GET /team/queue-status'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/queue-status'
---
你团队抓取队列的指标。
\ No newline at end of file
diff --git a/zh/api-reference/endpoint/scrape.mdx b/zh/api-reference/endpoint/scrape.mdx
index 80beeec0..d6b5f90b 100644
--- a/zh/api-reference/endpoint/scrape.mdx
+++ b/zh/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: "Scrape"
-openapi: 'v2-openapi POST /scrape'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /scrape'
---
diff --git a/zh/api-reference/endpoint/search.mdx b/zh/api-reference/endpoint/search.mdx
index f0af433e..a66ad3c5 100644
--- a/zh/api-reference/endpoint/search.mdx
+++ b/zh/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "搜索"
-openapi: 'v2-openapi POST /search'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /search'
---
@@ -20,7 +20,6 @@ openapi: 'v2-openapi POST /search'
}
```
-
### 响应格式已变更
@@ -38,7 +37,6 @@ v1:平铺的结果列表。v2:按来源类型分组:
}
```
-
### 新功能
@@ -94,7 +92,6 @@ v1:平铺的结果列表。v2:按来源类型分组:
}
```
-
## categories 参数
@@ -117,7 +114,6 @@ v1:平铺的结果列表。v2:按来源类型分组:
}
```
-
### 类别响应
@@ -146,7 +142,6 @@ v1:平铺的结果列表。v2:按来源类型分组:
}
```
-
## 基于时间的搜索
diff --git a/zh/api-reference/endpoint/token-usage-historical.mdx b/zh/api-reference/endpoint/token-usage-historical.mdx
index 2fe1d89f..744016be 100644
--- a/zh/api-reference/endpoint/token-usage-historical.mdx
+++ b/zh/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "历史 Token 使用情况"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
按月返回历史 Token 使用情况。该端点也可选择按 API 密钥分解使用量。
diff --git a/zh/api-reference/endpoint/token-usage.mdx b/zh/api-reference/endpoint/token-usage.mdx
index 40454f7b..3351f956 100644
--- a/zh/api-reference/endpoint/token-usage.mdx
+++ b/zh/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: "Token 使用情况"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
我们已简化计费:Extract 现在与其他端点一致,改为按积分计费。每个积分折合 15 个 Token。现在报告的 Token 使用情况包含所有端点的用量。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/batch-scrape-delete.mdx b/zh/api-reference/v1-endpoint/batch-scrape-delete.mdx
index 9e91245a..de607c91 100644
--- a/zh/api-reference/v1-endpoint/batch-scrape-delete.mdx
+++ b/zh/api-reference/v1-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: '取消批量抓取'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> 注意:新版 [v2 API](/zh/api-reference/endpoint/batch-scrape-delete) 现已上线,功能与性能均有所提升。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/batch-scrape-get-errors.mdx b/zh/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
index edeb7e57..1235c70e 100644
--- a/zh/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
+++ b/zh/api-reference/v1-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: '获取批量抓取错误'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> 注意:现已提供该 API 的全新 [v2 版本](/zh/api-reference/endpoint/batch-scrape-get-errors),具备更完善的错误报告与调试功能。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/batch-scrape-get.mdx b/zh/api-reference/v1-endpoint/batch-scrape-get.mdx
index 819d3270..3136162c 100644
--- a/zh/api-reference/v1-endpoint/batch-scrape-get.mdx
+++ b/zh/api-reference/v1-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: '获取批量抓取状态'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> 注意:现已提供该 API 的[v2 版本](/zh/api-reference/endpoint/batch-scrape-get),具备更完善的状态跟踪与监控能力。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/batch-scrape.mdx b/zh/api-reference/v1-endpoint/batch-scrape.mdx
index ac623724..ead4361d 100644
--- a/zh/api-reference/v1-endpoint/batch-scrape.mdx
+++ b/zh/api-reference/v1-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: '批量抓取'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> 注意:全新的 [v2 版 API](/zh/api-reference/endpoint/batch-scrape) 已上线,批处理性能和可靠性进一步提升。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/crawl-active.mdx b/zh/api-reference/v1-endpoint/crawl-active.mdx
index 1f73d852..88b7db72 100644
--- a/zh/api-reference/v1-endpoint/crawl-active.mdx
+++ b/zh/api-reference/v1-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: '获取进行中的爬取任务'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> 注意:现已提供该 API 的全新 [v2 版本](/zh/api-reference/endpoint/crawl-active),功能更强大、性能更出色。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/crawl-delete.mdx b/zh/api-reference/v1-endpoint/crawl-delete.mdx
index 1250c92e..67a6522a 100644
--- a/zh/api-reference/v1-endpoint/crawl-delete.mdx
+++ b/zh/api-reference/v1-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: '取消 Crawl'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> 注意:现已提供改进功能与性能的全新 [v2 版 API](/zh/api-reference/endpoint/crawl-delete)。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/crawl-get-errors.mdx b/zh/api-reference/v1-endpoint/crawl-get-errors.mdx
index d0b0d9bc..4778658e 100644
--- a/zh/api-reference/v1-endpoint/crawl-get-errors.mdx
+++ b/zh/api-reference/v1-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: '获取 Crawl 错误'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> 注意:现已提供新的 [该 API 的 v2 版本](/zh/api-reference/endpoint/crawl-get-errors),功能与性能均有所提升。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/crawl-get.mdx b/zh/api-reference/v1-endpoint/crawl-get.mdx
index f923a048..fbf5027b 100644
--- a/zh/api-reference/v1-endpoint/crawl-get.mdx
+++ b/zh/api-reference/v1-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: '获取 Crawl 状态'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> 注意:现已提供全新的 [该 API 的 v2 版本](/zh/api-reference/endpoint/crawl-get),具有更强大的功能和更佳的性能。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/crawl-post.mdx b/zh/api-reference/v1-endpoint/crawl-post.mdx
index 93d9af95..6a6564a0 100644
--- a/zh/api-reference/v1-endpoint/crawl-post.mdx
+++ b/zh/api-reference/v1-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: '爬取'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> 注意:全新的 [v2 版本 API](/zh/api-reference/endpoint/crawl-post) 现已发布,提供更强大的功能和更高的性能。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/credit-usage-historical.mdx b/zh/api-reference/v1-endpoint/credit-usage-historical.mdx
index e421ce1f..4e2787be 100644
--- a/zh/api-reference/v1-endpoint/credit-usage-historical.mdx
+++ b/zh/api-reference/v1-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "历史积分使用情况"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
按月返回历史积分使用情况。该端点也可选按 API key 细分使用情况。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/credit-usage.mdx b/zh/api-reference/v1-endpoint/credit-usage.mdx
index b374201c..a89c3aa0 100644
--- a/zh/api-reference/v1-endpoint/credit-usage.mdx
+++ b/zh/api-reference/v1-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: '额度使用情况'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> 注意:现已推出新版 [v2 API](/zh/api-reference/endpoint/credit-usage),功能更强,性能更佳。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/deep-research-get.mdx b/zh/api-reference/v1-endpoint/deep-research-get.mdx
index 24078eeb..ba1890a9 100644
--- a/zh/api-reference/v1-endpoint/deep-research-get.mdx
+++ b/zh/api-reference/v1-endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "深度研究"
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/deep-research.mdx b/zh/api-reference/v1-endpoint/deep-research.mdx
index da8771fb..9ff85518 100644
--- a/zh/api-reference/v1-endpoint/deep-research.mdx
+++ b/zh/api-reference/v1-endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: "Deep Research"
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Deep Research 端点可对任意主题进行 AI 驱动的深度研究与分析。您只需提供研究查询,Firecrawl 将自主探索全网、收集相关信息,并将结果整合为全面的洞察。
diff --git a/zh/api-reference/v1-endpoint/extract-get.mdx b/zh/api-reference/v1-endpoint/extract-get.mdx
index 1e143a0e..9f10e2cf 100644
--- a/zh/api-reference/v1-endpoint/extract-get.mdx
+++ b/zh/api-reference/v1-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: '获取 Extract 状态'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> 注意:该 API 的 [v2 版本](/zh/api-reference/endpoint/extract-get) 已上线,功能更强、性能更佳。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/extract.mdx b/zh/api-reference/v1-endpoint/extract.mdx
index 6105cbb7..c98a7fa6 100644
--- a/zh/api-reference/v1-endpoint/extract.mdx
+++ b/zh/api-reference/v1-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> 注意:现已推出 [该 API 的 v2 版本](/zh/api-reference/endpoint/extract),功能更强,性能更佳。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/llmstxt-get.mdx b/zh/api-reference/v1-endpoint/llmstxt-get.mdx
index 33cb7cc2..c299d914 100644
--- a/zh/api-reference/v1-endpoint/llmstxt-get.mdx
+++ b/zh/api-reference/v1-endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt 状态"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/zh/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
获取 LLMs.txt 生成任务的状态与结果。通过此端点,你可以检查生成是否已完成,并获取生成的内容。
@@ -69,7 +69,6 @@ openapi: "v1-openapi GET /llmstxt/{id}"
}
```
-
### 轮询建议
diff --git a/zh/api-reference/v1-endpoint/llmstxt.mdx b/zh/api-reference/v1-endpoint/llmstxt.mdx
index d1059644..514cd03f 100644
--- a/zh/api-reference/v1-endpoint/llmstxt.mdx
+++ b/zh/api-reference/v1-endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "生成 LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/zh/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
LLMs.txt 生成端点可为任意网站创建 LLMs.txt 和 LLMs-full.txt 文件。这些文件以结构化、对 LLM 友好的格式呈现网站内容,便于语言模型理解和处理信息。
diff --git a/zh/api-reference/v1-endpoint/map.mdx b/zh/api-reference/v1-endpoint/map.mdx
index e3498d0a..0741d073 100644
--- a/zh/api-reference/v1-endpoint/map.mdx
+++ b/zh/api-reference/v1-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: 'Map'
-openapi: 'v1-openapi POST /map'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> 注意:现已推出 [该 API 的 v2 版本](/zh/api-reference/endpoint/map),功能更强大,性能更出色。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/queue-status.mdx b/zh/api-reference/v1-endpoint/queue-status.mdx
index b4e08123..65f78221 100644
--- a/zh/api-reference/v1-endpoint/queue-status.mdx
+++ b/zh/api-reference/v1-endpoint/queue-status.mdx
@@ -1,6 +1,6 @@
---
title: "队列状态"
-openapi: 'v1-openapi GET /team/queue-status'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/queue-status'
---
> 注意:现已推出该 API 的 [v2 版本](/zh/api-reference/endpoint/queue-status),功能与性能均有所提升。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/scrape.mdx b/zh/api-reference/v1-endpoint/scrape.mdx
index 38d6990a..40881f3c 100644
--- a/zh/api-reference/v1-endpoint/scrape.mdx
+++ b/zh/api-reference/v1-endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> 注意:全新的 [v2 版本 API](/zh/api-reference/endpoint/scrape) 已上线,功能更强、性能更佳。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/search.mdx b/zh/api-reference/v1-endpoint/search.mdx
index aa5102b0..c18fb066 100644
--- a/zh/api-reference/v1-endpoint/search.mdx
+++ b/zh/api-reference/v1-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> 注意:现已推出该 API 的全新 [v2 版本](/zh/api-reference/endpoint/search),功能与性能均有升级。
diff --git a/zh/api-reference/v1-endpoint/token-usage-historical.mdx b/zh/api-reference/v1-endpoint/token-usage-historical.mdx
index bd53e9ff..7b158091 100644
--- a/zh/api-reference/v1-endpoint/token-usage-historical.mdx
+++ b/zh/api-reference/v1-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "历史 Token 使用情况"
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
按月返回历史 Token 使用情况。该端点还可选按 API key 对使用情况进行细分。
\ No newline at end of file
diff --git a/zh/api-reference/v1-endpoint/token-usage.mdx b/zh/api-reference/v1-endpoint/token-usage.mdx
index 33cd7cfe..2f0370fc 100644
--- a/zh/api-reference/v1-endpoint/token-usage.mdx
+++ b/zh/api-reference/v1-endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: '令牌用量'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> 注意:全新的 [该 API 的 v2 版本](/zh/api-reference/endpoint/token-usage) 现已上线,具备更强功能与更高性能。
\ No newline at end of file
diff --git a/zh/api-reference/v1-openapi.json b/zh/api-reference/v1-openapi.json
new file mode 100644
index 00000000..49f7db10
--- /dev/null
+++ b/zh/api-reference/v1-openapi.json
@@ -0,0 +1,3656 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "用于与 Firecrawl 服务交互,以进行网页抓取和爬取任务的 API。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "抓取单个 URL,并可选择使用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果为 true,将对本次抓取启用零数据保留策略。要开启此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "抓取多个 URL,并可选用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于接收 webhook 的 URL。该 webhook 会在批量抓取开始时触发(batch_scrape.started)、每个页面被抓取时触发(batch_scrape.page),以及在批量抓取完成时触发(batch_scrape.completed 或 batch_scrape.failed)。其响应与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将包含在此次抓取的所有 webhook 负载中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到 webhook URL 的事件类型(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数量。此参数用于为本次批量抓取设置并发上限。若未指定,则本次批量抓取将遵循你的团队并发限制。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果在 urls 数组中指定了无效 URL,这些 URL 会被忽略。它们不会导致整个请求失败,而是会基于剩余的有效 URL 创建一个批量抓取任务,并在响应的 invalidURLs 字段中返回这些无效 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "若为 true,则此次批量抓取任务将不保留任何数据。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业的状态",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消批量抓取作业",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "取消成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到批量抓取任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业的错误信息",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抓取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取任务状态",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消抓取作业",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "已成功取消",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到抓取任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取任务的错误信息",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付款",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "根据选项爬取多个 URL",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "开始爬取时使用的起始 URL"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "根据 URL pathname 的正则表达式模式,将匹配的 URL 排除在抓取之外。例如,如果你在基础 URL firecrawl.dev 上设置 `\"excludePaths\": [\"blog/.*\"]`,那么所有匹配该模式的结果都会被排除,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在抓取中指定要包含哪些 URL 的 URL 路径名正则表达式模式。只有与指定模式匹配的路径才会包含在响应中。例如,如果你为基础 URL firecrawl.dev 设置 `\"includePaths\": [\"blog/.*\"]`,则只有与该模式匹配的结果会被包含,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "从输入 URL 的基础路径开始可爬取的最大绝对深度。简单来说,就是被抓取 URL 的路径名中允许包含的斜杠数量上限。",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "基于发现顺序的最大抓取深度。根站点及站点地图中的页面的发现深度为 0。比如,如果你将其设置为 1,并启用 ignoreSitemap,你只会抓取输入的 URL,以及该页面上所有被链接到的 URL。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "爬取时忽略网站的 sitemap",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "请勿对同一路径使用不同(或无)查询参数进行重复抓取",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "要抓取的最大页面数。默认上限为 10000。",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ 已弃用:请改用“crawlEntireDomain”。此选项允许爬虫跟踪指向同级或父级 URL 的内部链接,而不仅限于子路径。",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "允许爬虫跟踪到同级或父级的站内链接,而不仅仅是子路径。\n\nfalse:只爬取更深层(子级)URL。\n→ 例如 /features/feature-1 → /features/feature-1/tips ✅\n→ 不会跟踪 /pricing 或 / ❌\n\ntrue:爬取任意站内链接,包括同级和父级。\n→ 例如 /features/feature-1 → /pricing、/ 等 ✅\n\n当需要在嵌套路径之外更广泛地覆盖站内链接时,将其设置为 true。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "允许爬虫跟随链接访问外部网站。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "允许爬虫跟随指向主域子域的链接。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "每次抓取之间的延迟时间(秒)。有助于遵守网站的速率限制。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大抓取并发数。该参数用于为本次抓取任务设置并发上限;如果未指定,将沿用你团队的并发限制。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于接收 webhook 的 URL。该 webhook 会在以下事件中触发:当爬取开始时(crawl.started)、每完成一页爬取时(crawl.page),以及爬取结束时(crawl.completed 或 crawl.failed)。响应将与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "要发送到 webhook URL 的 HTTP 请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将包含在本次抓取所有 webhook 负载中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果为 true,则本次爬取将不会保留任何数据。若要启用此功能,请联系 help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "基于选项对多个 URL 进行映射",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "开始爬取时使用的基础 URL"
+ },
+ "search": {
+ "type": "string",
+ "description": "用于映射的搜索查询。在 Alpha 阶段,搜索功能中的「智能」部分最多只会处理 500 条搜索结果。不过,如果 Map 找到更多结果,则不会对这些结果施加任何限制。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "抓取网站时忽略其 sitemap。",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "仅返回网站站点地图中包含的链接",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "包含该网站子域名",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "要返回的最大链接数",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)。默认情况下没有超时限制。"
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的地理位置设置。指定后(如果可用),将使用相应的代理,并模拟对应的语言和时区设置。如果未指定,默认值为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 国家代码(例如:US、AU、DE、JP)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "请求中按优先级排序的首选语言和区域设置。默认使用指定位置的语言。参见 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付款",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "利用 LLM 从网页中提取结构化数据",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于提取数据的 URL。URL 应采用 glob 格式。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于引导抽取过程的提示词"
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于定义提取后数据结构的模式。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "当设为 true 时,提取过程会通过网页搜索获取更多数据",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "为 true 时,网站扫描过程中会忽略 sitemap.xml 文件",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "设为 true 时,还会扫描所提供 URL 的子域名",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "如果为 true,用于提取数据的来源将会包含在响应的 `sources` 字段中",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果在 urls 数组中指定了无效 URL,这些 URL 会被忽略。请求不会因此整体失败,而是会使用剩余的有效 URL 执行提取操作,并在响应的 invalidURLs 字段中返回这些无效 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "提取成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效请求",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "提取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取提取任务的状态",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "获取当前已认证团队的所有活跃抓取任务",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "爬取任务的唯一标识符"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "拥有此抓取任务的团队 ID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "爬取的起始 URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "本次抓取使用的爬虫配置",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付款",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "针对查询启动深度研究操作",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "需要研究的查询"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "研究迭代最大深度"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "时间限制(秒)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "要分析的 URL 数量上限"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "用于最终分析的提示词。可用于按特定方式格式化最终分析的 Markdown。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "供研究代理使用的系统提示词,可用于将其引导到特定的研究方向。"
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 输出选项",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "用于 JSON 输出的模式定义。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "用于生成 JSON 输出的系统提示"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于生成 JSON 输出的提示"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "研究任务已成功开始",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "研究任务的 ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "请求参数无效",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "研究任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取深度研究任务的状态和结果",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "仅在使用 JSON 格式时显示",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的标题,类型可以是字符串或字符串数组"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的描述,可以是字符串或字符串数组"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到研究作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "获取当前团队的剩余额度",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "团队剩余额度",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "当前套餐内的基础积分数量。本数值不包括优惠券积分、积分包或自动充值获得的积分。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的开始日期。如果使用免费方案,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。使用免费方案时为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到额度使用情况信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "获取已认证团队的历史额度使用记录",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥获取历史额度使用记录",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "账单周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "计费周期中使用的 API 密钥名称。如果 byApiKey 为 false(默认值),则为 null。",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "计费周期内已使用的总额度",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "获取当前已认证团队的剩余 Token(仅限 Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "团队剩余 Token 数量",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "方案中包含的 Token 数量。不包括优惠券提供的 Token。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的起始日期。若使用免费计划,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。使用免费套餐时为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 Token 使用情况",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "获取已认证团队的历史 Token 用量(仅限 Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥获取历史 Token 使用量",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "在该计费周期内使用的 API 密钥名称。若 byApiKey 为 false(默认),则为 null",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "计费周期内消耗的 Token 总数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "团队抓取队列指标",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "当前队列中的任务数量"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "当前正在运行的任务数"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "当前排队中的任务数"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "根据你的套餐可同时运行的最大并发任务数"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "最近一次成功作业的时间戳",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "搜索并按需抓取搜索结果",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "搜索查询"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回的最大结果数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "基于时间的搜索参数。支持预定义时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)以及自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)。"
+ },
+ "location": {
+ "type": "string",
+ "description": "搜索结果的 location 参数"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "会从搜索结果中排除对其他 Firecrawl 端点无效的 URL。这样当你将搜索结果数据传递到其他 Firecrawl API 端点时,可以减少出错。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "搜索结果抓取选项",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "来自搜索结果的标题"
+ },
+ "description": {
+ "type": "string",
+ "description": "搜索结果中的描述"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的URL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "在请求抓取时返回的 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "若在 formats 中指定,则返回 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求,则会返回原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果在 formats 中有请求,则返回发现的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求了截图,将返回截图的 URL。截图在 24 小时后过期,之后将无法再下载。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的标题,可以是字符串或字符串数组。"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的描述,可以是字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "出现问题时显示的警告信息"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "请求超时",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "为网站生成 LLMs.txt 文件",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于生成 LLMs.txt 的源 URL"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "要分析的 URL 最大数量",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "在响应中包含全文内容",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "LLMs.txt 生成任务已成功启动",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "LLMs.txt 生成作业的 ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效的请求参数",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "LLMs.txt 生成作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取 LLMs.txt 生成作业的状态和结果",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "生成的 LLMs.txt 文件内容"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "当 showFullText 为 true 时的完整文本内容"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "生成内容何时过期"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 LLMs.txt 生成作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主体内容,不包括页眉、导航、页脚等。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "需要包含在输出中的标签。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在输出结果中要排除的标签。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "如果页面的缓存版本的生成时间距现在小于此值(毫秒),则返回该缓存版本;如果缓存版本早于此值,则会重新抓取页面。如果你不需要极其实时的数据,启用此选项可以将抓取速度最多提升 5 倍。默认值为 0,表示禁用缓存。",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "随请求发送的请求头。可用于携带 cookies、user-agent 等信息。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "设置在获取内容前的延迟时间(毫秒),以便页面有足够时间加载完成。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "若要模拟移动端抓取,请将其设置为 true。适用于测试响应式页面并获取移动端截图。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "在发送请求时跳过 TLS 证书校验",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "请求超时时间(毫秒)",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "控制在爬取过程中如何处理 PDF 文件。为 true 时,会提取 PDF 内容并转换为 Markdown 格式,按页数计费(每页 1 个积分)。为 false 时,会返回以 base64 编码的 PDF 文件,统一按 1 个积分计费。",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 配置对象",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "用于提取的数据模式(可选)。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "用于抽取的系统提示(可选)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "在无 schema 情况下用于抽取的数据提示词(可选)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "在抓取页面内容前需要执行的 actions",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "等待指定的毫秒数"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "等待的时间(毫秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位该元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "进行截图。链接将位于响应的 `actions.screenshots` 数组中。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是否截取整页截图,或仅截取当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,取值范围为 1 至 100,100 为最高质量。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "单击元素"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于查找元素的查询选择器",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "点击所有匹配该选择器的元素,而不仅仅是第一个元素。如果没有元素匹配该选择器,也不会抛出错误。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "在输入框、文本区域或 contenteditable 元素中写入文本。注意:在写入之前,必须先通过一次“click”操作使该元素获得焦点。文本将以逐字符输入的方式进行,以模拟键盘敲击。"
+ },
+ "text": {
+ "type": "string",
+ "description": "输入文本",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "请在页面上按下任意键。按键代码请参考:https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "在页面上按下任意键"
+ },
+ "key": {
+ "type": "string",
+ "description": "按键",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "滚动页面或特定元素"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "滚动方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "需要滚动的元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "抓取当前页面内容,同时返回其 URL 和 HTML。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "在页面上执行 JavaScript 代码"
+ },
+ "script": {
+ "type": "string",
+ "description": "待执行的 JavaScript 代码",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "生成当前页面的 PDF。该 PDF 将在响应中的 `actions.pdfs` 数组里返回。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成的 PDF 的页面大小",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "是否以横向页面方向生成 PDF 文件",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成的 PDF 的缩放比例",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的地理位置设置。指定后,如果可用,将使用合适的代理服务器,并模拟相应的语言和时区设置。如果未指定,默认值为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 两位字母国家代码(例如:“US”、“AU”、“DE”、“JP”)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "按照优先级为本次请求指定首选语言和区域设置。默认使用所指定地区的语言。详见:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "从输出中移除所有 Base64 图片,以避免内容过于冗长。图片的替代文本(alt 文本)会保留在输出中,但其 URL 会被占位符替换。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "启用广告拦截和 Cookie 弹窗屏蔽。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "指定要使用的代理类型。\n\n - **basic**:用于抓取没有或仅有基础反爬虫机制的网站的代理。速度快,通常可用。\n - **stealth**:用于抓取具备高级反爬虫机制的网站的隐身代理。速度较慢,但在某些网站上更可靠。每次请求最多消耗 5 点积分。\n - **auto**:如果 basic 代理抓取失败,Firecrawl 将自动改用 stealth 代理重试抓取。如果使用 stealth 的重试成功,本次抓取将收取 5 点积分;如果首次使用 basic 抓取就成功,则仅收取常规费用。\n\n如果你未指定代理类型,Firecrawl 将默认使用 basic。"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "如果为 true,该页面将被存储到 Firecrawl 的索引和缓存中。若你的抓取活动可能涉及数据保护方面的问题,将其设置为 false 会更合适。使用某些与敏感抓取相关的参数(如 actions、headers)时,该参数会被强制设为 false。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "输出中要包含的formats。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "用于 changeTracking 的选项(Beta)。仅当在 formats 中包含 'changeTracking' 时才适用。使用 changeTracking 时,还必须同时指定 'markdown' 格式。",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "用于更改跟踪的模式。`git-diff` 提供详细的差异对比,而 `json` 用于比较提取的 JSON 数据。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "在使用 `json` 模式时用于 JSON 提取的 schema。用于定义要提取和对比的数据结构。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "在使用 JSON 模式进行变更跟踪时要使用的提示。如果未提供,则会使用默认提示。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "用于变更跟踪的标签。标签可以将变更跟踪历史划分为不同的「分支」,使用特定标签的变更跟踪只会与同一标签下的抓取结果进行比较。如果未提供,则会使用默认标签(null)。"
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `html` 时,返回该页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `formats` 中包含 `rawHtml`,则为页面的原始 HTML 内容"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `screenshot`,将返回该页面的截图。截图将在 24 小时后失效,之后将无法再下载。"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "当 `formats` 中包含 `links` 时,页面上的链接列表"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` 参数中各项 actions 的执行结果。仅当请求中提供了 `actions` 参数时才会包含此字段。",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "截图 URL,与提供的截图 actions 顺序一致。截图将在 24 小时后过期,之后将无法再下载。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "按照提供的 scrape actions 的顺序抓取内容。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "JavaScript 的返回值,其顺序与提供的 executeJavascript actions 相同。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成的 PDF,其顺序与提供的 pdf actions 保持一致。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的关键词,可以为字符串或字符串数组"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "此页面的其他语言版本"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "在使用 LLM 提取时显示。根据定义的 schema 从页面中提取的数据。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用 LLM Extraction 时显示。警告信息会提示你提取过程中的任何问题。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `changeTracking` 时,会返回变更追踪信息。仅在请求 `changeTracking` format 时才会提供。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "用于与当前页面进行比较的上一次抓取时间戳。如果不存在之前的抓取记录,则为 null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "两个页面版本比较的结果。`new` 表示该页面之前不存在,`same` 表示内容没有变化,`changed` 表示内容发生了变化,`removed` 表示该页面已被移除。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "当前页面/URL 的可见性。\"visible\" 表示该 URL 是通过自然路径(链接或 sitemap)发现的,\"hidden\" 表示该 URL 是通过之前抓取结果的记忆发现的。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用“git-diff”模式时生成的 Git 风格差异(diff)。仅在模式设置为“git-diff”时才会出现。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "在使用 `json` 模式时的 JSON 比较结果。仅在模式设置为 `json` 时可用。它会根据 `schema` 中定义的类型,返回 `previous` 和 `current` 抓取结果中所有键及其对应值的列表。示例参见[这里](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "当前爬取任务的状态。可能为 `scraping`、`completed` 或 `failed` 之一。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "成功爬取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次爬取所消耗的额度数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "抓取任务到期的日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取后续 10MB 数据的 URL。如果抓取尚未完成或响应大小超过 10MB,则会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "爬取数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,页面内容的 HTML 格式版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则返回页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "当 `includeLinks` 为 true 时,页面上的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的标题,可以是一个字符串或字符串数组"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的描述信息,可以是字符串或字符串数组"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "从页面中提取的语言,可以是字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的关键词,可以是字符串或字符串数组。"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "页面的其他语言版本"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从 HTML 中提取的其他元数据,可以为字符串或字符串数组"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "抓取任务错误及其详情",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失败时间的 ISO 时间戳"
+ },
+ "url": {
+ "type": "string",
+ "description": "已爬取 URL"
+ },
+ "error": {
+ "type": "string",
+ "description": "错误信息"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "在抓取时尝试访问但被 robots.txt 阻止的 URL 列表",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "批量抓取的当前状态。状态可能为 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试抓取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "已成功抓取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "该批量抓取所使用的积分数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "批量抓取任务的到期时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取后续 10MB 数据的 URL。如果批量抓取任务尚未完成,或响应数据大于 10MB,则会返回此 URL。"
+ },
+ "data": {
+ "type": "array",
+ "description": "批量爬取的数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeHtml` 为 true 时,页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 `includeLinks` 为 true,则包含页面上的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的标题,可以是字符串或字符串数组"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的描述,可以是一个字符串或字符串数组"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "从页面提取的语言,可以是一个字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的关键词,可以为字符串或字符串数组"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "此页面的其他语言版本"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从 HTML 中提取的其他元数据,可以是字符串或字符串数组"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则该字段是一个数组,包含请求中指定的无效 URL。若没有无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则该字段为 undefined。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则此字段是一个数组,包含请求中指定的无效 URL。若没有无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则此字段为 undefined。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "提取作业的当前状态"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/zh/api-reference/v2-openapi.json b/zh/api-reference/v2-openapi.json
new file mode 100644
index 00000000..4899b46c
--- /dev/null
+++ b/zh/api-reference/v2-openapi.json
@@ -0,0 +1,3828 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "用于与 Firecrawl 服务交互,执行网页抓取和爬取任务的 API。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "抓取单个 URL,并可选用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果为 true,则本次抓取将不保留任何数据。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "抓取多个 URL,并可选择使用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于接收 webhook 的 URL。它会在批量抓取开始时触发(batch_scrape.started)、每个页面被抓取时触发(batch_scrape.page),以及在批量抓取完成时触发(batch_scrape.completed 或 batch_scrape.failed)。响应与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将添加到此次爬取的所有 webhook 有效载荷中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到该 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数。此参数用于为本次批量抓取设置并发上限。若未指定,批量抓取将遵循你的团队的并发限制。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "如果在 urls 数组中指定了无效的 URL,这些 URL 会被忽略。它们不会导致整个请求失败,而是会使用剩余的有效 URL 创建一次批量抓取任务,并在响应的 invalidURLs 字段中返回这些无效的 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果设为 true,将为本次批量抓取启用零数据留存。要启用此功能,请联系 help@firecrawl.dev。"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业状态",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消批量抓取任务",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "取消成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到批量抓取作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量爬取任务的错误信息",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要支付",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "爬取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取任务状态",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消抓取任务",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "已成功取消",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到抓取任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "爬取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取抓取任务的错误详情",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "根据参数爬取多个 URL",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的基础 URL"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于根据自然语言生成爬虫选项(包括下方的所有参数)的提示词。显式指定的参数会覆盖生成的对应参数。"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于将匹配的 URL 排除在爬取之外的 URL 路径名正则表达式模式。例如,如果你为基础 URL firecrawl.dev 设置 `\"excludePaths\": [\"blog/.*\"]`,那么所有匹配该模式的结果都会被排除,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在抓取中指定要包含哪些 URL 的 URL 路径名正则表达式模式。只有路径与指定模式匹配的 URL 才会出现在响应中。比如,如果你为基础 URL firecrawl.dev 设置 `\"includePaths\": [\"blog/.*\"]`,则只有匹配该模式的结果会被返回,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "根据页面被发现的顺序设定的最大爬取深度。根站点和 sitemap 中的页面的发现深度为 0。比如,如果你将其设置为 1,并将 `sitemap` 设置为 `'skip'`,则只会爬取你输入的 URL 以及该页面上链接到的所有 URL。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "爬取时使用的 sitemap 模式。如果将其设置为「skip」,爬虫将忽略网站的 sitemap,只爬取你输入的 URL,并从该页面开始继续发现和爬取后续页面。",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "不要对同一路径使用不同(或没有)查询参数重复抓取",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "最大爬取页数。默认值为 10000。",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "允许爬虫不仅跟踪子路径,还能跟踪同级或父级的站内链接。\n\nfalse:只爬取更深层(子级)URL。\n→ 例如 /features/feature-1 → /features/feature-1/tips ✅\n→ 不会跟踪 /pricing 或 / ❌\n\ntrue:会爬取任意站内链接,包括同级和父级。\n→ 例如 /features/feature-1 → /pricing、/ 等 ✅\n\n如需在嵌套路径之外更广泛地覆盖站内页面,请将其设置为 true。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "允许爬虫通过链接访问外部网站。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "允许爬虫通过链接继续爬取主域名下的子域名。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "两次抓取之间的延迟时间(以秒为单位)。有助于遵守网站的速率限制。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数量。此参数允许你为本次抓取设置并发上限。如果未指定,则本次抓取将遵循你所在团队的并发限制。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "一个 Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于接收 webhook 的 URL。该 webhook 会在以下事件触发:爬取开始时(crawl.started)、每当有页面被爬取时(crawl.page)、以及爬取结束时(crawl.completed 或 crawl.failed)。其响应将与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将包含在本次抓取所有 webhook 负载中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "应发送到 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果设置为 true,将为本次抓取任务启用零数据保留。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要支付",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/params-preview": {
+ "post": {
+ "summary": "预览由自然语言提示词生成的爬取参数",
+ "operationId": "crawlParamsPreview",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要抓取的 URL"
+ },
+ "prompt": {
+ "type": "string",
+ "maxLength": 10000,
+ "description": "用自然语言编写的、描述你想爬取内容的提示词"
+ }
+ },
+ "required": [
+ "url",
+ "prompt"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应(包含生成的爬取参数)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "包含的 URL 模式"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "排除的 URL 模式"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "最大爬取深度"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "最大探索深度"
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "是否爬取整个域名"
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "是否允许外部链接"
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "是否允许子域名"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "站点地图处理策略"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "是否忽略查询参数"
+ },
+ "deduplicateSimilarURLs": {
+ "type": "boolean",
+ "description": "是否对相似 URL 去重"
+ },
+ "delay": {
+ "type": "number",
+ "description": "请求间隔(毫秒)"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "最大抓取页面数"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "错误请求",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid request parameters"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "未授权",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Unauthorized"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Failed to process natural language prompt"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "基于选项对多个 URL 进行映射",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的起始 URL"
+ },
+ "search": {
+ "type": "string",
+ "description": "指定搜索查询,以按相关性对结果排序。示例:使用“blog”将返回在 URL 中包含单词“blog”的网址,并按相关性排序。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "用于映射(mapping)时的 sitemap 模式。若设置为 `skip`,则不会使用 sitemap 来发现 URL。若设置为 `only`,则只会返回出现在 sitemap 中的 URL。默认值为 `include`,此时会同时使用 sitemap 和其他方式来发现 URL。",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "包含此网站的子域名",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "不要返回包含查询参数的 URL",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回的最大链接数量",
+ "default": 5000,
+ "maximum": 100000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "以毫秒为单位的超时时间。默认情况下不设置超时。"
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的地域设置。指定后,如果有可用代理,将使用相应代理,并模拟对应的语言和时区设置。若未指定,则默认为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 两位字母国家/地区代码(例如:'US'、'AU'、'DE'、'JP')",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "按优先级排列的本次请求的首选语言和区域设置。默认使用指定位置对应的语言。参见:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "examples": {
+ "example1": {
+ "summary": "示例 1",
+ "value": {
+ "url": "",
+ "search": "",
+ "sitemap": "include",
+ "includeSubdomains": true,
+ "ignoreQueryParameters": true,
+ "limit": 5000,
+ "location": {
+ "country": "US",
+ "languages": [
+ "en-US"
+ ]
+ },
+ "timeout": 60000
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "利用 LLM 从页面提取结构化数据",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要从中提取数据的 URL。URL 应为 glob 格式。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于引导提取过程的提示词"
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于定义提取后数据结构的 Schema。必须符合 [JSON Schema](https://json-schema.org/) 标准。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "为 true 时,提取过程将通过 Web 搜索获取更多数据",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "如果为 true,则在网站扫描过程中会忽略 sitemap.xml 文件",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "设为 true 时,也会扫描所提供 URL 的子域名",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "当为 true 时,用于提取数据的来源将作为 `sources` 键包含在响应中",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "如果在 urls 数组中指定了无效的 URL,这些 URL 将被忽略。请求不会因此整体失败,系统会改为使用剩余的有效 URL 执行提取操作,并在响应的 invalidURLs 字段中返回这些无效的 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "提取成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效请求",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "提取作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取提取任务的状态",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "获取当前认证团队的所有进行中的爬取任务",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "爬取任务的唯一标识符"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "此爬取任务所属团队的 ID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "爬取的起始 URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "本次抓取使用的爬虫配置",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "获取当前已认证团队的剩余额度",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "团队剩余额度",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "套餐中自带的额度数量。不包括优惠券额度、额度包或自动充值获得的额度。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期。使用免费套餐时为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。若使用免费套餐,则为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到额度使用信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "获取已认证团队的历史额度使用记录",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥查询历史额度用量",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "该计费周期中使用的 API 密钥名称。若 byApiKey 为 false(默认),则为 null",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "账单周期内使用的积分总数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "获取已认证团队的剩余 tokens(仅限 Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "团队剩余 Token 数量",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "方案内包含的 token 数量。不包括优惠券赠送的 token。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的开始日期。如果使用免费套餐,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。使用免费套餐时为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 Token 使用信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "获取已认证团队的历史 token 用量(仅限 Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "通过 API 密钥获取历史 Token 用量",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "当前计费周期所使用的 API 密钥名称。若 byApiKey 为 false(默认值),则为 null",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "计费周期内使用的总代币数量",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/queue-status": {
+ "get": {
+ "summary": "团队抓取队列指标",
+ "operationId": "getQueueStatus",
+ "tags": [
+ "Miscellaneous"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "jobsInQueue": {
+ "type": "number",
+ "description": "当前队列中的任务数量"
+ },
+ "activeJobsInQueue": {
+ "type": "number",
+ "description": "当前正在运行的任务数量"
+ },
+ "waitingJobsInQueue": {
+ "type": "number",
+ "description": "当前等待中的任务数"
+ },
+ "maxConcurrency": {
+ "type": "number",
+ "description": "根据您的套餐所允许的最大并发运行任务数"
+ },
+ "mostRecentSuccess": {
+ "type": "string",
+ "format": "date-time",
+ "description": "最近一次成功作业的时间戳",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "搜索,并可选择抓取搜索结果",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "搜索查询语句"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回结果的最大数量",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "基于时间的搜索参数。支持预定义时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)以及自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)。"
+ },
+ "location": {
+ "type": "string",
+ "description": "用于搜索结果的 location 参数"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "要搜索的数据源。将决定响应中可用的数组。默认为 ['web']。",
+ "default": [
+ "web"
+ ]
+ },
+ "categories": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "GitHub",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "github"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Research",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "research"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "根据类别筛选结果。默认值为 [],表示结果不会按类别进行过滤。"
+ },
+ "tbs": {
+ "type": "string",
+ "description": "按时间筛选的搜索参数。支持预定义时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)和自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "用于搜索结果的位置参数(例如 `San Francisco,California,United States`)。为获得最佳效果,请同时设置该参数和 `country` 参数。"
+ },
+ "country": {
+ "type": "string",
+ "description": "用于按地域定向搜索结果的 ISO 国家代码(例如 `US`)。为获得最佳效果,请同时设置此参数和 `location` 参数。",
+ "default": "US"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时(毫秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "从搜索结果中排除对其他 Firecrawl 端点无效的 URL。这样在将搜索结果数据输送到其他 Firecrawl API 端点时,有助于减少错误。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "抓取搜索结果的选项",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "搜索结果标题"
+ },
+ "description": {
+ "type": "string",
+ "description": "搜索结果中的描述"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的URL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "在请求抓取时返回的 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求,则为原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果在指定的 formats 中请求,将返回找到的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求截图,则会返回截图 URL。截图在 24 小时后过期,届时将无法再下载。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "搜索结果中的标题"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "图片 URL"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "图片宽度"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "图像高度"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的URL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "搜索结果的位置"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "文章标题"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "文章摘录"
+ },
+ "url": {
+ "type": "string",
+ "description": "文章的 URL 地址"
+ },
+ "date": {
+ "type": "string",
+ "description": "文章日期"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "文章图片的 URL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "文章位置"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "在请求抓取时返回的 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回的 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果在 formats 中请求,则返回找到的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求截图,将返回其 URL。截图会在 24 小时后过期,之后将无法再下载。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "搜索结果。可用的数组取决于你在请求中指定的源。默认情况下会返回 `web` 数组。"
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "在出现任何问题时显示的警告消息"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "请求超时",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是否截取整页截图,或仅限于当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,范围为 1 到 100,100 为最高质量。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "视口宽度(像素)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "视口高度(像素)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于 JSON 输出的 Schema,必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于生成 JSON 输出的提示"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "用于变更跟踪的模式。`git-diff` 提供详细的差异对比,而 `json` 则对比提取出的 JSON 数据。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "在使用「json」模式进行 JSON 提取时所用的 schema。用于定义要提取和对比的数据结构。必须符合 [JSON Schema](https://json-schema.org/) 标准。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "在使用 `json` 模式进行变更跟踪时要使用的提示词。如果未提供,将使用默认提示词。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "用于变更跟踪的标签。标签可以将变更跟踪历史划分为不同的「分支」,带有特定标签的变更跟踪只会与同一标签下的抓取结果进行比较。如果未提供,则会使用默认标签(null)。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Branding",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "branding"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "要在响应中包含的输出 formats。你可以指定一个或多个 formats,既可以使用字符串(例如:`'markdown'`),也可以使用带有其他选项的对象(例如:`{ type: 'json', schema: {...} }`)。某些 formats 需要配置特定选项。示例:`['markdown', { type: 'json', schema: {...} }]`。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主要内容,不包含 header、nav、footer 等元素。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在输出中要包含的标签。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在输出中需要排除的标签。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "如果页面的缓存版本的生成时间距今少于该毫秒数,则返回该缓存页面;如果缓存版本距今超过该时间,则会重新抓取页面。若你不需要特别新的数据,启用此选项可将抓取速度提升至 5 倍。默认值为 2 天。",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "随请求发送的请求头。可用于传递 cookies、User-Agent 等信息。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "指定在抓取内容前的延迟时间(毫秒),以便页面有足够时间完成加载。该等待时间是在 Firecrawl 的智能等待功能基础上的额外等待。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "若要模拟在移动设备上进行抓取,请将其设置为 true。适用于测试响应式页面并获取移动端截图。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "在发起请求时跳过 TLS 证书验证。",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "请求的超时时间(毫秒)。"
+ },
+ "parsers": {
+ "type": "array",
+ "description": "用于控制在抓取过程中如何处理文件。包含 \"pdf\" 时(默认),会提取 PDF 内容并转换为 Markdown 格式,计费基于页数(每页 1 点数)。当传入空数组时,会以 base64 编码返回整个 PDF 文件,并对整份 PDF 按单一费率收取 1 点数。",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "maxPages": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 10000,
+ "description": "从该 PDF 中最多解析的页数。必须为不超过 10000 的正整数。"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "在抓取页面内容之前需要执行的页面 actions",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "等待指定的毫秒数"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "等待的毫秒数"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于查找元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "截取屏幕截图。链接将在响应的 `actions.screenshots` 数组中返回。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是截取整页截图还是仅截取当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,取值范围为 1 到 100,100 为最高质量。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "以像素为单位的视口宽度"
+ },
+ "height": {
+ "type": "integer",
+ "description": "视口高度(以像素为单位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "单击一个元素"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于查找元素的查询选择器",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "点击所有匹配该选择器的元素,而不仅仅是第一个。即使没有任何元素匹配该选择器,也不会抛出错误。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "向输入框、文本区域或 contenteditable 元素写入文本。注意:在写入之前,你必须先使用「click」操作使该元素获得焦点。文本将以逐字符方式输入,以模拟键盘输入。"
+ },
+ "text": {
+ "type": "string",
+ "description": "要键入的文本",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "请在页面上按下一个按键。按键代码请参见:https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "在页面上按下任意键"
+ },
+ "key": {
+ "type": "string",
+ "description": "要按的键",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "滚动整个页面或某个特定元素"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "滚动方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于滚动的元素选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "抓取当前页面内容,并返回其 URL 和 HTML。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "在页面上执行 JavaScript 代码"
+ },
+ "script": {
+ "type": "string",
+ "description": "待执行的 JavaScript 代码",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "生成当前页面的 PDF 文件。该 PDF 文件会通过响应中的 `actions.pdfs` 数组返回。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成的 PDF 的页面大小",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "是否以横向方向生成 PDF",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成 PDF 的缩放比例",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的地理位置设置。指定后,如果有可用的代理,将使用合适的代理,并模拟相应的语言和时区设置。如果未指定,则默认为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 国家/地区代码(例如:“US”、“AU”、“DE”、“JP”)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "按优先级排序的请求首选语言和区域设置。默认为指定位置的语言。详情请参阅:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "从输出中移除所有 Base64 编码图片,以避免内容过于冗长。图片的 alt 文本会保留在输出中,但其 URL 会被占位符替换。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "启用广告拦截和 Cookie 弹窗拦截功能。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "指定要使用的代理类型。\n\n - **basic**:用于抓取未启用或仅启用基础反爬虫方案的网站的代理。速度快,通常有效。\n - **stealth**:用于抓取启用高级反爬虫方案的网站的隐匿代理。速度较慢,但在特定网站上更可靠。每个请求最多消耗 5 点积分。\n - **auto**:如果 basic 代理抓取失败,Firecrawl 会自动使用 stealth 代理重试抓取。如果使用 stealth 的重试成功,本次抓取将扣除 5 点积分;如果第一次使用 basic 即抓取成功,则只按常规费用计费。",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "如果为 true,该页面会存储到 Firecrawl 的索引和缓存中。如果你的抓取操作可能涉及数据保护方面的顾虑,将其设置为 false 会很有用。使用某些与敏感抓取相关的参数(例如 actions、headers)时,会被强制将此参数设为 false。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `formats` 中包含 `summary`,则返回页面摘要"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `html`,则返回页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面的原始 HTML 内容(如果 `formats` 中包含 `rawHtml`)"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `screenshot`,则会返回页面截图。截图将在 24 小时后过期,届时将无法再下载。"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "当 `formats` 中包含 `links` 时,页面上的链接列表"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` 参数中指定的 actions 的执行结果。仅当请求中提供了 `actions` 参数时才会返回。",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "截图 URL,顺序与提供的 screenshot actions 保持一致。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "按照所提供的 scrape actions 顺序抓取内容。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "与所提供的 executeJavascript actions 顺序一致的 JavaScript 返回值。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "按提供的 pdf actions 的顺序生成的 PDF。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的标题,可以是一个字符串或字符串数组"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的描述,可以是字符串或字符串数组。"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "从页面提取的语言,可以是字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的关键词,可以是字符串或字符串数组"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "页面的其他可用语言版本"
+ },
+ " ": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从 HTML 提取的其他元数据,可以是字符串或字符串数组"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用 LLM Extraction 时会显示。警告信息会提示你提取过程中的任何问题。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `changeTracking` 时的变更追踪信息。仅在请求 `changeTracking` 格式时才会返回。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "当前页面用于对比的上一次抓取时间戳。如果不存在之前的抓取,则为 null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "两个页面版本之间的比较结果。`new` 表示该页面之前不存在,`same` 表示内容没有变化,`changed` 表示内容已发生变化,`removed` 表示该页面已被移除。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "当前页面/URL 的可见性。`visible` 表示该 URL 是通过自然途径(链接或站点地图)发现的,`hidden` 表示该 URL 是通过之前抓取的历史记录(“记忆”)发现的。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用“git-diff”模式时的 Git 风格变更 diff。仅在模式设置为“git-diff”时返回。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "使用 `json` 模式时的 JSON 比较结果。仅在模式设置为 `json` 时返回。该字段会根据 `schema` 中定义的类型,输出一个列表,包含 `previous` 和 `current` 抓取结果中的所有键及其对应的值。示例见 [此处](/features/change-tracking)"
+ }
+ }
+ },
+ "branding": {
+ "type": "object",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `branding`,则会从页面中提取品牌相关信息,包括颜色、字体、版式、间距、组件等。"
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "当前爬取任务的状态。状态可能为 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "已成功爬取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次爬取所使用的积分数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "此抓取任务的到期日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取后续 10MB 数据的 URL。当抓取尚未完成,或响应内容超过 10MB 时,会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "本次爬取的数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeHtml` 为 true,则返回页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 `includeLinks` 为 true,则包含页面上的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的标题,可以是字符串或字符串数组。"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的描述,可以是字符串或字符串数组"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "从页面中提取的语言,可以是一个字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的关键词,可以是字符串或字符串数组"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "此页面的其他本地化版本"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "出错的抓取任务和错误详情",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失败的 ISO 时间戳"
+ },
+ "url": {
+ "type": "string",
+ "description": "已抓取 URL"
+ },
+ "error": {
+ "type": "string",
+ "description": "错误信息"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "尝试抓取但被 robots.txt 阻止的 URL 列表",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "批量抓取任务的当前状态。可能为 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "成功抓取的页面数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次批量抓取消耗的额度数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "批量抓取过期的日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取下一个 10 MB 数据的 URL。如果批量抓取未完成,或响应内容超过 10 MB,则会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "批量爬取的数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeRawHtml` 为 true 时,页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "若 `includeLinks` 为 true,则为页面上的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的标题,可以是字符串或字符串数组"
+ },
+ "description": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面提取的描述,可以是字符串或字符串数组"
+ },
+ "language": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "nullable": true,
+ "description": "从页面提取的语言,可以是字符串或字符串数组"
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "keywords": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "description": "从页面中提取的关键词,可以是一个字符串或字符串数组"
+ },
+ "ogLocaleAlternate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "此页面的其他语言版本"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则该字段是一个数组,包含请求中指定的所有无效 URL。若没有无效 URL,则该数组为空。如果 ignoreInvalidURLs 为 false,则该字段为 undefined。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "title": {
+ "type": "string",
+ "description": "页面标题(如有)。"
+ },
+ "description": {
+ "type": "string",
+ "description": "页面描述(如有)。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则该字段将是一个数组,包含请求中指定的无效 URL。若没有无效 URL,则该数组为空。如果 ignoreInvalidURLs 为 false,则该字段为 undefined。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "当前提取任务的状态"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "提取任务使用的 token 数量。仅在任务完成后可查看。"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/zh/contributing/guide.mdx b/zh/contributing/guide.mdx
index 1f54f647..174face2 100644
--- a/zh/contributing/guide.mdx
+++ b/zh/contributing/guide.mdx
@@ -77,7 +77,6 @@ POSTHOG_HOST= # 如需发送 PostHog 事件(如作业日志),请设置
```
-
### 安装依赖项
@@ -89,7 +88,6 @@ POSTHOG_HOST= # 如需发送 PostHog 事件(如作业日志),请设置
pnpm install # 确保 pnpm 版本为 9 或更高!
```
-
### 运行项目
@@ -106,7 +104,6 @@ pnpm install # 确保 pnpm 版本为 9 或更高!
redis-server
```
-
### 终端 2 - 配置服务
@@ -120,7 +117,6 @@ pnpm start
这将启动用于处理爬取任务的 workers。
-
### 终端 3 - 发送我们的首个请求。
@@ -143,7 +139,6 @@ curl -X POST http://localhost:3002/v1/crawl \
}'
```
-
### 备选方案:使用 Docker Compose
@@ -160,7 +155,6 @@ docker compose up
这将按正确配置自动启动 Redis、API 服务器和工作进程。
-
## 测试:
diff --git a/zh/contributing/self-host.mdx b/zh/contributing/self-host.mdx
index 0e654587..dc1ad594 100644
--- a/zh/contributing/self-host.mdx
+++ b/zh/contributing/self-host.mdx
@@ -175,7 +175,6 @@ This will run a local instance of Firecrawl which can be accessed at `http://loc
You should be able to see the Bull Queue Manager UI on `http://localhost:3002/admin/@/queues`.
-
5. *(可选)* 测试 API
如果你想测试 crawl 端点,可以运行以下命令:
@@ -190,7 +189,6 @@ You should be able to see the Bull Queue Manager UI on `http://localhost:3002/ad
}'
```
-
## 疑难解答
@@ -211,7 +209,6 @@ You should be able to see the Bull Queue Manager UI on `http://localhost:3002/ad
**解释:**
出现此错误是因为 Supabase 客户端尚未完成配置。你仍然可以正常进行抓取和爬取。目前,自托管实例不支持配置 Supabase。
-
### 你正在绕过身份验证
@@ -225,7 +222,6 @@ You should be able to see the Bull Queue Manager UI on `http://localhost:3002/ad
**解释:**
出现此错误是因为尚未完成 Supabase 客户端的设置。你仍然可以正常执行抓取和爬取操作。目前,自托管实例不支持配置 Supabase。
-
### Docker 容器无法启动
@@ -243,7 +239,6 @@ docker logs [容器名称]
* 确保在 .env 文件中正确设置所有必需的环境变量。
* 确认 docker-compose.yml 中定义的所有 Docker 服务均已正确配置,且所需镜像已就绪可用。
-
### 与 Redis 的连接问题
diff --git a/zh/developer-guides/advanced-guides/authenticated-scraping.mdx b/zh/developer-guides/advanced-guides/authenticated-scraping.mdx
index e8a1982e..81150969 100644
--- a/zh/developer-guides/advanced-guides/authenticated-scraping.mdx
+++ b/zh/developer-guides/advanced-guides/authenticated-scraping.mdx
@@ -108,7 +108,6 @@ auth-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJleGFtcGxlLXVzZXIt
**重要:** Cookie 属于敏感凭证。切勿公开分享或提交到版本控制系统。请像对待密码一样对待它们。
-
### 第 2 步:在 Firecrawl 中使用 Cookie
@@ -131,7 +130,6 @@ const result = await app.scrape("https://firecrawl-auth.vercel.app/dashboard", {
console.log("=== Markdown ===\n" + result.markdown + "\n\n=== Screenshot URL ===\n" + result.screenshot);
```
-
## 最佳实践
diff --git a/zh/developer-guides/common-sites/amazon.mdx b/zh/developer-guides/common-sites/amazon.mdx
index 262f4fa9..01e96d88 100644
--- a/zh/developer-guides/common-sites/amazon.mdx
+++ b/zh/developer-guides/common-sites/amazon.mdx
@@ -15,7 +15,6 @@ Amazon 是被抓取最频繁的电商网站之一。本指南将演示如何利
npm install @mendable/firecrawl-js zod
```
-
## 概览
@@ -64,7 +63,6 @@ console.log('✅ 已验证的产品数据:');
console.log(validated);
```
-
## 搜索
@@ -87,7 +85,6 @@ const searchResult = await firecrawl.search('gaming laptop site:amazon.com', {
console.log(searchResult);
```
-
## 抓取
@@ -107,7 +104,6 @@ const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gam
console.log(result);
```
-
## Map
@@ -125,7 +121,6 @@ console.log(mapResult.links);
// 返回不含内容的 URL 数组
```
-
## 爬取
@@ -147,7 +142,6 @@ const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical
console.log(crawlResult.data);
```
-
## 批量抓取
diff --git a/zh/developer-guides/common-sites/etsy.mdx b/zh/developer-guides/common-sites/etsy.mdx
index fda91809..e8a2b8e4 100644
--- a/zh/developer-guides/common-sites/etsy.mdx
+++ b/zh/developer-guides/common-sites/etsy.mdx
@@ -15,7 +15,6 @@ Etsy 是一个汇集独特与创意商品的全球市场。本文将演示如何
npm install @mendable/firecrawl-js zod
```
-
## 概述
@@ -63,7 +62,6 @@ console.log('✅ 已验证的商品数据:');
console.log(validated);
```
-
## 搜索
@@ -86,7 +84,6 @@ const searchResult = await firecrawl.search('handmade jewelry site:etsy.com', {
console.log(searchResult);
```
-
## 抓取
@@ -106,7 +103,6 @@ const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/h
console.log(result);
```
-
## Map
@@ -124,7 +120,6 @@ console.log(mapResult.links);
// 返回不含内容的 URL 数组
```
-
## 爬取
@@ -146,7 +141,6 @@ const crawlResult = await firecrawl.crawl('https://www.etsy.com/c/jewelry', {
console.log(crawlResult.data);
```
-
## 批量抓取
diff --git a/zh/developer-guides/common-sites/github.mdx b/zh/developer-guides/common-sites/github.mdx
index b7c16b8b..df7da36b 100644
--- a/zh/developer-guides/common-sites/github.mdx
+++ b/zh/developer-guides/common-sites/github.mdx
@@ -13,7 +13,6 @@ description: "了解如何使用 Firecrawl 的核心功能抓取 GitHub"
npm install @mendable/firecrawl-js zod
```
-
## 使用 JSON 模式进行抓取
@@ -43,7 +42,6 @@ const result = await firecrawl.scrape('https://github.com/firecrawl/firecrawl',
console.log(result.json);
```
-
## 搜索
@@ -66,7 +64,6 @@ const searchResult = await firecrawl.search('machine learning site:github.com',
console.log(searchResult);
```
-
## 抓取
@@ -85,7 +82,6 @@ const result = await firecrawl.scrape('https://github.com/mendableai/firecrawl',
console.log(result);
```
-
## Map
@@ -103,7 +99,6 @@ console.log(mapResult.links);
// 返回不含内容的 URL 数组
```
-
## 抓取
@@ -125,7 +120,6 @@ const crawlResult = await firecrawl.crawl('https://github.com/facebook/react/wik
console.log(crawlResult.data);
```
-
## 批量抓取
@@ -157,7 +151,6 @@ console.log(job.status, job.completed, job.total);
console.log(job);
```
-
## 使用 JSON 模式进行批量抓取
diff --git a/zh/developer-guides/common-sites/wikipedia.mdx b/zh/developer-guides/common-sites/wikipedia.mdx
index 37a5dbfe..7aa456e8 100644
--- a/zh/developer-guides/common-sites/wikipedia.mdx
+++ b/zh/developer-guides/common-sites/wikipedia.mdx
@@ -13,7 +13,6 @@ description: "从 Wikipedia 提取文章与信息框,构建知识图谱"
npm install @mendable/firecrawl-js zod
```
-
## 适用场景
@@ -52,7 +51,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/JavaScript'
console.log(result.json);
```
-
## 搜索
@@ -75,7 +73,6 @@ const searchResult = await firecrawl.search('quantum computing site:en.wikipedia
console.log(searchResult);
```
-
## 抓取
@@ -95,7 +92,6 @@ const result = await firecrawl.scrape('https://en.wikipedia.org/wiki/Artificial_
console.log(result);
```
-
## Map
@@ -113,7 +109,6 @@ console.log(mapResult.links);
// 返回不含内容的 URL 数组
```
-
## 爬取
@@ -135,7 +130,6 @@ const crawlResult = await firecrawl.crawl('https://en.wikipedia.org/wiki/Portal:
console.log(crawlResult.data);
```
-
## 批量抓取
diff --git a/zh/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx b/zh/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
index bec8d291..d94df46a 100644
--- a/zh/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
+++ b/zh/developer-guides/cookbooks/ai-research-assistant-cookbook.mdx
@@ -740,7 +740,6 @@ const result = streamText({
AI SDK 通过同一套 API 支持 20 多家提供商。了解更多:[ai-sdk.dev/docs/foundations/providers-and-models](https://ai-sdk.dev/docs/foundations/providers-and-models)。
-
### 自定义 UI
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/anthropic.mdx b/zh/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
index 80e3a142..40cf10dd 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/anthropic.mdx
@@ -22,7 +22,6 @@ ANTHROPIC_API_KEY=your_anthropic_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 抓取 + 摘要
@@ -53,7 +52,6 @@ const message = await anthropic.messages.create({
console.log('响应:', message);
```
-
## 工具使用
@@ -108,7 +106,6 @@ if (toolUse && toolUse.type === 'tool_use') {
}
```
-
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/gemini.mdx b/zh/developer-guides/llm-sdks-and-frameworks/gemini.mdx
index d7bb7b81..9eedd3eb 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/gemini.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/gemini.mdx
@@ -22,7 +22,6 @@ GEMINI_API_KEY=your_gemini_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 抓取 + 摘要
@@ -50,7 +49,6 @@ const response = await ai.models.generateContent({
console.log('摘要:', response.text);
```
-
## 内容分析
@@ -87,7 +85,6 @@ const result2 = await chat.sendMessage({
console.log('第 4 和第 5 条热门内容:', result2.text);
```
-
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/google-adk.mdx b/zh/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
index 7b4b5d54..84570f1e 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/google-adk.mdx
@@ -174,7 +174,6 @@ response = research_agent.run("Python 3.13 有哪些最新特性?")
print(response)
```
-
## 最佳实践
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/langchain.mdx b/zh/developer-guides/llm-sdks-and-frameworks/langchain.mdx
index d5ba6abf..4c471b05 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/langchain.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/langchain.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 抓取 + 对话
@@ -53,7 +52,6 @@ const response = await chat.invoke([
console.log('摘要:', response.content);
```
-
## Chains
@@ -94,7 +92,6 @@ const result = await chain.invoke({
console.log('链执行结果:', result);
```
-
## 工具调用
@@ -137,7 +134,6 @@ console.log('响应:', response.content);
console.log('工具调用:', response.tool_calls);
```
-
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/langgraph.mdx b/zh/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
index ed9f8335..0c6b00aa 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/langgraph.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv` 并在代码中添加 `import 'dotenv/config'`。
-
## 基本工作流
@@ -81,7 +80,6 @@ const result = await app.invoke({
console.log(JSON.stringify(result, null, 2));
```
-
## 多步工作流
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx b/zh/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
index f59b8bd7..a25a0cbc 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/llamaindex.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 结合向量搜索的 RAG
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/mastra.mdx b/zh/developer-guides/llm-sdks-and-frameworks/mastra.mdx
index cfeffd8e..e7899b2c 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/mastra.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/mastra.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 多步工作流
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/openai.mdx b/zh/developer-guides/llm-sdks-and-frameworks/openai.mdx
index f3e4811f..8d2a5616 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/openai.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/openai.mdx
@@ -22,7 +22,6 @@ OPENAI_API_KEY=your_openai_key
> **注意:** 如果使用 Node 版本低于 20,请安装 `dotenv`,并在代码中添加 `import 'dotenv/config'`。
-
## 抓取 + 摘要
@@ -54,7 +53,6 @@ const completion = await openai.chat.completions.create({
console.log('摘要:', completion.choices[0]?.message.content);
```
-
## 函数调用
@@ -130,7 +128,6 @@ if (message?.tool_calls && message.tool_calls.length > 0) {
}
```
-
@@ -185,7 +182,6 @@ const companyInfo = content ? CompanyInfoSchema.parse(JSON.parse(content)) : nul
console.log('验证后的公司信息:', companyInfo);
```
-
## 搜索 + 分析
@@ -220,7 +216,6 @@ const analysis = await openai.chat.completions.create({
console.log('分析:', analysis.choices[0]?.message?.content);
```
-
## 搭配 MCP 的 Responses API
diff --git a/zh/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx b/zh/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
index f4788ff1..92052ae0 100644
--- a/zh/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
+++ b/zh/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk.mdx
@@ -24,7 +24,6 @@ OPENAI_API_KEY=sk-your-key
这些示例使用的是 OpenAI,但 Firecrawl 工具适用于 Vercel AI SDK 支持的任意提供商,包括 Anthropic、Google、Mistral 等。请参阅[支持的提供商完整列表](https://ai-sdk.dev/providers/ai-sdk-providers)。
-
## 快速开始
@@ -41,7 +40,6 @@ const { text } = await generateText({
});
```
-
## 可用工具
@@ -60,7 +58,6 @@ import {
} from 'firecrawl-aisdk';
```
-
## 示例
@@ -83,7 +80,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 搜索
@@ -102,7 +98,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 映射
@@ -121,7 +116,6 @@ const { text } = await generateText({
console.log(text);
```
-
### Crawl
@@ -142,7 +136,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 批量抓取
@@ -163,7 +156,6 @@ const { text } = await generateText({
console.log(text);
```
-
@@ -184,7 +176,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 搜索 + 爬取
@@ -203,7 +194,6 @@ const { text } = await generateText({
console.log(text);
```
-
### 流式传输
diff --git a/zh/developer-guides/mcp-setup-guides/chatgpt.mdx b/zh/developer-guides/mcp-setup-guides/chatgpt.mdx
new file mode 100644
index 00000000..608753de
--- /dev/null
+++ b/zh/developer-guides/mcp-setup-guides/chatgpt.mdx
@@ -0,0 +1,124 @@
+---
+title: "在 ChatGPT 中使用 MCP 进行网页搜索与抓取"
+description: "在 2 分钟内为 ChatGPT 添加网页抓取和搜索功能"
+---
+
+
+ChatGPT 中的 MCP 支持目前处于测试阶段。随着 OpenAI 持续开发,界面和可用性可能会发生变化。
+
+
+
+**可用性:** 带 MCP 连接器的开发者模式在免费套餐中不可用,需要付费 ChatGPT 订阅。不同套餐和地区的可用性和功能各不相同。请参阅 [OpenAI 关于 Developer Mode 的文档](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta),了解当前的可用性和设置说明。
+
+
+使用 Firecrawl MCP 为 ChatGPT 添加网页抓取和搜索功能。
+
+
+ ## 快速开始
+
+
+
+ ### 1. 获取你的 API 密钥
+
+
+在 [firecrawl.dev/app/api-keys](https://www.firecrawl.dev/app/api-keys) 注册并复制你的 API 密钥。
+
+
+ ### 2. 启用开发者模式
+
+
+点击左下角的用户名打开 ChatGPT 设置,或者直接访问 [chatgpt.com/#settings](https://chatgpt.com/#settings)。
+
+在设置弹窗中,滚动到页面底部并选择 **Advanced Settings(高级设置)**。将 **Developer mode(开发者模式)** 切换为开启。
+
+
+
+
+
+
+ ### 3. 创建 Connector
+
+
+启用 Developer 模式后,在同一个设置弹窗中打开 **Apps & Connectors** 选项卡。
+
+点击页面右上角的 **Create** 按钮。
+
+
+
+
+
+填写 Connector 详情:
+
+- **Name:** `Firecrawl MCP`
+- **Description:** `Web scraping, crawling, search, and content extraction`(可选)
+- **MCP Server URL:** `https://mcp.firecrawl.dev/YOUR_API_KEY_HERE/v2/mcp`
+- **Authentication:** `None`
+
+将 URL 中的 `YOUR_API_KEY_HERE` 替换为你的实际 [Firecrawl API key](https://www.firecrawl.dev/app/api-keys)。
+
+
+
+
+
+勾选 **"I understand and want to continue"** 复选框,然后点击 **Create**。
+
+
+ ### 4. 验证设置
+
+
+返回 ChatGPT 主界面。你应该会看到显示 **开发者模式(Developer mode)**,这表示 MCP 连接器已启用。
+
+如果你没有看到开发者模式,请刷新页面。如果仍未出现,请再次打开设置,并在 Advanced Settings 中确认开发者模式的开关已打开。
+
+
+ ### 5. 使用 Firecrawl 工具
+
+
+要在对话中使用 Firecrawl,点击聊天输入框中的 **+** 按钮,然后选择 **More**,再选择 **Firecrawl MCP**。
+
+
+
+
+
+
+ ## 快速演示
+
+
+在选中 Firecrawl MCP 后,尝试使用以下提示词:
+
+**搜索:**
+
+```
+Search for the latest React Server Components updates
+```
+
+**抓取:**
+
+```
+Scrape firecrawl.dev and tell me what it does
+```
+
+**获取文档:**
+
+```
+抓取 Vercel 的 Edge Functions 文档并进行总结
+```
+
+
+
+ ## 工具确认
+
+
+当 ChatGPT 使用 Firecrawl MCP 工具时,你会看到一个确认提示,要求你进行授权。
+
+
+
+
+
+你可以勾选 **“Remember for this conversation”**,以避免在同一聊天会话中重复确认。这个安全措施由 OpenAI 实施,以确保 MCP 工具不会执行非预期的 actions。
+
+确认后,ChatGPT 会执行请求并返回结果。
+
+
+
+
\ No newline at end of file
diff --git a/zh/developer-guides/mcp-setup-guides/claude-code.mdx b/zh/developer-guides/mcp-setup-guides/claude-code.mdx
index 108fecec..8428b41f 100644
--- a/zh/developer-guides/mcp-setup-guides/claude-code.mdx
+++ b/zh/developer-guides/mcp-setup-guides/claude-code.mdx
@@ -27,7 +27,6 @@ claude mcp add firecrawl -e FIRECRAWL_API_KEY=your-api-key -- npx -y firecrawl-m
完成!现在你可以在 Claude Code 中搜索并抓取网页了。
-
## 快速演示
diff --git a/zh/developer-guides/mcp-setup-guides/cursor.mdx b/zh/developer-guides/mcp-setup-guides/cursor.mdx
index c2c76593..1537374c 100644
--- a/zh/developer-guides/mcp-setup-guides/cursor.mdx
+++ b/zh/developer-guides/mcp-setup-guides/cursor.mdx
@@ -37,7 +37,6 @@ description: "用 2 分钟为 Cursor 接入网页抓取与搜索功能"
将 `your_api_key_here` 替换为你的实际 Firecrawl API 密钥。
-
### 3. 重启 Cursor
diff --git a/zh/developer-guides/mcp-setup-guides/factory-ai.mdx b/zh/developer-guides/mcp-setup-guides/factory-ai.mdx
index dee6c350..c253dee8 100644
--- a/zh/developer-guides/mcp-setup-guides/factory-ai.mdx
+++ b/zh/developer-guides/mcp-setup-guides/factory-ai.mdx
@@ -33,7 +33,6 @@ curl -fsSL https://app.factory.ai/cli | sh
iwr https://app.factory.ai/cli/install.ps1 -useb | iex
```
-
### 3. 添加 Firecrawl MCP 服务器
@@ -46,7 +45,6 @@ iwr https://app.factory.ai/cli/install.ps1 -useb | iex
将 `your-api-key-here` 替换为你实际的 Firecrawl API 密钥。
-
### 4. 完成!
diff --git a/zh/developer-guides/mcp-setup-guides/windsurf.mdx b/zh/developer-guides/mcp-setup-guides/windsurf.mdx
index 07e11cd1..2ab55584 100644
--- a/zh/developer-guides/mcp-setup-guides/windsurf.mdx
+++ b/zh/developer-guides/mcp-setup-guides/windsurf.mdx
@@ -37,7 +37,6 @@ description: "用 2 分钟为 Windsurf 添加网页抓取与搜索功能"
将 `YOUR_API_KEY` 替换为你的实际 Firecrawl API 密钥。
-
### 3. 重启 Windsurf
diff --git a/zh/features/alpha/llmstxt-npx.mdx b/zh/features/alpha/llmstxt-npx.mdx
index acccf5d6..29c3c8eb 100644
--- a/zh/features/alpha/llmstxt-npx.mdx
+++ b/zh/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ sidebarTitle: "使用 NPX 生成"
npx generate-llmstxt --api-key YOUR_FIRECRAWL_API_KEY
```
-
### 2. 使用环境变量
@@ -47,7 +46,6 @@ FIRECRAWL_API_KEY=your_api_key_here
npx generate-llmstxt
```
-
### 选项
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## 系统要求
diff --git a/zh/features/change-tracking.mdx b/zh/features/change-tracking.mdx
index d53f31e3..07434f46 100644
--- a/zh/features/change-tracking.mdx
+++ b/zh/features/change-tracking.mdx
@@ -82,7 +82,6 @@ og:description: "Firecrawl 可比较当前页面与先前版本的差异,并
}
```
-
### 高级选项
@@ -170,7 +169,6 @@ if 'json' in result.change_tracking:
...
```
-
### JSON 对比结果示例:
@@ -184,7 +182,6 @@ if 'json' in result.change_tracking:
}
```
-
### 数据模型
@@ -278,7 +275,6 @@ class ChangeTrackingData(BaseModel):
* `chunks`:文件内的变更片段
* `changes`:按类型(add、delete、normal)标注的单行变更
-
### JSON 模式
@@ -302,7 +298,6 @@ class ChangeTrackingData(BaseModel):
要使用 JSON 模式,你需要提供一个 schema,用于定义要提取和对比的字段。
-
## 重要说明
@@ -353,7 +348,6 @@ class ChangeTrackingData(BaseModel):
}
```
-
### 爬网示例
@@ -368,7 +362,6 @@ class ChangeTrackingData(BaseModel):
}
```
-
### 跟踪商品价格变动
diff --git a/zh/features/extract.mdx b/zh/features/extract.mdx
index bad81e20..449e7cb5 100644
--- a/zh/features/extract.mdx
+++ b/zh/features/extract.mdx
@@ -32,7 +32,6 @@ import ExtractWithoutURLsCURL from "/snippets/zh/v2/extract/base/curl.mdx";
我们已简化计费:Extract 现在与其他端点一样使用积分。每个积分相当于 15 个 token。
-
diff --git a/zh/features/search-v0.mdx b/zh/features/search-v0.mdx
index 347be69e..0f3385cf 100644
--- a/zh/features/search-v0.mdx
+++ b/zh/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### 使用 Python SDK
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### 搜索查询
```python
@@ -92,7 +90,6 @@ result = app.search(query="什么是 Firecrawl?")
响应将与上方 curl 命令示例中的结果类似。
-
### 使用 JavaScript SDK
@@ -105,7 +102,6 @@ result = app.search(query="什么是 Firecrawl?")
npm install @mendable/firecrawl-js
```
-
#### 搜索请求
```javascript
@@ -120,7 +116,6 @@ const result = await app.search('What is firecrawl?');
响应将与上面的 curl 命令所示类似。
-
### 使用 Go SDK
@@ -133,7 +128,6 @@ const result = await app.search('What is firecrawl?');
go get github.com/mendableai/firecrawl-go
```
-
#### 搜索查询
```go
@@ -159,7 +153,6 @@ func main() {
}
```
-
### 使用 Rust SDK
@@ -182,7 +175,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### 搜索查询语句
diff --git a/zh/integrations/camelai.mdx b/zh/integrations/camelai.mdx
index 3571cf1f..89d85c7a 100644
--- a/zh/integrations/camelai.mdx
+++ b/zh/integrations/camelai.mdx
@@ -14,7 +14,6 @@ pip install camel-ai
```
-
## 使用
@@ -36,7 +35,6 @@ mock_app.crawl_url.return_value = respons
result = firecrawl.markdown_crawl(url)
```
-
### 使用 Firecrawl 抓取单个页面
diff --git a/zh/integrations/crewai.mdx b/zh/integrations/crewai.mdx
index dcbbfb87..d7a58046 100644
--- a/zh/integrations/crewai.mdx
+++ b/zh/integrations/crewai.mdx
@@ -22,7 +22,6 @@ Firecrawl 已与 [CrewAI(用于编排 AI 代理的框架)](https://www.crewa
pip install firecrawl-py 'crewai[tools]'
```
-
## 工具
@@ -43,7 +42,6 @@ from crewai_tools import FirecrawlCrawlWebsiteTool
tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```
-
#### 参数
@@ -79,7 +77,6 @@ from crewai_tools import FirecrawlScrapeWebsiteTool
tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```
-
#### 参数
@@ -111,7 +108,6 @@ from crewai_tools import FirecrawlSearchTool
tool = FirecrawlSearchTool(query='什么是 Firecrawl?')
```
-
#### 参数
diff --git a/zh/mcp-server.mdx b/zh/mcp-server.mdx
index e5ead9bd..8da1eedd 100644
--- a/zh/mcp-server.mdx
+++ b/zh/mcp-server.mdx
@@ -32,7 +32,6 @@ sidebarTitle: 'MCP 服务器'
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
```
-
### 使用 npx 运行
@@ -41,14 +40,12 @@ https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
```
-
### 手动安装
```bash
npm install -g firecrawl-mcp
```
-
### 在 Cursor 中运行
@@ -126,7 +123,6 @@ npm install -g firecrawl-mcp
}
```
-
### 以可流式 HTTP 模式运行
@@ -139,7 +135,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecra
使用以下 URL:http://localhost:3000/v2/mcp 或 https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp
-
### 通过 Smithery 安装(旧版)
@@ -150,7 +145,6 @@ env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecra
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
```
-
### 在 VS Code 中运行
@@ -216,7 +210,6 @@ npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
通过其他扩展调用时,MCP 服务器仍可正常工作;但当直接将其注册到 MCP 服务器列表时会出现该问题。我们计划在 VS Code 更新其 schema 验证后提供相关指导。
-
### 在 Claude Desktop 上运行
@@ -236,7 +229,6 @@ npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
}
```
-
### 在 Claude Code 上运行
@@ -247,7 +239,6 @@ npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
claude mcp add firecrawl -e FIRECRAWL_API_KEY=your-api-key -- npx -y firecrawl-mcp
```
-
### 在 n8n 上运行
@@ -279,7 +270,6 @@ env HTTP_STREAMABLE_SERVER=true \
这会在 `http://localhost:3000/v2/mcp` 启动服务器,你可以在 n8n 工作流中将其用作端点。由于 n8n 需要使用 HTTP 传输,因此必须设置环境变量 `HTTP_STREAMABLE_SERVER=true`。
-
## 配置
@@ -354,7 +344,6 @@ export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # 以更短的间隔开始重试
```
-
### 在 Claude Desktop 中进行自定义配置
@@ -383,7 +372,6 @@ export FIRECRAWL_RETRY_INITIAL_DELAY=500 # 以更短的间隔开始重试
}
```
-
### 系统配置
@@ -424,7 +412,6 @@ const CONFIG = {
* 剩余 1000 额度时发出警告
* 剩余 100 额度时发出严重警报
-
### 速率限制与批处理
@@ -463,7 +450,6 @@ const CONFIG = {
}
```
-
### 2. 批量抓取工具 (`firecrawl_batch_scrape`)
@@ -497,7 +483,6 @@ const CONFIG = {
}
```
-
### 3. 检查批次状态 (`firecrawl_check_batch_status`)
@@ -513,7 +498,6 @@ const CONFIG = {
}
```
-
### 4. 映射工具(`firecrawl_map`)
@@ -534,7 +518,6 @@ const CONFIG = {
}
```
-
#### Map 工具选项:
@@ -571,7 +554,6 @@ const CONFIG = {
}
```
-
### 6. Crawl 工具(`firecrawl_crawl`)
@@ -591,7 +573,6 @@ const CONFIG = {
}
```
-
### 7. 检查爬取状态(`firecrawl_check_crawl_status`)
@@ -609,7 +590,6 @@ const CONFIG = {
**返回:** 抓取任务的状态与进度,并在可用时包含结果。
-
@@ -657,7 +637,6 @@ const CONFIG = {
}
```
-
@@ -694,7 +673,6 @@ const CONFIG = {
[ERROR] 超出速率限制,2 秒后重试…
```
-
## 错误处理
@@ -721,7 +699,6 @@ const CONFIG = {
}
```
-
## 开发
@@ -737,7 +714,6 @@ npm run build
npm test
```
-
### 参与贡献
diff --git a/zh/v0/advanced-scraping-guide.mdx b/zh/v0/advanced-scraping-guide.mdx
index aefc2293..e24aade2 100644
--- a/zh/v0/advanced-scraping-guide.mdx
+++ b/zh/v0/advanced-scraping-guide.mdx
@@ -169,7 +169,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
对应的 API 参考文档:[Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -262,7 +261,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}
```
-
## 调整超时
@@ -284,7 +282,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
}'
```
-
## 爬取多个页面
@@ -306,7 +303,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
{ "jobId": "1234-5678-9101" }
```
-
### 检查抓取任务
@@ -319,7 +315,6 @@ curl -X GET https://api.firecrawl.dev/v0/crawl/status/1234-5678-9101 \
-H 'Authorization: Bearer YOUR_API_KEY'
```
-
### 爬取器选项
@@ -405,7 +400,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
* 使用快速抓取模式。
* 最多抓取 1000 个页面。
-
## 页面选项 + 爬虫选项
@@ -446,7 +440,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
* 最多爬取至深度 2。
* 使用快速爬取模式。
-
diff --git a/zh/v0/api-reference/endpoint/crawl-cancel.mdx b/zh/v0/api-reference/endpoint/crawl-cancel.mdx
index 759e2ea1..9eb157ae 100644
--- a/zh/v0/api-reference/endpoint/crawl-cancel.mdx
+++ b/zh/v0/api-reference/endpoint/crawl-cancel.mdx
@@ -1,4 +1,4 @@
---
title: "取消爬取任务"
-openapi: 'v0-openapi DELETE /crawl/cancel/{jobId}'
+openapi: '/zh/api-reference/v1-openapi.json V0-OPENAPI DELETE /crawl/cancel/{jobId}'
---
\ No newline at end of file
diff --git a/zh/v0/api-reference/endpoint/crawl.mdx b/zh/v0/api-reference/endpoint/crawl.mdx
index a355a9e2..3d37b4e9 100644
--- a/zh/v0/api-reference/endpoint/crawl.mdx
+++ b/zh/v0/api-reference/endpoint/crawl.mdx
@@ -1,4 +1,4 @@
---
title: "抓取"
-openapi: 'v0-openapi POST /crawl'
+openapi: '/zh/api-reference/v1-openapi.json V0-OPENAPI POST /crawl'
---
\ No newline at end of file
diff --git a/zh/v0/api-reference/endpoint/scrape.mdx b/zh/v0/api-reference/endpoint/scrape.mdx
index 512a9def..44bb5307 100644
--- a/zh/v0/api-reference/endpoint/scrape.mdx
+++ b/zh/v0/api-reference/endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: '抓取'
-openapi: 'v0-openapi POST /scrape'
+openapi: '/zh/api-reference/v1-openapi.json V0-OPENAPI POST /scrape'
---
\ No newline at end of file
diff --git a/zh/v0/api-reference/endpoint/search.mdx b/zh/v0/api-reference/endpoint/search.mdx
index 33d39674..10bdce42 100644
--- a/zh/v0/api-reference/endpoint/search.mdx
+++ b/zh/v0/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "Search(Beta)"
-openapi: 'v0-openapi POST /search'
+openapi: '/zh/api-reference/v1-openapi.json V0-OPENAPI POST /search'
---
该 /search 端点将搜索 API 与 Firecrawl 的能力结合,为任意查询提供强大的搜索体验。
diff --git a/zh/v0/api-reference/endpoint/status.mdx b/zh/v0/api-reference/endpoint/status.mdx
index eb6ec2ba..773f8e14 100644
--- a/zh/v0/api-reference/endpoint/status.mdx
+++ b/zh/v0/api-reference/endpoint/status.mdx
@@ -1,6 +1,6 @@
---
title: '获取爬取状态'
-openapi: 'v0-openapi GET /crawl/status/{jobId}'
+openapi: '/zh/api-reference/v1-openapi.json V0-OPENAPI GET /crawl/status/{jobId}'
---
此端点用于获取爬取任务的状态。若任务尚未完成,响应会在 `partial_data` 中返回内容。任务完成后,内容将位于 `data` 中。
diff --git a/zh/v0/api-reference/introduction.mdx b/zh/v0/api-reference/introduction.mdx
index 17d2e171..286f7232 100644
--- a/zh/v0/api-reference/introduction.mdx
+++ b/zh/v0/api-reference/introduction.mdx
@@ -13,7 +13,6 @@ description: "Firecrawl API 参考"
https://api.firecrawl.dev
```
-
## 身份验证
@@ -26,7 +25,6 @@ Authorization:Bearer fc_123456789
-
## 响应代码
diff --git a/zh/v0/api-reference/v0-openapi.json b/zh/v0/api-reference/v0-openapi.json
new file mode 100644
index 00000000..188fbb63
--- /dev/null
+++ b/zh/v0/api-reference/v0-openapi.json
@@ -0,0 +1,947 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v0",
+ "description": "用于与 Firecrawl 服务交互并执行网页抓取和爬取任务的 API。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v0"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "抓取单个 URL,并可选使用 LLM 进行信息抽取",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要抓取的 URL 地址"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "随请求发送的请求头。可用于传递 cookies、User-Agent 等信息。"
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "在页面中包含该内容的 HTML 版本。响应中会返回一个名为 html 的字段。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "在响应中包含页面的原始 HTML 内容。响应中将包含一个 rawHtml 字段。",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在最终输出中只包含页面中已有的标签、class 和 id。使用逗号分隔的值。示例:'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "只返回页面的主体内容,不包括页眉、导航栏、页脚等。",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "要从页面中移除的标签、class 和 id。使用逗号分隔多个值。示例:'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "将所有图像和链接中的相对路径替换为绝对路径",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "请附上一张所抓取页面顶部的截图。",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "附上你正在抓取页面的整页截图。",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "等待页面加载指定的毫秒时间后再获取内容",
+ "default": 0
+ }
+ }
+ },
+ "extractorOptions": {
+ "type": "object",
+ "description": "用于从页面内容中提取结构化信息的选项。注意:基于 LLM 的提取不会自动执行,只有在显式配置时才会运行。“markdown” 模式仅返回抓取到的 Markdown 内容,是抓取时的默认模式。",
+ "default": {},
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "llm-extraction",
+ "llm-extraction-from-raw-html",
+ "llm-extraction-from-markdown"
+ ],
+ "description": "要使用的提取模式。'markdown':返回抓取到的 Markdown 内容,不执行 LLM 提取。'llm-extraction':使用 LLM 从清洗和解析后的内容中提取信息。'llm-extraction-from-raw-html':使用 LLM 直接从原始 HTML 中提取信息。'llm-extraction-from-markdown':使用 LLM 从 Markdown 内容中提取信息。"
+ },
+ "extractionPrompt": {
+ "type": "string",
+ "description": "用于描述应从页面中提取哪些信息的提示,在 LLM 提取模式下使用。"
+ },
+ "extractionSchema": {
+ "type": "object",
+ "additionalProperties": true,
+ "description": "要提取数据的 schema,仅在 LLM 提取模式下才需要。",
+ "required": [
+ "company_mission",
+ "supports_sso",
+ "is_open_source"
+ ]
+ }
+ }
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "请求超时时间(毫秒)",
+ "default": 30000
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "基于选项抓取多个 URL",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的基础 URL"
+ },
+ "crawlerOptions": {
+ "type": "object",
+ "properties": {
+ "includes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "要包含的 URL 模式"
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "需排除的 URL 模式"
+ },
+ "generateImgAltText": {
+ "type": "boolean",
+ "description": "使用 LLM 为图像生成替代文本(需付费套餐)",
+ "default": false
+ },
+ "returnOnlyUrls": {
+ "type": "boolean",
+ "description": "如果为 true,则在抓取状态中仅返回 URL 列表。注意:返回的响应数据中包含的是一个由 URL 组成的列表,而不是文档列表。",
+ "default": false
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "相对于输入 URL 的最大抓取深度。maxDepth 为 0 时仅抓取该 URL。maxDepth 为 1 时抓取该 URL 以及所有一层深度的页面。maxDepth 为 2 时抓取该 URL 以及所有最多两层深度的页面。更大的取值以此类推。"
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "default",
+ "fast"
+ ],
+ "description": "要使用的爬取模式。Fast 模式在没有 sitemap 的网站上爬取速度可提升约 4 倍,但结果可能不够准确,且不应在大量依赖 JS 渲染的网站上使用。",
+ "default": "default"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "抓取时忽略网站站点地图",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "最多爬取页面数",
+ "default": 10000
+ },
+ "allowBackwardCrawling": {
+ "type": "boolean",
+ "description": "使爬虫能够从特定 URL 导航到之前已链接的页面。例如,从 “example.com/product/123” 跳转回 “example.com/product”。",
+ "default": false
+ },
+ "allowExternalContentLinks": {
+ "type": "boolean",
+ "description": "使爬虫可以跟随链接跳转到外部网站。",
+ "default": false
+ }
+ }
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "headers": {
+ "type": "object",
+ "description": "在请求中携带的请求头。可用于发送 Cookies、User-Agent 等信息。"
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "在页面中包含内容的 HTML 版本。响应中会返回一个名为 html 的键。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "在响应中包含页面的原始 HTML 内容。响应中将返回一个名为 rawHtml 的键。",
+ "default": false
+ },
+ "onlyIncludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "最终输出中仅包含页面中存在的标签、class 和 id。使用逗号分隔的值。示例:'script, .ad, #footer'"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主要内容,不包括页眉、导航栏、页脚等部分。",
+ "default": false
+ },
+ "removeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "要从页面中移除的标签、类和 ID。使用逗号分隔的值。示例:'script, .ad, #footer'"
+ },
+ "replaceAllPathsWithAbsolutePaths": {
+ "type": "boolean",
+ "description": "将所有图片和链接中的相对路径替换为绝对路径",
+ "default": false
+ },
+ "screenshot": {
+ "type": "boolean",
+ "description": "请附上一张你要抓取的页面顶部截图。",
+ "default": false
+ },
+ "fullPageScreenshot": {
+ "type": "boolean",
+ "description": "请附上你正在抓取页面的全页截图。",
+ "default": false
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "在获取内容前,先等待页面加载指定的毫秒数",
+ "default": 0
+ }
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "在 Google 中搜索关键词,返回排名靠前的页面结果,并为每个页面提供对应的 Markdown 内容",
+ "operationId": "searchGoogle",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "format": "uri",
+ "description": "要执行的搜索查询"
+ },
+ "pageOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主要内容,不包括页眉、导航栏、页脚等。",
+ "default": false
+ },
+ "fetchPageContent": {
+ "type": "boolean",
+ "description": "获取每个页面的内容。如果为 false,则退回使用基础的快速 SERP API。",
+ "default": true
+ },
+ "includeHtml": {
+ "type": "boolean",
+ "description": "在页面中包含内容的 HTML 版本。响应中会包含一个名为 html 的字段。",
+ "default": false
+ },
+ "includeRawHtml": {
+ "type": "boolean",
+ "description": "在结果中包含页面的原始 HTML 内容。响应中将返回一个 rawHtml 键。",
+ "default": false
+ }
+ }
+ },
+ "searchOptions": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "description": "结果数量上限。测试阶段最大为 20。"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/status/{jobId}": {
+ "get": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "获取爬取任务状态",
+ "operationId": "getCrawlStatus",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "抓取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "任务状态(已完成、进行中、失败、已暂停)"
+ },
+ "current": {
+ "type": "integer",
+ "description": "当前页码"
+ },
+ "total": {
+ "type": "integer",
+ "description": "页面总数"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "任务返回的数据(执行中时为 null)"
+ },
+ "partial_data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ },
+ "description": "在爬取过程中会以流式方式返回部分文档。**此功能当前处于 alpha 阶段——可能会有不兼容变更**。当某个页面准备就绪时,它会被追加到 `partial_data` 数组中,因此无需等待整个网站全部爬取完成。当爬取结束时,`partial_data` 将变为空,完整结果会出现在 `data` 中。数组响应最多包含 50 个元素;当有新元素加入数组时,最旧的元素(数组开头)会被移除。"
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/cancel/{jobId}": {
+ "delete": {
+ "tags": [
+ "Crawl"
+ ],
+ "summary": "取消抓取任务",
+ "operationId": "cancelCrawlJob",
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "爬取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "退货已取消。"
+ }
+ }
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,该页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "在使用 LLM Extraction 功能时显示。页面中根据已定义的 schema 提取出的数据。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "可在使用 LLM 提取时显示。警告消息会提示你提取过程中的任何问题。"
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则返回页面的原始 HTML 内容"
+ },
+ "index": {
+ "type": "integer",
+ "description": "已抓取页面的编号。对于 `partial_data` 特别有用,这样你就能知道数据来自第几页。"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "pageStatusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "pageError": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ },
+ "SearchResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "markdown": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/zh/v0/features/crawl.mdx b/zh/v0/features/crawl.mdx
index 92322299..603531b1 100644
--- a/zh/v0/features/crawl.mdx
+++ b/zh/v0/features/crawl.mdx
@@ -173,7 +173,6 @@ curl -X POST https://api.firecrawl.dev/v0/crawl \
{ "jobId": "1234-5678-9101" }
```
-
### 检查爬取任务
diff --git a/zh/v0/features/extract.mdx b/zh/v0/features/extract.mdx
index de293ca8..aa4bc6f9 100644
--- a/zh/v0/features/extract.mdx
+++ b/zh/v0/features/extract.mdx
@@ -98,7 +98,6 @@ curl -X POST https://api.firecrawl.dev/v0/scrape \
```
-
### 使用 Python SDK
@@ -130,7 +129,6 @@ data = app.scrape_url('https://news.ycombinator.com', {
print(data["llm_extraction"])
```
-
### 使用 JavaScript SDK
@@ -166,7 +164,6 @@ const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", {
console.log(scrapeResult.data["llm_extraction"]);
```
-
### 使用 Go SDK
@@ -222,7 +219,6 @@ func main() {
}
```
-
### 使用 Rust SDK
diff --git a/zh/v1/advanced-scraping-guide.mdx b/zh/v1/advanced-scraping-guide.mdx
index 79cee3eb..d4e1e6d4 100644
--- a/zh/v1/advanced-scraping-guide.mdx
+++ b/zh/v1/advanced-scraping-guide.mdx
@@ -195,7 +195,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
这是该功能的 API 参考:[Scrape Endpoint Documentation](https://docs.firecrawl.dev/api-reference/endpoint/scrape)
-
@@ -294,7 +293,6 @@ curl -X POST https://api.firecrawl.dev/v1/scrape \
}
```
-
## Actions
@@ -487,7 +485,6 @@ curl -X POST https://api.firecrawl.dev/v1/crawl \
{ "id": "1234-5678-9101" }
```
-
### 检查抓取作业
@@ -500,7 +497,6 @@ curl -X GET https://api.firecrawl.dev/v1/crawl/1234-5678-9101 \
-H 'Authorization: Bearer YOUR_API_KEY'
```
-
@@ -620,7 +616,6 @@ curl -X POST https://api.firecrawl.dev/v1/crawl \
* 最大爬取深度为 2。
* 最多爬取 1000 个页面。
-
## 使用 `/map` 进行网站链接映射
@@ -644,7 +639,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
这将返回一个 JSON 对象,其中包含与该 URL 语境相关的链接。
-
### 示例响应
@@ -666,7 +660,6 @@ curl -X POST https://api.firecrawl.dev/v1/map \
}
```
-
### 映射选项
diff --git a/zh/v1/api-reference/endpoint/batch-scrape-delete.mdx b/zh/v1/api-reference/endpoint/batch-scrape-delete.mdx
index 4f7fcf54..3133e70c 100644
--- a/zh/v1/api-reference/endpoint/batch-scrape-delete.mdx
+++ b/zh/v1/api-reference/endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: '取消批量抓取'
-openapi: 'v1-openapi DELETE /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI DELETE /batch/scrape/{id}'
---
> 注意:此 API 的全新 [v2 版本](/zh/api-reference/endpoint/batch-scrape-delete) 已上线,功能更强大、性能更出色。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/batch-scrape-get-errors.mdx b/zh/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
index cdf209ec..91a92e1b 100644
--- a/zh/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
+++ b/zh/v1/api-reference/endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: '获取批量抓取错误'
-openapi: 'v1-openapi GET /batch/scrape/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}/errors'
---
> 注意:全新的 [v2 版 API](/zh/api-reference/endpoint/batch-scrape-get-errors) 已上线,具备更完善的错误报告与调试能力。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/batch-scrape-get.mdx b/zh/v1/api-reference/endpoint/batch-scrape-get.mdx
index 28f6ddc8..72541874 100644
--- a/zh/v1/api-reference/endpoint/batch-scrape-get.mdx
+++ b/zh/v1/api-reference/endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: '获取批量抓取状态'
-openapi: 'v1-openapi GET /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /batch/scrape/{id}'
---
> 注意:此 API 的全新 [v2 版本](/zh/api-reference/endpoint/batch-scrape-get) 现已发布,具备更完善的状态跟踪与监控功能。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/batch-scrape.mdx b/zh/v1/api-reference/endpoint/batch-scrape.mdx
index e818cef7..dfe1767e 100644
--- a/zh/v1/api-reference/endpoint/batch-scrape.mdx
+++ b/zh/v1/api-reference/endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: '批量抓取'
-openapi: 'v1-openapi POST /batch/scrape'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /batch/scrape'
---
> 注意:全新的 [v2 版本](/zh/api-reference/endpoint/batch-scrape) 现已提供,具备更高的批处理性能与可靠性。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/crawl-active.mdx b/zh/v1/api-reference/endpoint/crawl-active.mdx
index 1bc07095..eb97082f 100644
--- a/zh/v1/api-reference/endpoint/crawl-active.mdx
+++ b/zh/v1/api-reference/endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: '获取活跃爬取任务'
-openapi: 'v1-openapi GET /crawl/active'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/active'
---
> 注意:现已提供此 API 的全新 [v2 版本](/zh/api-reference/endpoint/crawl-active),功能更强大、性能更出色。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/crawl-delete.mdx b/zh/v1/api-reference/endpoint/crawl-delete.mdx
index 8fcf5b7a..c197c5c9 100644
--- a/zh/v1/api-reference/endpoint/crawl-delete.mdx
+++ b/zh/v1/api-reference/endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: '取消 Crawl'
-openapi: 'v1-openapi DELETE /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI DELETE /crawl/{id}'
---
> 注意:全新的 [v2 版 API](/zh/api-reference/endpoint/crawl-delete) 现已发布,功能更强大、性能更佳。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/crawl-get-errors.mdx b/zh/v1/api-reference/endpoint/crawl-get-errors.mdx
index 8b24165b..f89c1d59 100644
--- a/zh/v1/api-reference/endpoint/crawl-get-errors.mdx
+++ b/zh/v1/api-reference/endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: '获取爬取错误'
-openapi: 'v1-openapi GET /crawl/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}/errors'
---
> 注意:现已提供该 API 的 [v2 版本](/zh/api-reference/endpoint/crawl-get-errors),功能与性能均有提升。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/crawl-get.mdx b/zh/v1/api-reference/endpoint/crawl-get.mdx
index 207087f7..05b6a043 100644
--- a/zh/v1/api-reference/endpoint/crawl-get.mdx
+++ b/zh/v1/api-reference/endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: '查看 Crawl 状态'
-openapi: 'v1-openapi GET /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /crawl/{id}'
---
> 注意:我们已推出该 API 的全新 [v2 版本](/zh/api-reference/endpoint/crawl-get),功能与性能均有所提升。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/crawl-post.mdx b/zh/v1/api-reference/endpoint/crawl-post.mdx
index 3e577022..31e7b0ce 100644
--- a/zh/v1/api-reference/endpoint/crawl-post.mdx
+++ b/zh/v1/api-reference/endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: 'Crawl'
-openapi: 'v1-openapi POST /crawl'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /crawl'
---
> 注意:新的 [v2 版本 API](/zh/api-reference/endpoint/crawl-post) 现已上线,功能更强、性能更佳。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/credit-usage-historical.mdx b/zh/v1/api-reference/endpoint/credit-usage-historical.mdx
index 97bc0218..cf0f4bda 100644
--- a/zh/v1/api-reference/endpoint/credit-usage-historical.mdx
+++ b/zh/v1/api-reference/endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "历史点数使用情况"
-openapi: 'v1-openapi GET /team/credit-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET
+ /team/credit-usage/historical'
---
按月返回历史点数使用情况。该端点还可选按 API 密钥细分使用数据。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/credit-usage.mdx b/zh/v1/api-reference/endpoint/credit-usage.mdx
index c3072026..01ec9bae 100644
--- a/zh/v1/api-reference/endpoint/credit-usage.mdx
+++ b/zh/v1/api-reference/endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: '额度使用'
-openapi: 'v1-openapi GET /team/credit-usage'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/credit-usage'
---
> 注意:全新的 [v2 版 API](/zh/api-reference/endpoint/credit-usage) 现已发布,功能与性能均有提升。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/deep-research-get.mdx b/zh/v1/api-reference/endpoint/deep-research-get.mdx
index 3b85188e..7295086e 100644
--- a/zh/v1/api-reference/endpoint/deep-research-get.mdx
+++ b/zh/v1/api-reference/endpoint/deep-research-get.mdx
@@ -1,4 +1,4 @@
---
title: "深度调研"
-openapi: 'v1-openapi GET /deep-research/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /deep-research/{id}'
---
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/deep-research.mdx b/zh/v1/api-reference/endpoint/deep-research.mdx
index 9cd958e6..dc3b283f 100644
--- a/zh/v1/api-reference/endpoint/deep-research.mdx
+++ b/zh/v1/api-reference/endpoint/deep-research.mdx
@@ -1,6 +1,6 @@
---
title: "Deep Research"
-openapi: 'v1-openapi POST /deep-research'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /deep-research'
---
Deep Research 端点可对任意主题进行 AI 驱动的深度研究与分析。只需提供研究查询,Firecrawl 将自主探索全网、汇集相关信息,并将结果综合为全面洞见。
diff --git a/zh/v1/api-reference/endpoint/extract-get.mdx b/zh/v1/api-reference/endpoint/extract-get.mdx
index b2b00e1f..9bcde85c 100644
--- a/zh/v1/api-reference/endpoint/extract-get.mdx
+++ b/zh/v1/api-reference/endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: '获取提取状态'
-openapi: 'v1-openapi GET /extract/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /extract/{id}'
---
> 注意:现已推出此 API 的 [v2 版本](/zh/api-reference/endpoint/extract-get),并提供更强大的功能与更高的性能。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/extract.mdx b/zh/v1/api-reference/endpoint/extract.mdx
index 4e2daf80..cccc98e6 100644
--- a/zh/v1/api-reference/endpoint/extract.mdx
+++ b/zh/v1/api-reference/endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: 'Extract'
-openapi: 'v1-openapi POST /extract'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /extract'
---
> 注意:此 API 的 [v2 新版本](/zh/api-reference/endpoint/extract) 现已发布,功能更强、性能更佳。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/llmstxt-get.mdx b/zh/v1/api-reference/endpoint/llmstxt-get.mdx
index dd41bd3a..eb1f7695 100644
--- a/zh/v1/api-reference/endpoint/llmstxt-get.mdx
+++ b/zh/v1/api-reference/endpoint/llmstxt-get.mdx
@@ -1,6 +1,6 @@
---
title: "LLMs.txt 状态"
-openapi: "v1-openapi GET /llmstxt/{id}"
+openapi: "/zh/api-reference/v1-openapi.json V1-OPENAPI GET /llmstxt/{id}"
---
获取 LLMs.txt 生成任务的状态和结果。通过此端点可检查生成是否完成,并获取生成的内容。
@@ -69,7 +69,6 @@ openapi: "v1-openapi GET /llmstxt/{id}"
}
```
-
### 轮询建议
diff --git a/zh/v1/api-reference/endpoint/llmstxt.mdx b/zh/v1/api-reference/endpoint/llmstxt.mdx
index 303a9ab1..0cdbad2c 100644
--- a/zh/v1/api-reference/endpoint/llmstxt.mdx
+++ b/zh/v1/api-reference/endpoint/llmstxt.mdx
@@ -1,6 +1,6 @@
---
title: "生成 LLMs.txt"
-openapi: "v1-openapi POST /llmstxt"
+openapi: "/zh/api-reference/v1-openapi.json V1-OPENAPI POST /llmstxt"
---
LLMs.txt 生成端点会为任意网站创建 LLMs.txt 和 LLMs-full.txt 文件。这些文件以结构化、面向 LLM 的格式呈现网站内容,便于语言模型理解和处理信息。
diff --git a/zh/v1/api-reference/endpoint/map.mdx b/zh/v1/api-reference/endpoint/map.mdx
index 90362307..4884de95 100644
--- a/zh/v1/api-reference/endpoint/map.mdx
+++ b/zh/v1/api-reference/endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "Map"
-openapi: 'v1-openapi POST /map'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /map'
---
> 注意:现已推出 [v2 版本的此 API](/zh/api-reference/endpoint/map),功能更强大,性能更出色。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/scrape.mdx b/zh/v1/api-reference/endpoint/scrape.mdx
index 982bc764..ce805402 100644
--- a/zh/v1/api-reference/endpoint/scrape.mdx
+++ b/zh/v1/api-reference/endpoint/scrape.mdx
@@ -1,6 +1,6 @@
---
title: 'Scrape'
-openapi: 'v1-openapi POST /scrape'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /scrape'
---
> 注意:全新的 [v2 版本](/zh/api-reference/endpoint/scrape) 已上线,功能与性能进一步提升。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/search.mdx b/zh/v1/api-reference/endpoint/search.mdx
index c8560e17..7bdcc54b 100644
--- a/zh/v1/api-reference/endpoint/search.mdx
+++ b/zh/v1/api-reference/endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: 'Search'
-openapi: 'v1-openapi POST /search'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /search'
---
> 注意:此 API 的全新 [v2 版本](/zh/api-reference/endpoint/search) 已上线,功能更强、性能更优。
diff --git a/zh/v1/api-reference/endpoint/token-usage-historical.mdx b/zh/v1/api-reference/endpoint/token-usage-historical.mdx
index de0b5ea8..4fcb6766 100644
--- a/zh/v1/api-reference/endpoint/token-usage-historical.mdx
+++ b/zh/v1/api-reference/endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "历史 Token 使用情况"
-openapi: 'v1-openapi GET /team/token-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage/historical'
---
按月返回历史 Token 使用情况。该端点还可选按 API 密钥拆分使用量。
\ No newline at end of file
diff --git a/zh/v1/api-reference/endpoint/token-usage.mdx b/zh/v1/api-reference/endpoint/token-usage.mdx
index 9a1d6570..bd963584 100644
--- a/zh/v1/api-reference/endpoint/token-usage.mdx
+++ b/zh/v1/api-reference/endpoint/token-usage.mdx
@@ -1,6 +1,6 @@
---
title: 'Token 使用'
-openapi: 'v1-openapi GET /team/token-usage'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI GET /team/token-usage'
---
> 注意:全新的 [v2 版 API](/zh/api-reference/endpoint/token-usage) 现已上线,功能与性能都有所提升。
\ No newline at end of file
diff --git a/zh/v1/api-reference/v1-openapi.json b/zh/v1/api-reference/v1-openapi.json
new file mode 100644
index 00000000..99f14c16
--- /dev/null
+++ b/zh/v1/api-reference/v1-openapi.json
@@ -0,0 +1,3387 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v1",
+ "description": "用于与 Firecrawl 服务交互并执行 Web 抓取与爬取任务的 API。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v1"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "抓取单个 URL,并可选择使用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要爬取的 URL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "若设置为 true,将对本次抓取启用零数据留存。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "爬取多个 URL,并可选择使用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "待抓取的 URL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于发送 webhook 的 URL。它会在批量抓取开始时触发(batch_scrape.started)、每个页面抓取完成时触发(batch_scrape.page),以及批量抓取结束时触发(batch_scrape.completed 或 batch_scrape.failed)。其响应内容将与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将在本次爬取的所有 webhook 请求负载中包含的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数。此参数用于为本次批量抓取设置并发上限。若未指定,本次批量抓取将遵循你所在团队的并发限制。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果在 urls 数组中指定了无效的 URL,这些 URL 将被忽略。它们不会导致整个请求失败,系统会使用剩余的有效 URL 创建一个批量抓取任务,并在响应的 invalidURLs 字段中返回这些无效的 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果设为 true,将对本次批量抓取启用零数据保留(不保留任何数据)。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取任务的状态",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消批量抓取作业",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "已成功取消",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到批量抓取作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业的错误信息",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "爬取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取作业状态",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付款",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消爬取任务",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "已成功取消",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到爬取任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抓取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取任务的错误信息",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付款",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "根据选项批量爬取多个 URL",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于启动爬取的起始 URL"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在爬取过程中排除匹配 URL 的 URL 路径正则表达式模式。例如,如果你为基础 URL firecrawl.dev 设置 `\"excludePaths\": [\"blog/.*\"]`,那么所有匹配该模式的结果都会被排除,比如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在爬取过程中指定要包含哪些 URL 的 URL 路径名正则表达式模式。只有与指定模式匹配的路径才会包含在响应中。比如,如果你在基础 URL firecrawl.dev 上设置 `\"includePaths\": [\"blog/.*\"]`,则只有匹配该模式的结果会被包含,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "description": "从输入 URL 的基础路径起可爬取的最大绝对深度。也就是说,被抓取 URL 的路径名中最多可以包含多少个 “/”。",
+ "default": 10
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "根据发现顺序设置的最大抓取深度。根站点和站点地图中的页面的发现深度为 0。比如,如果你将其设置为 1,并且开启 ignoreSitemap,你将只会抓取输入的 URL 以及该页面上所有链接指向的 URL。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "在爬取网站时忽略网站地图",
+ "default": false
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "不要仅因为查询参数不同(或没有查询参数)就对同一路径重复抓取",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "最大抓取页面数。默认上限为 10000。",
+ "default": 10000
+ },
+ "allowBackwardLinks": {
+ "type": "boolean",
+ "description": "⚠️ 已弃用:请改用 `crawlEntireDomain`。此选项允许爬虫不仅跟踪子路径,还能跟踪指向同级或父级 URL 的内部链接。",
+ "default": false,
+ "deprecated": true
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "允许爬虫不仅跟随子路径,还能跟随同级或父级的内部链接。\n\nfalse:只爬取更深层(子级)URL。\n→ 例如:/features/feature-1 → /features/feature-1/tips ✅\n→ 不会跟随 /pricing 或 / ❌\n\ntrue:会爬取任意内部链接,包括同级和父级。\n→ 例如:/features/feature-1 → /pricing、/ 等 ✅\n\n若需要在嵌套路径之外实现更广泛的站内覆盖,请使用 true。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "允许爬虫跟随链接跳转到外部网站。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "允许爬虫沿链接继续爬取主域名下的各个子域名。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "两次抓取之间的间隔时间(秒)。有助于遵守网站的速率限制。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数。此参数用于为本次抓取设置并发上限;如果未设置,将默认使用你团队的并发限制。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于发送 webhook 请求的 URL。它会在以下情况下触发:爬取开始时(crawl.started)、每个页面被爬取时(crawl.page),以及爬取完成时(crawl.completed 或 crawl.failed)。响应内容与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "需发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将在此抓取任务的所有 webhook 负载中包含的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到该 webhook URL 的事件类型(默认:all)。",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果为 true,将对本次抓取启用零数据留存。要启用此功能,请联系 help@firecrawl.dev。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "基于选项映射多个 URL",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的基础 URL"
+ },
+ "search": {
+ "type": "string",
+ "description": "用于映射的搜索查询。在 Alpha 阶段,搜索功能中的“智能”部分最多只会返回 500 条搜索结果。不过,如果映射过程中找到更多结果,则不会对其施加任何限制。"
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "在爬取时忽略网站的站点地图(sitemap)。",
+ "default": true
+ },
+ "sitemapOnly": {
+ "type": "boolean",
+ "description": "仅返回在网站的 Sitemap 中找到的链接",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "包含此网站的子域名",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回的最大链接数",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)。默认情况下不设置超时时间。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "利用 LLM 从页面中提取结构化数据",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要从中提取数据的 URL。URL 应采用 glob 格式。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于引导提取流程的提示词"
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于定义提取后数据结构的 Schema。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "当为 true 时,提取过程会通过网页搜索获取更多数据",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "为 true 时,将在网站扫描过程中忽略 sitemap.xml 文件",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "当为 true 时,还会扫描所提供的 URL 的子域名",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "为 true 时,用于提取数据的来源将作为 `sources` 键包含在响应中",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果在 urls 数组中指定了无效 URL,这些 URL 将被忽略。请求不会因此整体失败,系统会使用剩余的有效 URL 执行提取操作,并在响应的 invalidURLs 字段中返回这些无效 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "提取成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效请求",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "提取作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取提取任务状态",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "获取当前已认证团队的所有正在进行的抓取任务",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "该抓取任务的唯一标识符"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "拥有此抓取任务的团队 ID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "爬取任务的起始 URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "本次爬取使用的爬虫配置",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research": {
+ "post": {
+ "summary": "针对某个查询启动深度研究操作",
+ "operationId": "startDeepResearch",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "要研究的查询内容"
+ },
+ "maxDepth": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 7,
+ "description": "最大迭代深度"
+ },
+ "timeLimit": {
+ "type": "integer",
+ "minimum": 30,
+ "maximum": 600,
+ "default": 300,
+ "description": "时间限制(秒)"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 20,
+ "description": "要分析的 URL 数量上限"
+ },
+ "analysisPrompt": {
+ "type": "string",
+ "description": "用于最终分析的提示。可用于按特定方式格式化最终分析的 Markdown。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "供研究智能体使用的系统提示词。可用于将研究引导至特定方向。"
+ },
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "json"
+ ],
+ "default": [
+ "markdown"
+ ]
+ }
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 输出选项",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "用于 JSON 输出的 schema。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "用于 JSON 输出的系统提示词"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于生成 JSON 输出的提示"
+ }
+ }
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "研究任务已成功开始",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "研究任务 ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效的请求参数",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/deep-research/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "研究任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取深度研究任务的状态及结果",
+ "operationId": "getDeepResearchStatus",
+ "tags": [
+ "Research"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "finalAnalysis": {
+ "type": "string"
+ },
+ "json": {
+ "type": "object",
+ "description": "仅在使用 JSON 格式时显示",
+ "nullable": true
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "depth": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "favicon": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "currentDepth": {
+ "type": "integer"
+ },
+ "maxDepth": {
+ "type": "integer"
+ },
+ "totalUrls": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 Research 作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Research job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "获取当前已认证团队的剩余额度",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_credits": {
+ "type": "number",
+ "description": "团队剩余积分",
+ "example": 1000
+ },
+ "plan_credits": {
+ "type": "number",
+ "description": "套餐中自带的额度数量。不包括优惠券额度、额度包或自动充值获得的额度。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的开始日期。使用免费方案时为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。使用免费套餐时为 null。",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到额度使用信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "获取当前认证团队的历史额度使用记录",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥获取历史额度使用情况",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "计费周期中使用的 API 密钥名称。若 byApiKey 为 false(默认),则为 null",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "计费周期内已使用的总积分",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "获取已认证团队的剩余 tokens(仅限 Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remaining_tokens": {
+ "type": "number",
+ "description": "团队剩余 Token 数",
+ "example": 1000
+ },
+ "plan_tokens": {
+ "type": "number",
+ "description": "套餐中的 token 数量。不包括优惠券提供的 token。",
+ "example": 500000
+ },
+ "billing_period_start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的开始日期。若使用免费计划,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billing_period_end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期。在使用免费方案时为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到令牌用量信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "获取当前已认证团队的 Token 历史用量(仅限 Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥获取历史 Token 用量",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "在该计费周期中使用的 API 密钥名称。当 byApiKey 为 false(默认值)时为 null。",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "计费周期内使用的 Token 总数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "搜索,并可选择抓取搜索结果",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "搜索查询"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回结果的最大数量",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "tbs": {
+ "type": "string",
+ "description": "基于时间的搜索参数。支持预定义的时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)以及自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)。"
+ },
+ "location": {
+ "type": "string",
+ "description": "搜索结果的 location 参数"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "从搜索结果中排除对其他 Firecrawl API 端点无效的 URL。这样在将搜索数据传递给其他 Firecrawl API 端点时,有助于减少错误。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "extract"
+ ]
+ },
+ "default": []
+ }
+ }
+ }
+ ],
+ "description": "搜索结果抓取选项",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "搜索结果标题"
+ },
+ "description": {
+ "type": "string",
+ "description": "搜索结果描述"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的URL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果请求了抓取,则为 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求,则返回 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求,则返回原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如在 formats 中请求,则返回发现的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "截图 URL(如果在 formats 中请求)"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "出现问题时的警告信息"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "请求超时",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt": {
+ "post": {
+ "summary": "为网站生成 LLMs.txt",
+ "operationId": "generateLLMsTxt",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于生成 LLMs.txt 的 URL"
+ },
+ "maxUrls": {
+ "type": "integer",
+ "description": "要分析的 URL 数量上限",
+ "default": 2
+ },
+ "showFullText": {
+ "type": "boolean",
+ "description": "在响应中包含全文内容",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "LLMs.txt 生成作业已成功启动",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "LLMs.txt 生成作业的 ID"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效的请求参数",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Invalid parameters provided"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/llmstxt/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "LLMs.txt 生成作业的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取 LLMs.txt 生成任务的状态和结果",
+ "operationId": "getLLMsTxtStatus",
+ "tags": [
+ "LLMs.txt"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "processing",
+ "completed",
+ "failed"
+ ]
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "llmstxt": {
+ "type": "string",
+ "description": "生成的 LLMs.txt 文件内容"
+ },
+ "llmsfulltxt": {
+ "type": "string",
+ "description": "当 showFullText 为 true 时的完整文本内容"
+ }
+ }
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "生成内容的过期时间"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 LLMs.txt 的生成任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "LLMs.txt generation job not found"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "BaseScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主内容,不包括页眉、导航、页脚等。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "要包含在输出中的标签。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在输出结果中要排除的标签。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "如果页面的缓存版本距今的时间小于此处指定的毫秒数,则返回该缓存版本;如果缓存版本的时间超过该值,则会重新抓取页面。如果你不需要极其新鲜的数据,启用此选项可以将抓取速度提升最多 500%。默认值为 0,表示禁用缓存。",
+ "default": 0
+ },
+ "headers": {
+ "type": "object",
+ "description": "随请求发送的请求头,可用于传递 cookies、User-Agent 等信息。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "指定在抓取内容前的延迟时间(毫秒),以便页面有足够时间加载完成。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "如果你想模拟从移动设备端进行抓取,请将其设置为 true。可用于测试响应式页面并获取移动端截图。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "在发送请求时跳过 TLS 证书验证",
+ "default": false
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "请求超时时间(单位:毫秒)",
+ "default": 30000
+ },
+ "parsePDF": {
+ "type": "boolean",
+ "description": "控制在抓取过程中如何处理 PDF 文件。为 true 时,将提取 PDF 内容并转换为 markdown 格式,费用按页数计费(每页 1 个积分)。为 false 时,将以 base64 编码返回 PDF 文件,统一按总计 1 个积分计费。",
+ "default": true
+ },
+ "jsonOptions": {
+ "type": "object",
+ "description": "JSON 配置对象",
+ "properties": {
+ "schema": {
+ "type": "object",
+ "description": "用于抽取的数据模式(可选)。必须符合 [JSON Schema](https://json-schema.org/) 标准。"
+ },
+ "systemPrompt": {
+ "type": "string",
+ "description": "用于抽取的系统提示词(可选)"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于无模式抽取的提示词(可选)"
+ }
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "在抓取内容前需要在页面上执行的 actions",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "等待指定的毫秒数"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "等待时间(毫秒)"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位该元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "进行屏幕截图。链接会出现在响应的 `actions.screenshots` 数组中。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是否捕获整页截图,还是仅捕获当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,从 1 到 100。100 表示最高质量。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "点击元素"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位元素的查询选择器",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "点击所有与选择器匹配的元素,而不仅仅是第一个。如果没有任何元素匹配该选择器,也不会抛出错误。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "在输入框、文本区域或 contenteditable 元素中写入文本。注意:在输入之前,必须先使用 “click” 操作将光标聚焦到该元素上。文本将以逐字符方式输入,以模拟键盘输入。"
+ },
+ "text": {
+ "type": "string",
+ "description": "要输入的文本",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "请在页面上按下任意按键。按键代码请参见:https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "在页面上按下一个键"
+ },
+ "key": {
+ "type": "string",
+ "description": "要按下的键",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "滚动页面或特定元素"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "滚动方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位需要滚动元素的选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "抓取当前页面内容,并返回其 URL 和 HTML。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "在页面中执行 JavaScript 代码"
+ },
+ "script": {
+ "type": "string",
+ "description": "要运行的 JavaScript 代码",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "生成当前页面的 PDF。该 PDF 将会在响应的 `actions.pdfs` 数组中返回。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成的 PDF 页面尺寸",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "是否以横向页面方向生成 PDF",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成的 PDF 的缩放倍数",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的位置设置。指定后,如果可用,将使用相应的代理,并模拟对应的语言和时区设置。如果未指定,则默认为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 二位字母国家代码(例如:“US”、“AU”、“DE”、“JP”)",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "按优先级从高到低排列的请求首选语言和区域设置列表。默认为指定位置对应的语言。参见 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "从输出中移除所有 Base64 编码图片,以避免内容过于冗长。图片的替代文本(alt 文本)会保留在输出中,但其 URL 会被占位符替换。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "启用广告和 Cookie 弹窗拦截功能。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "指定要使用的代理类型。\n\n - **basic**:用于抓取几乎没有或仅有基础防爬/反机器人机制的网站的代理。速度快,通常可用。\n - **stealth**:用于抓取具有高级防爬/反机器人机制的网站的隐身代理。速度较慢,但在某些网站上更可靠。每个请求最多消耗 5 个积分。\n - **auto**:如果 basic 代理抓取失败,Firecrawl 会自动使用 stealth 代理重试抓取。如果使用 stealth 重试成功,该次抓取将收取 5 个积分;如果首次使用 basic 即抓取成功,则只按常规费用计费。\n\n如果你未指定代理,Firecrawl 将默认使用 basic。"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "如果为 true,该页面将被存储到 Firecrawl 的索引和缓存中。当你的抓取活动可能涉及数据保护方面的顾虑时,将其设为 false 会很有用。使用某些与敏感抓取相关的参数(actions、headers)时,会强制将此参数设为 false。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "markdown",
+ "html",
+ "rawHtml",
+ "links",
+ "screenshot",
+ "screenshot@fullPage",
+ "json",
+ "changeTracking"
+ ]
+ },
+ "description": "输出结果中要包含的 formats。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "changeTrackingOptions": {
+ "type": "object",
+ "description": "用于变更跟踪的选项(Beta)。仅当 formats 中包含 “changeTracking” 时适用。使用变更跟踪时,还必须同时指定 “markdown” formats。",
+ "properties": {
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "用于变更跟踪的模式。`git-diff` 提供详细的差异对比,而 `json` 则用于比较提取出的 JSON 数据。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "在使用“json”模式时用于 JSON 抽取的模式(schema)。用于定义要提取和比较的数据结构。必须符合 [JSON Schema](https://json-schema.org/)。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "在使用“json”模式进行变更跟踪时使用的提示词。如果未提供,则会使用默认提示词。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "用于变更追踪的标签。标签可以将变更追踪历史划分为彼此独立的“分支”,带有特定标签的变更追踪只会与同一标签下的抓取结果进行比较。如果未指定,将使用默认标签(null)。"
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `html`,则返回页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `rawHtml` 时的页面原始 HTML 内容"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `screenshot` 时返回页面截图"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "当 `formats` 中包含 `links` 时,页面上的链接列表"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "仅当请求中提供了 `actions` 参数时,才会返回该参数中指定的 actions 的执行结果。",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "截图 URL,顺序与所提供的截图 actions 保持一致。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "按照提供的 scrape actions 顺序抓取内容。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "按提供的 executeJavascript actions 顺序排列的 JavaScript 返回值。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成的 PDF 文件,其顺序与提供的 pdf actions 相同。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ },
+ "llm_extraction": {
+ "type": "object",
+ "description": "在使用 LLM Extraction 时显示。根据已定义的 schema 从页面中提取的结构化数据。",
+ "nullable": true
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用 LLM 提取时会显示。警告信息会提示你提取过程中的任何问题。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `changeTracking`,则会返回变更跟踪信息。仅在请求 `changeTracking` 格式时才会返回。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "当前页面与之比较的上一次抓取时间戳。如果不存在之前的抓取,则为 null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "两个页面版本对比的结果。`new` 表示该页面之前不存在,`same` 表示内容未变化,`changed` 表示内容已变化,`removed` 表示该页面已被删除。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "当前页面/URL 的可见性。`visible` 表示该 URL 是通过常规途径(链接或 sitemap)发现的,`hidden` 表示该 URL 是通过之前抓取的记录发现的。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用“git-diff”模式时返回的 Git 风格差异内容。仅在模式设置为“git-diff”时才会出现。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "在使用 `json` 模式时的 JSON 比较结果。仅在模式设置为 `json` 时才会提供。它会根据 `schema` 中定义的类型,输出 `previous` 与 `current` 抓取结果中所有键及其对应的值列表。示例见[此处](/features/change-tracking)"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "爬取任务的当前状态。取值可以是 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "已成功爬取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次爬取消耗的积分数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "爬取任务过期的日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取后续 10MB 数据的 URL。当抓取尚未完成或响应超过 10MB 时会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "爬取结果数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 `includeLinks` 为 true,则返回页面上的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面截图(当 `includeScreenshot` 为 true 时)"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "出错的抓取任务和错误详情",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "故障的 ISO 时间戳"
+ },
+ "url": {
+ "type": "string",
+ "description": "已抓取的 URL"
+ },
+ "error": {
+ "type": "string",
+ "description": "错误消息"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "在抓取过程中尝试访问但被 robots.txt 阻止的 URL 列表",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "批量抓取任务的当前状态。可以是 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试抓取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "成功抓取的页面数。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "该批量抓取消耗的额度数。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "批量抓取任务的过期日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取下一个 10MB 数据块的 URL。当批量抓取尚未完成或响应大小超过 10MB 时,会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "批量爬取的数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,该页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 `includeLinks` 为 true,则返回页面中的链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则此字段是一个数组,其中包含请求中指定的无效 URL。若没有无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则该字段将为 undefined。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,此字段是一个数组,包含请求中指定的所有无效 URL。若没有无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则此字段为 undefined。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "提取作业当前状态"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/zh/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx b/zh/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
index a53c94a9..90a1d6cd 100644
--- a/zh/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
+++ b/zh/v1/api-reference/v2-endpoint/batch-scrape-delete.mdx
@@ -1,6 +1,6 @@
---
title: "取消批量抓取任务"
-openapi: 'v2-openapi DELETE /batch/scrape/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI DELETE /batch/scrape/{id}'
---
diff --git a/zh/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx b/zh/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
index b86da89b..a71487df 100644
--- a/zh/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
+++ b/zh/v1/api-reference/v2-endpoint/batch-scrape-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: "获取批量抓取错误信息"
-openapi: 'v2-openapi GET /batch/scrape/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}/errors'
---
diff --git a/zh/v1/api-reference/v2-endpoint/batch-scrape-get.mdx b/zh/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
index 03d51598..a38c6398 100644
--- a/zh/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
+++ b/zh/v1/api-reference/v2-endpoint/batch-scrape-get.mdx
@@ -1,6 +1,6 @@
---
title: "获取批量抓取的状态"
-openapi: "v2-openapi GET /batch/scrape/{id}"
+openapi: "/zh/api-reference/v1-openapi.json V2-OPENAPI GET /batch/scrape/{id}"
---
diff --git a/zh/v1/api-reference/v2-endpoint/batch-scrape.mdx b/zh/v1/api-reference/v2-endpoint/batch-scrape.mdx
index dae5be27..61585b11 100644
--- a/zh/v1/api-reference/v2-endpoint/batch-scrape.mdx
+++ b/zh/v1/api-reference/v2-endpoint/batch-scrape.mdx
@@ -1,6 +1,6 @@
---
title: "批量爬取"
-openapi: 'v2-openapi POST /batch/scrape'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /batch/scrape'
---
diff --git a/zh/v1/api-reference/v2-endpoint/crawl-active.mdx b/zh/v1/api-reference/v2-endpoint/crawl-active.mdx
index c6503919..cc00a31d 100644
--- a/zh/v1/api-reference/v2-endpoint/crawl-active.mdx
+++ b/zh/v1/api-reference/v2-endpoint/crawl-active.mdx
@@ -1,6 +1,6 @@
---
title: "获取进行中的爬取任务"
-openapi: 'v2-openapi GET /crawl/active'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/active'
---
diff --git a/zh/v1/api-reference/v2-endpoint/crawl-delete.mdx b/zh/v1/api-reference/v2-endpoint/crawl-delete.mdx
index 21ace8c8..b9f67d8a 100644
--- a/zh/v1/api-reference/v2-endpoint/crawl-delete.mdx
+++ b/zh/v1/api-reference/v2-endpoint/crawl-delete.mdx
@@ -1,6 +1,6 @@
---
title: "取消爬取"
-openapi: 'v2-openapi DELETE /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI DELETE /crawl/{id}'
---
diff --git a/zh/v1/api-reference/v2-endpoint/crawl-get-errors.mdx b/zh/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
index ca803501..ee1551e4 100644
--- a/zh/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
+++ b/zh/v1/api-reference/v2-endpoint/crawl-get-errors.mdx
@@ -1,6 +1,6 @@
---
title: '获取抓取错误'
-openapi: 'v2-openapi GET /crawl/{id}/errors'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}/errors'
---
diff --git a/zh/v1/api-reference/v2-endpoint/crawl-get.mdx b/zh/v1/api-reference/v2-endpoint/crawl-get.mdx
index 1e004456..505a01a0 100644
--- a/zh/v1/api-reference/v2-endpoint/crawl-get.mdx
+++ b/zh/v1/api-reference/v2-endpoint/crawl-get.mdx
@@ -1,6 +1,6 @@
---
title: "获取爬取状态"
-openapi: 'v2-openapi GET /crawl/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /crawl/{id}'
---
diff --git a/zh/v1/api-reference/v2-endpoint/crawl-post.mdx b/zh/v1/api-reference/v2-endpoint/crawl-post.mdx
index cd315d44..9ca1b71a 100644
--- a/zh/v1/api-reference/v2-endpoint/crawl-post.mdx
+++ b/zh/v1/api-reference/v2-endpoint/crawl-post.mdx
@@ -1,6 +1,6 @@
---
title: "爬取"
-openapi: 'v2-openapi POST /crawl'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /crawl'
---
@@ -20,7 +20,6 @@ openapi: 'v2-openapi POST /crawl'
}
```
-
### 更灵活的站点地图控制
diff --git a/zh/v1/api-reference/v2-endpoint/credit-usage-historical.mdx b/zh/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
index 8005e996..419969e5 100644
--- a/zh/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
+++ b/zh/v1/api-reference/v2-endpoint/credit-usage-historical.mdx
@@ -1,6 +1,7 @@
---
title: "历史额度使用"
-openapi: 'v2-openapi GET /team/credit-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET
+ /team/credit-usage/historical'
---
按月返回历史额度使用情况。该端点还可选按 API 密钥细分使用情况。
\ No newline at end of file
diff --git a/zh/v1/api-reference/v2-endpoint/credit-usage.mdx b/zh/v1/api-reference/v2-endpoint/credit-usage.mdx
index 26ea654a..4898a8f2 100644
--- a/zh/v1/api-reference/v2-endpoint/credit-usage.mdx
+++ b/zh/v1/api-reference/v2-endpoint/credit-usage.mdx
@@ -1,6 +1,6 @@
---
title: "积分使用情况"
-openapi: 'v2-openapi GET /team/credit-usage'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/credit-usage'
---
diff --git a/zh/v1/api-reference/v2-endpoint/extract-get.mdx b/zh/v1/api-reference/v2-endpoint/extract-get.mdx
index 82df8ea1..088053b2 100644
--- a/zh/v1/api-reference/v2-endpoint/extract-get.mdx
+++ b/zh/v1/api-reference/v2-endpoint/extract-get.mdx
@@ -1,6 +1,6 @@
---
title: "获取提取状态"
-openapi: 'v2-openapi GET /extract/{id}'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /extract/{id}'
---
diff --git a/zh/v1/api-reference/v2-endpoint/extract.mdx b/zh/v1/api-reference/v2-endpoint/extract.mdx
index dab689d3..fa912219 100644
--- a/zh/v1/api-reference/v2-endpoint/extract.mdx
+++ b/zh/v1/api-reference/v2-endpoint/extract.mdx
@@ -1,6 +1,6 @@
---
title: "Extract"
-openapi: 'v2-openapi POST /extract'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI POST /extract'
---
diff --git a/zh/v1/api-reference/v2-endpoint/map.mdx b/zh/v1/api-reference/v2-endpoint/map.mdx
index c08c15d2..cdb2d669 100644
--- a/zh/v1/api-reference/v2-endpoint/map.mdx
+++ b/zh/v1/api-reference/v2-endpoint/map.mdx
@@ -1,6 +1,6 @@
---
title: "地图"
-openapi: "v2-openapi POST /map"
+openapi: "/zh/api-reference/v1-openapi.json V2-OPENAPI POST /map"
---
@@ -24,7 +24,6 @@ openapi: "v2-openapi POST /map"
}
```
-
### 更智能的 URL 发现
diff --git a/zh/v1/api-reference/v2-endpoint/scrape.mdx b/zh/v1/api-reference/v2-endpoint/scrape.mdx
index 4f001860..39ad2f4b 100644
--- a/zh/v1/api-reference/v2-endpoint/scrape.mdx
+++ b/zh/v1/api-reference/v2-endpoint/scrape.mdx
@@ -1,4 +1,4 @@
---
title: "抓取"
-openapi: "v2-openapi POST /scrape"
+openapi: "/zh/api-reference/v1-openapi.json V2-OPENAPI POST /scrape"
---
\ No newline at end of file
diff --git a/zh/v1/api-reference/v2-endpoint/search.mdx b/zh/v1/api-reference/v2-endpoint/search.mdx
index a207e55e..df1d5f2e 100644
--- a/zh/v1/api-reference/v2-endpoint/search.mdx
+++ b/zh/v1/api-reference/v2-endpoint/search.mdx
@@ -1,6 +1,6 @@
---
title: "搜索"
-openapi: "v2-openapi POST /search"
+openapi: "/zh/api-reference/v1-openapi.json V2-OPENAPI POST /search"
---
@@ -24,7 +24,6 @@ openapi: "v2-openapi POST /search"
}
```
-
### 响应格式已更改
@@ -42,7 +41,6 @@ v1:平铺的结果列表。v2:按来源类型组织:
}
```
-
### 新功能
diff --git a/zh/v1/api-reference/v2-endpoint/token-usage-historical.mdx b/zh/v1/api-reference/v2-endpoint/token-usage-historical.mdx
index 66d70ac3..4290de3e 100644
--- a/zh/v1/api-reference/v2-endpoint/token-usage-historical.mdx
+++ b/zh/v1/api-reference/v2-endpoint/token-usage-historical.mdx
@@ -1,6 +1,6 @@
---
title: "历史 Token 使用情况"
-openapi: 'v2-openapi GET /team/token-usage/historical'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage/historical'
---
按月返回历史 Token 使用数据。该端点还可选择按 API key 细分用量。
\ No newline at end of file
diff --git a/zh/v1/api-reference/v2-endpoint/token-usage.mdx b/zh/v1/api-reference/v2-endpoint/token-usage.mdx
index 1e44e553..b291a6d8 100644
--- a/zh/v1/api-reference/v2-endpoint/token-usage.mdx
+++ b/zh/v1/api-reference/v2-endpoint/token-usage.mdx
@@ -1,4 +1,4 @@
---
title: "Token 使用情况"
-openapi: 'v2-openapi GET /team/token-usage'
+openapi: '/zh/api-reference/v1-openapi.json V2-OPENAPI GET /team/token-usage'
---
\ No newline at end of file
diff --git a/zh/v1/api-reference/v2-openapi.json b/zh/v1/api-reference/v2-openapi.json
new file mode 100644
index 00000000..039ef303
--- /dev/null
+++ b/zh/v1/api-reference/v2-openapi.json
@@ -0,0 +1,3261 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Firecrawl API",
+ "version": "v2",
+ "description": "用于与 Firecrawl 服务交互,以执行网页抓取和爬取任务的 API。",
+ "contact": {
+ "name": "Firecrawl Support",
+ "url": "https://firecrawl.dev/support",
+ "email": "support@firecrawl.dev"
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.firecrawl.dev/v2"
+ }
+ ],
+ "paths": {
+ "/scrape": {
+ "post": {
+ "summary": "抓取单个 URL,并可选择使用 LLM 提取信息",
+ "operationId": "scrapeAndExtractFromUrl",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "要抓取的 URL"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果设为 true,将为本次抓取启用零数据保留。要开启此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ScrapeResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape": {
+ "post": {
+ "summary": "抓取多个 URL,并可选用 LLM 进行信息抽取",
+ "operationId": "scrapeAndExtractFromUrls",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要抓取的 URL"
+ }
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于接收 webhook 的目标 URL。它会在批量抓取开始时触发(batch_scrape.started)、每抓取一个页面时触发(batch_scrape.page),以及批量抓取完成时触发(batch_scrape.completed 或 batch_scrape.failed)。响应内容与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "要发送到 Webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将包含在本次抓取所有 webhook 负载中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "要发送到该 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数。此参数用于为本次批量抓取设置并发上限。如未指定,批量抓取将采用你团队的并发上限。"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "如果在 urls 数组中指定了无效 URL,这些 URL 将被忽略。它们不会导致整个请求失败,而是会基于剩余的有效 URL 创建一个批量抓取任务,并在响应的 invalidURLs 字段中返回这些无效的 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ },
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果为 true,将为本次批量抓取启用零数据留存。要启用此功能,请联系 help@firecrawl.dev"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业的状态",
+ "operationId": "getBatchScrapeStatus",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchScrapeStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消批量抓取任务",
+ "operationId": "cancelBatchScrape",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "已成功取消",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "message": {
+ "type": "string",
+ "example": "Batch scrape job successfully cancelled."
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到批量爬取作业",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Batch scrape job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/batch/scrape/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "批量抓取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取批量抓取作业的错误信息",
+ "operationId": "getBatchScrapeErrors",
+ "tags": [
+ "Scraping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要支付",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "爬取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取爬取任务状态",
+ "operationId": "getCrawlStatus",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlStatusResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过于频繁",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "取消抓取任务",
+ "operationId": "cancelCrawl",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "取消成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "cancelled"
+ ],
+ "example": "cancelled"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到抓取任务",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Crawl job not found."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/{id}/errors": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "抓取任务 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取抓取任务的错误",
+ "operationId": "getCrawlErrors",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlErrorsResponseObj"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl": {
+ "post": {
+ "summary": "根据选项抓取多个 URL",
+ "operationId": "crawlUrls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的起始 URL"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于根据自然语言生成爬虫选项(下方所有参数)的提示。显式指定的参数会覆盖生成的对应参数。"
+ },
+ "excludePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在爬取过程中排除匹配 URL 的 URL 路径正则表达式模式。例如,如果你为基础 URL firecrawl.dev 设置 `\"excludePaths\": [\"blog/.*\"]`,那么任何与该模式匹配的结果都会被排除,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "includePaths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "用于在爬取过程中指定要包含的 URL 的路径名正则表达式模式。只有与这些指定模式匹配的路径才会包含在响应中。例如,如果为基础 URL firecrawl.dev 设置 `\"includePaths\": [\"blog/.*\"]`,则只会返回与该模式匹配的结果,例如:https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap。"
+ },
+ "maxDiscoveryDepth": {
+ "type": "integer",
+ "description": "基于发现顺序的最大爬取深度。根站点以及 sitemap 中的页面的发现深度为 0。比如,如果你将该值设置为 1,并且将 ignoreSitemap 设为 true,则只会爬取你输入的 URL 以及该页面上从中链接到的所有 URL。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include"
+ ],
+ "description": "Sitemap 抓取模式。若将其设置为「skip」,爬虫将忽略网站的 sitemap,只抓取你输入的 URL,并从该页面开始继续发现和抓取后续页面。",
+ "default": "include"
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "不要在同一路径上仅通过修改(或省略)查询参数来重复抓取",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "description": "要爬取的最大页面数。默认上限为 10000。",
+ "default": 10000
+ },
+ "crawlEntireDomain": {
+ "type": "boolean",
+ "description": "允许爬虫不仅跟随子路径,还能跟随同级或父级的站内链接。\n\nfalse:只爬取更深层级(子级)URL。\n→ 例如:/features/feature-1 → /features/feature-1/tips ✅\n→ 不会跟随 /pricing 或 / ❌\n\ntrue:会爬取任意站内链接,包括同级和父级。\n→ 例如:/features/feature-1 → /pricing、/ 等 ✅\n\n在需要覆盖嵌套路径之外更广泛的站内链接时,将其设置为 true。",
+ "default": false
+ },
+ "allowExternalLinks": {
+ "type": "boolean",
+ "description": "允许爬虫跟随链接跳转至外部网站。",
+ "default": false
+ },
+ "allowSubdomains": {
+ "type": "boolean",
+ "description": "允许爬虫通过链接访问主域的各个子域名。",
+ "default": false
+ },
+ "delay": {
+ "type": "number",
+ "description": "两次抓取之间的延迟时间(秒)。有助于遵守网站的请求频率限制。"
+ },
+ "maxConcurrency": {
+ "type": "integer",
+ "description": "最大并发抓取数。此参数用于为本次抓取任务设置并发上限。如果未指定,将遵循你所在团队的并发限制。"
+ },
+ "webhook": {
+ "type": "object",
+ "description": "Webhook 规范对象。",
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "用于发送 webhook 的 URL。该 webhook 会在爬取开始时(crawl.started)、每个页面被爬取时(crawl.page),以及爬取完成(crawl.completed)或失败(crawl.failed)时触发。其响应内容与 `/scrape` 端点相同。"
+ },
+ "headers": {
+ "type": "object",
+ "description": "发送到 webhook URL 的请求头。",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "将添加到本次抓取所有 webhook 负载中的自定义元数据",
+ "additionalProperties": true
+ },
+ "events": {
+ "type": "array",
+ "description": "应发送到 webhook URL 的事件类型。(默认:全部)",
+ "items": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "page",
+ "failed",
+ "started"
+ ]
+ }
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "zeroDataRetention": {
+ "type": "boolean",
+ "default": false,
+ "description": "如果设为 true,将对本次爬取启用零数据保留(不存储任何数据)。如需启用此功能,请联系 help@firecrawl.dev"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CrawlResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/map": {
+ "post": {
+ "summary": "基于选项对多个 URL 进行映射",
+ "operationId": "mapUrls",
+ "tags": [
+ "Mapping"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "用于开始爬取的起始 URL"
+ },
+ "search": {
+ "type": "string",
+ "description": "用于映射的搜索查询。在 Alpha 阶段,搜索功能中的「智能」部分最多只会使用 500 条搜索结果。但如果 map 找到更多结果,则不会对结果数量进行限制。"
+ },
+ "sitemap": {
+ "type": "string",
+ "enum": [
+ "skip",
+ "include",
+ "only"
+ ],
+ "description": "映射(mapping)时的 sitemap 模式。如果设置为 `skip`,则不会使用 sitemap 来查找 URL。如果设置为 `only`,则只会返回 sitemap 中包含的 URL。默认情况下(`include`),会同时使用 sitemap 和其他方法来查找 URL。",
+ "default": "include"
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "包含此网站的子域名",
+ "default": true
+ },
+ "ignoreQueryParameters": {
+ "type": "boolean",
+ "description": "不要返回包含查询参数的 URL",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "description": "要返回的最大链接数",
+ "default": 5000,
+ "maximum": 30000
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)。默认不设置超时。"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MapResponse"
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求次数过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract": {
+ "post": {
+ "summary": "使用 LLM 从页面中提取结构化数据",
+ "operationId": "extractData",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri",
+ "description": "要从中提取数据的 URL。URL 应使用 glob 格式。"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于引导提取过程的提示"
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于定义提取后数据结构的 Schema。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "enableWebSearch": {
+ "type": "boolean",
+ "description": "为 true 时,提取过程将通过网页搜索获取更多数据",
+ "default": false
+ },
+ "ignoreSitemap": {
+ "type": "boolean",
+ "description": "为 true 时,进行网站扫描时将忽略 sitemap.xml 文件",
+ "default": false
+ },
+ "includeSubdomains": {
+ "type": "boolean",
+ "description": "设为 true 时,也会扫描提供的 URL 的子域名",
+ "default": true
+ },
+ "showSources": {
+ "type": "boolean",
+ "description": "为 true 时,用于提取数据的来源将以 `sources` 键的形式包含在响应中",
+ "default": false
+ },
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "default": true,
+ "description": "如果在 urls 数组中指定了无效的 URL,这些 URL 将会被忽略。请求不会因此整体失败,系统会改为基于剩余的有效 URL 执行提取操作,并在响应的 invalidURLs 字段中返回这些无效的 URL。"
+ }
+ },
+ "required": [
+ "urls"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "提取成功",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractResponse"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "无效请求",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "Invalid input data."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/extract/{id}": {
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "提取任务的 ID",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "get": {
+ "summary": "获取提取任务状态",
+ "operationId": "getExtractStatus",
+ "tags": [
+ "Extraction"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtractStatusResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/crawl/active": {
+ "get": {
+ "summary": "获取当前认证团队的所有进行中的爬取任务",
+ "operationId": "getActiveCrawls",
+ "tags": [
+ "Crawling"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "crawls": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "此爬取任务的唯一标识符"
+ },
+ "teamId": {
+ "type": "string",
+ "description": "此抓取任务所属的团队 ID"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "抓取任务的起始 URL"
+ },
+ "options": {
+ "type": "object",
+ "description": "本次抓取使用的爬虫配置选项",
+ "properties": {
+ "scrapeOptions": {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ }
+ }
+ },
+ "required": [
+ "id",
+ "teamId",
+ "url",
+ "status",
+ "options"
+ ]
+ }
+ }
+ },
+ "required": [
+ "success",
+ "data"
+ ]
+ }
+ }
+ }
+ },
+ "402": {
+ "description": "需要付费",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Payment required to access this resource."
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "请求过多",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request rate limit exceeded. Please wait and try again later."
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage": {
+ "get": {
+ "summary": "获取已认证团队的剩余可用额度",
+ "operationId": "getCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingCredits": {
+ "type": "number",
+ "description": "团队剩余额度",
+ "example": 1000
+ },
+ "planCredits": {
+ "type": "number",
+ "description": "套餐中包含的可用额度总数。不包括优惠券额度、额度包或自动充值获得的额度。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的起始日期。如果使用免费套餐,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的结束日期。如果使用免费方案,则为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "找不到额度使用信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find credit usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/credit-usage/historical": {
+ "get": {
+ "summary": "获取当前已认证团队的历史额度使用记录",
+ "operationId": "getHistoricalCreditUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "按 API 密钥获取历史额度使用情况",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "在该计费周期中使用的 API 密钥名称。若 byApiKey 为 false(默认值),则为 null",
+ "nullable": true
+ },
+ "totalCredits": {
+ "type": "integer",
+ "description": "账单周期内使用的总额度",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical credit usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage": {
+ "get": {
+ "summary": "获取当前认证团队的剩余 token 数(仅 Extract)",
+ "operationId": "getTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "remainingTokens": {
+ "type": "number",
+ "description": "团队剩余的可用 token 数",
+ "example": 1000
+ },
+ "planTokens": {
+ "type": "number",
+ "description": "方案所含的代币数量。不包括优惠券赠送的代币。",
+ "example": 500000
+ },
+ "billingPeriodStart": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的开始日期。若使用免费计划,则为 null",
+ "example": "2025-01-01T00:00:00Z",
+ "nullable": true
+ },
+ "billingPeriodEnd": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期的结束日期。若使用免费方案,则为 null",
+ "example": "2025-01-31T23:59:59Z",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "未找到 Token 使用信息",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Could not find token usage information"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/team/token-usage/historical": {
+ "get": {
+ "summary": "获取已认证团队的历史 Token 使用量(仅限 Extract)",
+ "operationId": "getHistoricalTokenUsage",
+ "tags": [
+ "Billing"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "byApiKey",
+ "in": "query",
+ "description": "获取指定 API 密钥的历史 Token 用量",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "成功响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": true
+ },
+ "periods": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "计费周期开始日期",
+ "example": "2025-01-01T00:00:00Z"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "账单周期结束日期",
+ "example": "2025-01-31T23:59:59Z"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "在该计费周期中使用的 API 密钥名称。若 byApiKey 为 false(默认),则为 null",
+ "nullable": true
+ },
+ "totalTokens": {
+ "type": "integer",
+ "description": "在计费周期内使用的总 token 数",
+ "example": 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Internal server error while fetching historical token usage"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/search": {
+ "post": {
+ "summary": "搜索,并可选择抓取搜索结果",
+ "operationId": "searchAndScrape",
+ "tags": [
+ "Search"
+ ],
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "搜索查询语句"
+ },
+ "limit": {
+ "type": "integer",
+ "description": "返回的最大结果数",
+ "default": 5,
+ "maximum": 100,
+ "minimum": 1
+ },
+ "sources": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Web",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "基于时间的搜索参数。支持预设时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)以及自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)"
+ },
+ "location": {
+ "type": "string",
+ "description": "搜索结果的 location 参数"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Images",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "images"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "News",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "news"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "搜索的来源。将决定响应中可用的数组。",
+ "default": [
+ "web"
+ ]
+ },
+ "tbs": {
+ "type": "string",
+ "description": "基于时间的搜索参数。支持预定义时间范围(`qdr:h`、`qdr:d`、`qdr:w`、`qdr:m`、`qdr:y`)和自定义日期范围(`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`)。"
+ },
+ "location": {
+ "type": "string",
+ "description": "搜索结果的 location 参数"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "超时时间(毫秒)",
+ "default": 60000
+ },
+ "ignoreInvalidURLs": {
+ "type": "boolean",
+ "description": "从搜索结果中排除对其他 Firecrawl 端点无效的 URL。这有助于在将搜索结果数据传输到其他 Firecrawl API 端点时减少错误。",
+ "default": false
+ },
+ "scrapeOptions": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ScrapeOptions"
+ }
+ ],
+ "description": "搜索结果抓取选项",
+ "default": {}
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "成功的响应",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "web": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "搜索结果标题"
+ },
+ "description": {
+ "type": "string",
+ "description": "搜索结果描述"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的 URL"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果请求了抓取,则返回的 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回的 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如在 formats 中请求时,返回原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果在 formats 中请求,则会返回找到的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中请求,则返回截图 URL"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "images": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "来自搜索结果的标题"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "图片 URL"
+ },
+ "imageWidth": {
+ "type": "integer",
+ "description": "图片宽度"
+ },
+ "imageHeight": {
+ "type": "integer",
+ "description": "图片高度"
+ },
+ "url": {
+ "type": "string",
+ "description": "搜索结果的 URL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "搜索结果位置"
+ }
+ }
+ }
+ },
+ "news": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "文章标题"
+ },
+ "snippet": {
+ "type": "string",
+ "description": "文章节选"
+ },
+ "url": {
+ "type": "string",
+ "description": "文章 URL"
+ },
+ "date": {
+ "type": "string",
+ "description": "文章日期"
+ },
+ "imageUrl": {
+ "type": "string",
+ "description": "文章图片 URL"
+ },
+ "position": {
+ "type": "integer",
+ "description": "文章位置"
+ },
+ "markdown": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果请求了抓取时返回的 Markdown 内容"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回 HTML 内容"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "在 formats 中请求时返回原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "仅在通过 formats 请求时返回的链接"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果在 formats 中被请求,则返回截图 URL"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sourceURL": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "description": "搜索结果。可用的数组取决于你在请求中指定的数据源。默认情况下会返回 `web` 数组。"
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "发生问题时显示的警告信息"
+ }
+ }
+ }
+ }
+ }
+ },
+ "408": {
+ "description": "请求超时",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "error": {
+ "type": "string",
+ "example": "Request timed out"
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "服务器错误",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean",
+ "example": false
+ },
+ "code": {
+ "type": "string",
+ "example": "UNKNOWN_ERROR"
+ },
+ "error": {
+ "type": "string",
+ "example": "An unexpected error occurred on the server."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "Formats": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Markdown",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "markdown"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "html"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Raw HTML",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "rawHtml"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Links",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "links"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Summary",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ]
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是否捕获整页截图,或仅截取当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,取值范围为 1 到 100,100 为最高质量。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "视口宽度(像素)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "视口高度(以像素为单位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "JSON",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "json"
+ ]
+ },
+ "schema": {
+ "type": "object",
+ "description": "用于 JSON 输出的模式定义。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "用于生成 JSON 输出的提示"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Change Tracking",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "changeTracking"
+ ]
+ },
+ "modes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "git-diff",
+ "json"
+ ]
+ },
+ "description": "用于跟踪变更的模式。`git-diff` 会提供详细的差异信息,而 `json` 则会比较提取出的 JSON 数据。"
+ },
+ "schema": {
+ "type": "object",
+ "description": "在使用“json”模式进行 JSON 提取时所用的 schema,用于定义要提取和对比的数据结构。必须符合 [JSON Schema](https://json-schema.org/) 规范。"
+ },
+ "prompt": {
+ "type": "string",
+ "description": "在使用“json”模式进行变更跟踪时所用的提示词。如果未提供,则会使用默认提示词。"
+ },
+ "tag": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "用于变更跟踪的标签。标签可以将变更跟踪历史划分为不同的“分支”,带有特定标签的变更跟踪只会与同一标签下的抓取记录进行比较。如果未提供,将使用默认标签(null)。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ },
+ "description": "要在响应中包含的输出 formats。你可以指定一个或多个 formats,可以是字符串(例如 `'markdown'`),也可以是带有附加选项的对象(例如 `{ type: 'json', schema: {...} }`)。某些 formats 需要设置特定的选项。示例:`['markdown', { type: 'json', schema: {...} }]`。",
+ "default": [
+ "markdown"
+ ]
+ },
+ "ScrapeOptions": {
+ "type": "object",
+ "properties": {
+ "formats": {
+ "$ref": "#/components/schemas/Formats"
+ },
+ "onlyMainContent": {
+ "type": "boolean",
+ "description": "仅返回页面的主要内容,不包括页眉、导航栏、页脚等。",
+ "default": true
+ },
+ "includeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "在输出中需要包含的标签。"
+ },
+ "excludeTags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "要在输出中排除的标签。"
+ },
+ "maxAge": {
+ "type": "integer",
+ "description": "如果页面的缓存版本距离现在的时间未超过此处指定的毫秒数,则返回该缓存页面;如果缓存版本早于该时间阈值,则会重新抓取页面。如果你不需要极其最新的数据,启用此选项可以将抓取速度提升至原来的 5 倍。默认值为 2 天。",
+ "default": 172800000
+ },
+ "headers": {
+ "type": "object",
+ "description": "随请求一同发送的 Headers,可用于携带 cookies、User-Agent 等信息。"
+ },
+ "waitFor": {
+ "type": "integer",
+ "description": "指定在获取内容前的延迟时间(毫秒),以便页面有足够时间加载完成。",
+ "default": 0
+ },
+ "mobile": {
+ "type": "boolean",
+ "description": "若要模拟在移动设备上的抓取,请将其设置为 true。适用于测试响应式页面并获取移动端截图。",
+ "default": false
+ },
+ "skipTlsVerification": {
+ "type": "boolean",
+ "description": "在发送请求时跳过 TLS 证书验证",
+ "default": true
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "请求超时时间(毫秒)。"
+ },
+ "parsers": {
+ "type": "array",
+ "description": "控制在抓取过程中如何处理文件。当包含 \"pdf\"(默认)时,会提取 PDF 内容并转换为 Markdown 格式,按页数计费(每页 1 个积分)。当传入空数组时,PDF 文件将以 base64 编码形式返回,统一收取 1 个积分。",
+ "items": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ]
+ },
+ "default": [
+ "pdf"
+ ]
+ },
+ "actions": {
+ "type": "array",
+ "description": "在抓取页面内容之前需要执行的 actions",
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Wait",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "wait"
+ ],
+ "description": "等待指定的毫秒数"
+ },
+ "milliseconds": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "等待的毫秒数"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位该元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Screenshot",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "screenshot"
+ ],
+ "description": "进行截图。链接将位于响应的 `actions.screenshots` 数组中。"
+ },
+ "fullPage": {
+ "type": "boolean",
+ "description": "是否捕获整页截图,还是仅限当前视口。",
+ "default": false
+ },
+ "quality": {
+ "type": "integer",
+ "description": "截图质量,取值范围为 1 到 100,100 表示最高质量。"
+ },
+ "viewport": {
+ "type": "object",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "description": "视口的宽度(像素)"
+ },
+ "height": {
+ "type": "integer",
+ "description": "视口高度(以像素为单位)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Click",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "click"
+ ],
+ "description": "单击某个元素"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于定位该元素的查询选择器",
+ "example": "#load-more-button"
+ },
+ "all": {
+ "type": "boolean",
+ "description": "点击所有与选择器匹配的元素,而不仅仅是第一个。如果没有元素匹配该选择器,也不会抛出错误。",
+ "default": false
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Write text",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "write"
+ ],
+ "description": "在输入框、文本区域或 contenteditable 元素中写入文本。注意:在输入前,必须先通过“click”操作使该元素获得焦点。文本将按字符逐个输入,以模拟键盘输入。"
+ },
+ "text": {
+ "type": "string",
+ "description": "要输入的文本",
+ "example": "Hello, world!"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Press a key",
+ "description": "在页面上按下一个按键。按键代码请参见:https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html。",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "press"
+ ],
+ "description": "在页面上按下任意键"
+ },
+ "key": {
+ "type": "string",
+ "description": "按下的键",
+ "example": "Enter"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scroll",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scroll"
+ ],
+ "description": "滚动整个页面或某个特定元素"
+ },
+ "direction": {
+ "type": "string",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "description": "滚动方向",
+ "default": "down"
+ },
+ "selector": {
+ "type": "string",
+ "description": "用于滚动目标元素的查询选择器",
+ "example": "#my-element"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Scrape",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "scrape"
+ ],
+ "description": "抓取当前页面的内容,并返回其 URL 和 HTML。"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Execute JavaScript",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "executeJavascript"
+ ],
+ "description": "在页面上执行 JavaScript 代码"
+ },
+ "script": {
+ "type": "string",
+ "description": "要运行的 JavaScript 代码",
+ "example": "document.querySelector('.button').click();"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Generate PDF",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "pdf"
+ ],
+ "description": "生成当前页面的 PDF 文件。该 PDF 文件会在响应的 `actions.pdfs` 数组中返回。"
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "A0",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "A6",
+ "Letter",
+ "Legal",
+ "Tabloid",
+ "Ledger"
+ ],
+ "description": "生成的 PDF 的页面大小",
+ "default": "Letter"
+ },
+ "landscape": {
+ "type": "boolean",
+ "description": "是否以横向页面生成 PDF",
+ "default": false
+ },
+ "scale": {
+ "type": "number",
+ "description": "生成的 PDF 的缩放倍数",
+ "default": 1
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ ]
+ }
+ },
+ "location": {
+ "type": "object",
+ "description": "请求的地域设置。指定后,如果可用,将使用合适的代理,并模拟对应的语言和时区设置。如果未指定,默认值为“US”。",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "ISO 3166-1 alpha-2 两字母国家代码(例如:'US'、'AU'、'DE'、'JP')",
+ "pattern": "^[A-Z]{2}$",
+ "default": "US"
+ },
+ "languages": {
+ "type": "array",
+ "description": "按优先级排序的请求首选语言和区域设置。默认为指定位置的语言。详见 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
+ "items": {
+ "type": "string",
+ "example": "en-US"
+ }
+ }
+ }
+ },
+ "removeBase64Images": {
+ "type": "boolean",
+ "description": "从输出中移除所有 base64 图片,因为它们可能非常长。图片的 alt 文本会保留在输出中,但其 URL 会被占位符替代。",
+ "default": true
+ },
+ "blockAds": {
+ "type": "boolean",
+ "description": "启用广告拦截和 Cookie 弹窗拦截功能。",
+ "default": true
+ },
+ "proxy": {
+ "type": "string",
+ "enum": [
+ "basic",
+ "stealth",
+ "auto"
+ ],
+ "description": "指定要使用的代理类型。\n\n - **basic**:适用于抓取几乎没有或仅有基础反爬虫机制的网站的代理。速度快,通常能正常工作。\n - **stealth**:适用于抓取采用高级反爬虫机制的网站的隐身代理。速度较慢,但在某些站点上更可靠。每次请求最多消耗 5 个积分。\n - **auto**:如果 basic 代理抓取失败,Firecrawl 会自动改用 stealth 代理重试抓取。如果使用 stealth 的重试成功,本次抓取将收取 5 个积分;如果第一次使用 basic 就成功,则仅按常规费用计费。\n\n如果你不指定代理,Firecrawl 将默认使用 auto。",
+ "default": "auto"
+ },
+ "storeInCache": {
+ "type": "boolean",
+ "description": "如果为 true,该页面会存储到 Firecrawl 的索引和缓存中。当您的抓取活动可能涉及数据保护问题时,将其设置为 false 会很有用。使用与敏感抓取相关的一些参数(actions、headers)时,会被强制将该参数设为 false。",
+ "default": true
+ }
+ }
+ },
+ "ScrapeResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `formats` 中包含 `summary`,则返回页面摘要"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `html` 时的页面内容 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `formats` 中包含 `rawHtml`,则返回页面的原始 HTML 内容"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `formats` 中包含 `screenshot` 时的页面截图"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 `formats` 中包含 `links`,则为页面上的链接列表"
+ },
+ "actions": {
+ "type": "object",
+ "nullable": true,
+ "description": "`actions` 参数中指定的 actions 执行结果。仅当请求中包含 `actions` 参数时才会返回",
+ "properties": {
+ "screenshots": {
+ "type": "array",
+ "description": "截图 URL,按提供的 screenshot actions 的顺序排列。",
+ "items": {
+ "type": "string",
+ "format": "url"
+ }
+ },
+ "scrapes": {
+ "type": "array",
+ "description": "按照提供的 actions 顺序依次抓取内容。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "javascriptReturns": {
+ "type": "array",
+ "description": "按提供的 executeJavascript actions 顺序排列的 JavaScript 返回值。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "value": {}
+ }
+ }
+ },
+ "pdfs": {
+ "type": "array",
+ "description": "生成的 PDF 文件,其顺序与提供的 pdf actions 保持一致。",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ "
": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ },
+ "warning": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用 LLM Extraction 时可以显示。警告信息会告知你在提取过程中出现的任何问题。"
+ },
+ "changeTracking": {
+ "type": "object",
+ "nullable": true,
+ "description": "如果在 `formats` 中包含 `changeTracking`,则会提供变更追踪信息。仅在请求 `changeTracking` 格式时才会返回。",
+ "properties": {
+ "previousScrapeAt": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "当前页面要对比的上一次抓取的时间戳。如果不存在之前的抓取,则为 Null。"
+ },
+ "changeStatus": {
+ "type": "string",
+ "enum": [
+ "new",
+ "same",
+ "changed",
+ "removed"
+ ],
+ "description": "两个页面版本比较的结果。`new` 表示该页面之前不存在,`same` 表示内容没有变化,`changed` 表示内容发生了变化,`removed` 表示该页面已被移除。"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "description": "当前页面/URL 的可见性。\"visible\" 表示该 URL 是通过自然途径(链接或 sitemap)发现的,\"hidden\" 表示该 URL 是通过此前抓取结果的记忆中发现的。"
+ },
+ "diff": {
+ "type": "string",
+ "nullable": true,
+ "description": "在使用“git-diff”模式时的 Git 风格变更 diff。仅在模式设为“git-diff”时才会出现。"
+ },
+ "json": {
+ "type": "object",
+ "nullable": true,
+ "description": "在使用 `json` 模式时的 JSON 比较结果。仅当模式设置为 `json` 时才会提供。它会根据 `schema` 中定义的类型,输出 `previous` 和 `current` 抓取结果中所有键及其对应值的列表。示例见[此处](/features/change-tracking)。"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "当前爬取任务的状态。可能为 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "已成功爬取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次爬取消耗的积分数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "抓取任务失效的日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取下一个 10MB 数据块的 URL。如果抓取尚未完成,或响应大于 10MB,则会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "爬取结果数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,返回页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则为页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "页面上的链接列表(当 `includeLinks` 为 true 时)"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "`includeScreenshot` 为 true 时的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlErrorsResponseObj": {
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "抓取任务错误及其详细信息",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "nullable": true,
+ "description": "失败时的 ISO 时间戳"
+ },
+ "url": {
+ "type": "string",
+ "description": "已抓取 URL"
+ },
+ "error": {
+ "type": "string",
+ "description": "错误信息"
+ }
+ }
+ }
+ },
+ "robotsBlocked": {
+ "type": "array",
+ "description": "在抓取过程中尝试访问但被 robots.txt 拦截的 URL 列表",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BatchScrapeStatusResponseObj": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "批量抓取任务的当前状态。可能为 `scraping`、`completed` 或 `failed`。"
+ },
+ "total": {
+ "type": "integer",
+ "description": "尝试爬取的页面总数。"
+ },
+ "completed": {
+ "type": "integer",
+ "description": "已成功抓取的页面数量。"
+ },
+ "creditsUsed": {
+ "type": "integer",
+ "description": "本次批量抓取消耗的积分数量。"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "批量抓取的到期日期和时间。"
+ },
+ "next": {
+ "type": "string",
+ "nullable": true,
+ "description": "用于获取下一段 10MB 数据的 URL。当批量抓取尚未完成,或响应内容大于 10MB 时,会返回该字段。"
+ },
+ "data": {
+ "type": "array",
+ "description": "批量爬取的数据。",
+ "items": {
+ "type": "object",
+ "properties": {
+ "markdown": {
+ "type": "string"
+ },
+ "html": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeHtml` 为 true 时,页面内容的 HTML 版本"
+ },
+ "rawHtml": {
+ "type": "string",
+ "nullable": true,
+ "description": "如果 `includeRawHtml` 为 true,则页面的原始 HTML 内容"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "`includeLinks` 为 true 时返回的页面链接列表"
+ },
+ "screenshot": {
+ "type": "string",
+ "nullable": true,
+ "description": "当 `includeScreenshot` 为 true 时返回的页面截图"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string",
+ "nullable": true
+ },
+ "sourceURL": {
+ "type": "string",
+ "format": "uri"
+ },
+ " ": {
+ "type": "string"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "页面状态码"
+ },
+ "error": {
+ "type": "string",
+ "nullable": true,
+ "description": "页面错误信息"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "CrawlResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "BatchScrapeResponseObj": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则该字段是一个数组,包含请求中指定的所有无效 URL。若不存在无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则该字段将为 undefined。"
+ }
+ }
+ },
+ "MapResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExtractResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "invalidURLs": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "如果 ignoreInvalidURLs 为 true,则此字段是一个数组,包含请求中指定的无效 URL。若没有无效 URL,则该数组为空。若 ignoreInvalidURLs 为 false,则该字段为 undefined。"
+ }
+ }
+ },
+ "ExtractStatusResponse": {
+ "type": "object",
+ "properties": {
+ "success": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "object"
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "completed",
+ "processing",
+ "failed",
+ "cancelled"
+ ],
+ "description": "当前提取任务的状态"
+ },
+ "expiresAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tokensUsed": {
+ "type": "integer",
+ "description": "提取作业使用的 token 数量。仅在作业完成后可用。"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/zh/v1/features/alpha/llmstxt-npx.mdx b/zh/v1/features/alpha/llmstxt-npx.mdx
index 0790d119..9d978644 100644
--- a/zh/v1/features/alpha/llmstxt-npx.mdx
+++ b/zh/v1/features/alpha/llmstxt-npx.mdx
@@ -30,7 +30,6 @@ sidebarTitle: "使用 NPX 生成"
npx generate-llmstxt --api-key YOUR_FIRECRAWL_API_KEY
```
-
### 2. 使用环境变量
@@ -47,7 +46,6 @@ FIRECRAWL_API_KEY=your_api_key_here
npx generate-llmstxt
```
-
### 选项
@@ -75,7 +73,6 @@ npx generate-llmstxt -k your_api_key -u https://your-website.com -o custom/path/
npx generate-llmstxt -u https://your-website.com -o content/llms
```
-
## 要求
diff --git a/zh/v1/features/change-tracking.mdx b/zh/v1/features/change-tracking.mdx
index 113d2541..1c409fc9 100644
--- a/zh/v1/features/change-tracking.mdx
+++ b/zh/v1/features/change-tracking.mdx
@@ -69,7 +69,6 @@ console.log(result.changeTracking.previousScrapeAt); // 上次抓取的 ISO 时
}
```
-
### 高级选项
@@ -106,7 +105,6 @@ if (result.changeTracking.json) {
}
```
-
### Git diff 结果示例:
@@ -120,7 +118,6 @@ if (result.changeTracking.json) {
...
```
-
### JSON 比较结果示例:
@@ -134,7 +131,6 @@ if (result.changeTracking.json) {
}
```
-
### TypeScript 接口
@@ -183,7 +179,6 @@ interface ScrapeParams {
}
```
-
## Python SDK
@@ -208,7 +203,6 @@ print("可见性:", result.changeTracking.visibility) # 'visible' 或 'hidden
print("上次抓取时间:", result.changeTracking.previousScrapeAt) # 上次抓取的 ISO 时间戳
```
-
### 高级选项
@@ -243,7 +237,6 @@ if 'json' in result.changeTracking:
print(result.changeTracking.json.title.current) # 当前标题
```
-
### Python 数据模型
@@ -262,7 +255,6 @@ class ChangeTrackingData(pydantic.BaseModel):
json: Optional[Any] = None
```
-
## 变更跟踪模式
@@ -289,7 +281,6 @@ class ChangeTrackingData(pydantic.BaseModel):
* `chunks`:文件中的变更片段
* `changes`:逐行变更,包含类型(add、delete、normal)
-
### JSON 模式
@@ -313,7 +304,6 @@ class ChangeTrackingData(pydantic.BaseModel):
要使用 JSON 模式,你需要提供一个 schema,用于定义要提取和比较的字段。
-
## 重要提示
@@ -364,7 +354,6 @@ class ChangeTrackingData(pydantic.BaseModel):
}
```
-
### 爬虫示例
@@ -379,7 +368,6 @@ class ChangeTrackingData(pydantic.BaseModel):
}
```
-
### 跟踪商品价格变化
@@ -425,7 +413,6 @@ if result.changeTracking.changeStatus == 'changed':
print(f"价格从 {result.changeTracking.json.price.previous} 变为 {result.changeTracking.json.price.current}")
```
-
### 使用 Git-Diff 监控内容更改
@@ -459,7 +446,6 @@ if result.changeTracking.changeStatus == 'changed':
print(result.changeTracking.diff.text)
```
-
## 计费
diff --git a/zh/v1/features/extract.mdx b/zh/v1/features/extract.mdx
index d36ec3e0..783e9739 100644
--- a/zh/v1/features/extract.mdx
+++ b/zh/v1/features/extract.mdx
@@ -33,7 +33,6 @@ import ExtractWithoutURLsCURL from "/snippets/zh/v1/extract/base/curl.mdx";
我们已简化计费,现在 Extract 与其他端点一样使用积分。每个积分相当于 15 个 token。
-
diff --git a/zh/v1/features/search-v0.mdx b/zh/v1/features/search-v0.mdx
index 3e3dde48..05c95f81 100644
--- a/zh/v1/features/search-v0.mdx
+++ b/zh/v1/features/search-v0.mdx
@@ -66,7 +66,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
}
```
-
### 使用 Python SDK
@@ -79,7 +78,6 @@ curl -X POST https://api.firecrawl.dev/v0/search \
pip install firecrawl-py
```
-
#### 搜索查询语句
@@ -94,7 +92,6 @@ result = app.search(query="什么是 Firecrawl?")
响应将与上方 curl 命令所示示例的结果类似。
-
### 使用 JavaScript SDK
@@ -107,7 +104,6 @@ result = app.search(query="什么是 Firecrawl?")
npm install @mendable/firecrawl-js
```
-
#### 搜索查询
```javascript
@@ -122,7 +118,6 @@ const result = await app.search('什么是 Firecrawl?');
响应将类似于上方 curl 命令所示的结果。
-
### 使用 Go SDK
@@ -135,7 +130,6 @@ const result = await app.search('什么是 Firecrawl?');
go get github.com/mendableai/firecrawl-go
```
-
#### 搜索查询
```go
@@ -161,7 +155,6 @@ func main() {
}
```
-
### 使用 Rust SDK
@@ -184,7 +177,6 @@ uuid = { version = "^1.10", features = ["v4"] }
tokio = { version = "1", features = ["full"] }
```
-
#### 搜索查询语句
diff --git a/zh/webhooks/events.mdx b/zh/webhooks/events.mdx
index ce85449e..16575d6f 100644
--- a/zh/webhooks/events.mdx
+++ b/zh/webhooks/events.mdx
@@ -24,7 +24,6 @@ icon: "bolt"
}
```
-
### 通用字段
@@ -60,7 +59,6 @@ icon: "bolt"
}
```
-
### `crawl.page`
@@ -99,7 +97,6 @@ icon: "bolt"
事件。
-
### `crawl.completed`
@@ -116,7 +113,6 @@ icon: "bolt"
}
```
-
## 批量抓取事件
@@ -139,7 +135,6 @@ icon: "bolt"
}
```
-
### `batch_scrape.page`
@@ -178,7 +173,6 @@ icon: "bolt"
`batch_scrape.page` 事件。
-
### `batch_scrape.completed`
@@ -195,7 +189,6 @@ icon: "bolt"
}
```
-
@@ -218,7 +211,6 @@ icon: "bolt"
}
```
-
@@ -247,7 +239,6 @@ icon: "bolt"
}
```
-
@@ -265,7 +256,6 @@ icon: "bolt"
}
```
-
## 事件过滤
diff --git a/zh/webhooks/testing.mdx b/zh/webhooks/testing.mdx
index 4d8e6deb..ccffec9d 100644
--- a/zh/webhooks/testing.mdx
+++ b/zh/webhooks/testing.mdx
@@ -43,7 +43,6 @@ cloudflared tunnel --url localhost:3000
}
```
-
## 常见问题排查
diff --git a/zh/x402/search.mdx b/zh/x402/search.mdx
index 8a6ac2ff..e5b3d904 100644
--- a/zh/x402/search.mdx
+++ b/zh/x402/search.mdx
@@ -1,6 +1,6 @@
---
title: '按需搜索'
-openapi: 'v1-openapi POST /x402/search'
+openapi: '/zh/api-reference/v1-openapi.json V1-OPENAPI POST /x402/search'
---