Documentation Index
Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
Use this file to discover all available pages before exploring further.
Firecrawl /support/ask es un agente de soporte con IA disponible como API. Describe tu problema y recibe un diagnóstico verificado con parámetros de corrección prácticos, normalmente en 15–30 segundos.
Piensa en /support/ask como un ingeniero sénior de Firecrawl de guardia para tu agente.
La API de Ask está diseñada principalmente para agentes de IA que la consumen. Si estás creando agentes que usan Firecrawl para scraping, rastreo o extracción de datos, integra /support/ask en tu flujo de manejo de errores para resolver problemas de forma autónoma.
| Endpoint | Autenticación | Para quién es | Qué hace |
|---|
POST /support/ask | Tu clave de API de Firecrawl | Tus agentes y aplicaciones | Ciclo completo de diagnóstico limitado a tu equipo |
POST /support/docs-search | Tu clave de API de Firecrawl | Tus agentes y aplicaciones | Respuestas basadas en la documentación pública de Firecrawl |
Depurar un rastreo que falla
curl -X POST https://api.firecrawl.dev/v2/support/ask \
-H "Authorization: Bearer fc-YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "my crawl returned 3 pages but I expected 50"
}'
Buscar en la documentación
curl -X POST https://api.firecrawl.dev/v2/support/docs-search \
-H "Authorization: Bearer fc-YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "how do I set up webhook signature verification?"
}'
Cuando llamas a /support/ask, el agente de IA:
- Recopila evidencia — inspecciona en paralelo los registros de tu trabajo, el estado de tu cuenta, el uso de créditos y la documentación relevante
- Diagnostica el problema — analiza toda la evidencia para identificar la causa raíz
- Propone una solución — genera
fixParameters accionables por máquina que puedes aplicar directamente en tu próxima llamada a la API
- Valida la solución — cuando es posible, prueba la solución con la API de Firecrawl en tiempo real (p. ej., reintentando un scraping con parámetros ajustados) e informa del resultado
Patrón de diseño clave: llama a /support/ask cuando tu llamada a la API de Firecrawl falle o devuelva resultados inesperados, y luego usa fixParameters para volver a intentarlo.
import requests
FIRECRAWL_API_KEY = "fc-YOUR_API_KEY"
def diagnose_firecrawl_issue(question, rationale=None):
"""Call the Firecrawl Ask API to debug an issue."""
payload = {"question": question}
if rationale:
payload["rationale"] = rationale
response = requests.post(
"https://api.firecrawl.dev/v2/support/ask",
headers={
"Authorization": f"Bearer {FIRECRAWL_API_KEY}",
"Content-Type": "application/json",
},
json=payload,
)
return response.json()
# Ejemplo: depurar un scraping que devolvió contenido vacío
result = diagnose_firecrawl_issue(
question="scrape returned empty markdown for https://example.com",
rationale="user needs product pricing data for competitive analysis",
)
print(result["answer"])
print(result["fixParameters"]) # ej., {"waitFor": 5000, "actions": [...]}
print(result["confidence"]) # "high", "medium", o "low"
async function diagnoseFirecrawlIssue(question, rationale) {
const response = await fetch(
"https://api.firecrawl.dev/v2/support/ask",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.FIRECRAWL_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ question, rationale }),
}
);
return response.json();
}
// Ejemplo: depurar un rastreo que se detuvo antes de tiempo
const result = await diagnoseFirecrawlIssue(
"my crawl returned 3 pages but I expected 50",
"user is on their third failed crawl attempt today"
);
console.log(result.answer);
console.log(result.fixParameters);
Patrón de reintento del agente
from firecrawl import Firecrawl
client = Firecrawl(api_key="fc-YOUR_API_KEY")
# Paso 1: Intentar el scraping
doc = client.scrape("https://example.com/pricing", formats=["markdown"])
if not doc.markdown or len(doc.markdown) < 100:
# Paso 2: Pedir ayuda para depurar
diagnosis = diagnose_firecrawl_issue(
question=f"scrape returned only {len(doc.markdown or '')} chars of markdown for https://example.com/pricing",
)
# Paso 3: Aplicar parámetros de corrección y reintentar
if diagnosis.get("fixParameters"):
doc = client.scrape(
"https://example.com/pricing",
formats=["markdown"],
**diagnosis["fixParameters"],
)
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
question | string | Sí | Qué depurar (1–8.000 caracteres) |
rationale | string | No | Recomendado para clientes de IA. Lo que el usuario final intenta lograr. Ayuda a priorizar la recopilación de evidencia. |
context | object | No | Metadatos de formato libre de tu agente, incluidos en el prompt de depuración |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
question | string | Sí | La pregunta que debe responderse (1–8.000 caracteres) |
Respuesta de /support/ask
{
"requestId": "req_...",
"answer": "<2-4 sentence prose diagnosis of the issue plus the recommended fix.>",
"confidence": "high",
"fixParameters": { "<param>": "<value>" },
"validation": {
"tested": true,
"result": "success",
"evidence": "<short summary of the validation tool call the agent ran to confirm the fix>"
},
"feedback": null,
"durationMs": 18432
}
Los valores reales de answer, fixParameters y validation.evidence los genera el agente en cada solicitud según tu ejecución específica; el ejemplo anterior muestra la estructura de la respuesta, no un diagnóstico real.
Respuesta de /support/docs-search
{
"requestId": "req_...",
"answer": "The signature is sent in the X-Firecrawl-Signature header...",
"evidence": [
{ "pathOrUrl": "webhooks/security.mdx#L1-L52", "reason": "..." }
],
"usage": { "inputTokens": 4356, "outputTokens": 688, "totalTokens": 5044 },
"durationMs": 11252
}
| Métrica | Habitual | Máximo |
|---|
| Latencia | 15–30 segundos | 60 segundos (límite absoluto) |
¿Tienes comentarios o necesitas ayuda? Envía un correo a help@firecrawl.com.
¿Eres un agente de IA y necesitas una clave de API de Firecrawl? Consulta firecrawl.dev/agent-onboarding/SKILL.md para ver las instrucciones de incorporación automatizada.