agent
Investigación y extracción autónomas a partir de un prompt en lenguaje natural, sin necesidad de URLs. El agente planifica sus propios pasos, encuentra y lee sus propias fuentes y da forma a una respuesta dentro de los límites estrictos maxSteps y maxUrls que usted define.
Casos de uso
Investigación abierta
Responda preguntas que abarcan sitios que aún no ha identificado: el agente descubre sus propias fuentes en lugar de recibir una lista de URLs.
Instantáneas competitivas
Pida los niveles de precios actuales o el conjunto de funciones de un competidor y obtenga una respuesta sintetizada en lugar de un montón de HTML sin procesar.
Autonomía acotada
maxSteps (límite estricto 10) y maxUrls (límite estricto 20) acotan cada ejecución, por lo que nunca puede superar el presupuesto que usted define.
Respuestas legibles por máquina
Pase un schema cuando el resultado alimente un sistema posterior en lugar de a un lector humano, y el agente devuelve un objeto estructurado en vez de prosa.
Endpoint
/api/v1/tools/agentParameters
maxSteps (límite estricto 10) y maxUrls (límite estricto 20) los aplica la herramienta, no son sugerencias que se pasan al modelo. Una ejecución puede superar la ventana de ~50 segundos de la API REST (la herramienta subyacente permite hasta 120s), así que mantenga ambos valores bajos en REST, o ejecute los trabajos largos, y el modelo pro, en el servidor MCP de CrawlForge.| Name | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Required | - | Tarea o pregunta en lenguaje natural que el agente debe responder. De 1 a 2000 caracteres. Example: Find the current pricing tiers for the top 3 MCP web-scraping providers |
urls | array | Optional | - | URLs semilla opcionales para incluir en la ejecución: el agente sigue descubriendo sus propias fuentes más allá de estas. Hasta 20. Example: ["https://example.com/pricing"] |
schema | object | Optional | - | Esquema JSON opcional. Proporcione uno para obtener un objeto estructurado en `answer` en lugar de prosa. |
model | string | Optional | "default" | `default` ejecuta el bucle de planificación integrado. `pro` es **rechazado por la API REST** —requiere confirmación interactiva—, así que ejecute pro en el servidor MCP de CrawlForge. Example: default |
maxSteps | number | Optional | 5 | Número máximo de iteraciones de obtención que puede realizar el agente. Límite estricto 10. Example: 5 |
maxUrls | number | Optional | 10 | Número máximo de URLs que el agente puede obtener. Límite estricto 20. Example: 10 |
Ejemplos de solicitud
cURL
curl -X POST https://crawlforge.dev/api/v1/tools/agent \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Find the current pricing tiers for the top 3 MCP web-scraping providers",
"maxSteps": 5,
"maxUrls": 10
}'TypeScript
// npm install crawlforge-sdk
import { CrawlForge } from 'crawlforge-sdk';
const client = new CrawlForge({ apiKey: process.env.CRAWLFORGE_API_KEY });
const result = await client.agent({
prompt: 'Find the current pricing tiers for the top 3 MCP web-scraping providers',
maxSteps: 5, // fetch iterations, hard cap 10
maxUrls: 10, // URLs to fetch, hard cap 20
// Optional: seed the run with URLs you already trust (max 20)
// urls: ['https://example.com/pricing'],
// Optional: pass a JSON schema to get a structured answer instead of prose
// schema: { type: 'object', properties: { /* ... */ } },
});
// result.data is untyped in crawlforge-sdk 0.1 — its shape is the Response Example below.
const { answer, steps_taken, sources } = result.data as {
answer: string; steps_taken: number; sources: { url: string; title: string }[];
};
console.log('Answer:', answer);
console.log('Steps taken:', steps_taken);
console.log('Sources read:', sources);
console.log('Credits used:', result.creditsUsed);
console.log('Credits remaining:', result.creditsRemaining);Python
# pip install crawlforge
from crawlforge import CrawlForge
client = CrawlForge() # reads CRAWLFORGE_API_KEY
result = client.agent(
prompt='Find the current pricing tiers for the top 3 MCP web-scraping providers',
maxSteps=5, # fetch iterations, hard cap 10
maxUrls=10, # URLs to fetch, hard cap 20
# Optional: seed the run with URLs you already trust (max 20)
# urls=['https://example.com/pricing'],
# Optional: pass a JSON schema to get a structured answer instead of prose
# schema={'type': 'object', 'properties': {}},
)
# result.data is a plain dict — its shape is the Response Example below.
print(f"Answer: {result.data['answer']}")
print(f"Steps taken: {result.data['steps_taken']}")
print(f"Sources read: {result.data['sources']}")
print(f"Credits used: {result.credits_used}")
print(f"Credits remaining: {result.credits_remaining}")Ejemplo de respuesta
{ "success": true, "data": { "answer": "## Pricing comparison\n\n- **CrawlForge** — Free (1,000 credits), Hobby $19/mo, Professional $99/mo...", "sources": [ { "url": "https://example.com/pricing", "title": "Example — Pricing" }, { "url": "https://example.org/plans", "title": "Example Org — Plans" } ], "steps_taken": 3, "urls_fetched": 5 }, "credits_used": 8, "credits_remaining": 992, "processing_time": 13820}data.answerLa respuesta sintetizada: prosa de forma predeterminada, o un objeto estructurado cuando pasa un `schema`data.sourcesTodas las fuentes que leyó el agente al responder: úselas para auditar la procedenciadata.steps_takenCuántas iteraciones de obtención utilizó realmente la ejecucióndata.urls_fetchedCuántas URLs obtuvo el agente al respondercredits_usedCredits descontados por esta ejecución (8 por ejecución, sin importar los pasos realizados)credits_remainingSu saldo de credits restanteManejo de errores
Entrada no válida (400 Bad Request)
Falta el prompt o está fuera del rango de 1 a 2000 caracteres, maxSteps/maxUrls están fuera de rango, o model está fijado en pro, que la API REST rechaza porque requiere confirmación interactiva.
Fallo en la ejecución del agente (500 Internal Server Error)
No se pudo completar la ejecución. No se descuentan credits por una ejecución fallida: reinténtelo con un prompt más acotado o un maxSteps menor.
Credits insuficientes (402 Payment Required)
Su cuenta no tiene suficientes credits. Compre más credits o mejore su plan.
Límite de velocidad superado (429 Too Many Requests)
Ha superado el límite de velocidad de su plan. Espere un momento o mejore su plan para obtener límites más altos.
maxSteps y maxUrls bajos en REST; para ejecuciones largas o el modelo pro, use el servidor MCP de CrawlForge.Coste en credits
Plan Free: 1,000 credits por única vez = 125 ejecuciones
Plan Hobby: 5.000 credits/mes = 625 ejecuciones (19 USD/mes)
Plan Professional: 50.000 credits/mes = 6.250 ejecuciones (99 USD/mes)
Plan Business: 250.000 credits/mes = 31.250 ejecuciones (399 USD/mes)