Saltar al contenido

CrawlForge TeamEquipo de Ingeniería

10 min de lectura

Web scraping desde la CLI: la guía de la CLI de CrawlForge

A la mayoría de las herramientas de IA les encanta ser agentes. La CLI de CrawlForge está construida para lo contrario: scriptable, pensada para la terminal, predecible. La instalas, configuras una variable de entorno y 17 de las 31 herramientas de CrawlForge se convierten en comandos de shell. JSON de entrada, JSON de salida. Canalízalo a jq, prográmalo con cron, ejecútalo en CI: funciona igual en todas partes.

Tabla de contenidos

¿Qué es la CLI de CrawlForge?

La CLI de CrawlForge se incluye dentro del paquete crawlforge-mcp-server como el comando crawlforge y expone 17 de las 31 herramientas de CrawlForge como comandos de terminal. Una sola instalación global te da tanto el MCP server como la CLI. No necesita un proceso de larga duración ni un cliente MCP: escribes crawlforge scrape <url>, hace una llamada HTTPS a la API de CrawlForge e imprime JSON en stdout. Esa es toda la historia.

Existe porque la mitad del trabajo de scraping que hace la gente no tiene forma de agente. Cron jobs, pasos de CI, investigación puntual, extracciones ad-hoc desde un shell: esos quieren comandos de toda la vida, no un handshake de JSON-RPC.

Instálala en 30 segundos

Bash
npm install -g crawlforge-mcp-server
export CRAWLFORGE_API_KEY="cf_live_your_key_here"
crawlforge --help

Eso es todo. Sin archivo de configuración, sin flujo de autenticación, sin servicio que iniciar. Si aún no tienes una API key, consigue una en crawlforge.dev/signup: obtienes 1.000 credits gratis al registrarte.

Para hacer la variable de entorno permanente en macOS o Linux:

Bash
echo 'export CRAWLFORGE_API_KEY="cf_live_..."' >> ~/.zshrc
source ~/.zshrc

En Windows (PowerShell):

Powershell
[Environment]::SetEnvironmentVariable("CRAWLFORGE_API_KEY", "cf_live_...", "User")

Los 16 comandos de un vistazo

Cada comando se asigna a una o más herramientas de CrawlForge:

ComandoHerramienta principalCreditsEjemplo
scrapefetch_url, extract_content1-2crawlforge scrape https://example.com
searchsearch_web5crawlforge search "MCP servers 2026"
crawlcrawl_deep4crawlforge crawl https://docs.example.com --depth 3
mapmap_site2crawlforge map https://example.com
extractextract_with_llm3crawlforge extract <url> --schema schema.json
tracktrack_changes3crawlforge track <url> --threshold 10
analyzeanalyze_content3crawlforge analyze <url>
researchdeep_research10crawlforge research "AI agents in 2026"
stealthstealth_mode5crawlforge stealth <url>
batchbatch_scrape5crawlforge batch urls.txt
actionsscrape_with_actions5crawlforge actions <url> --script steps.json
browserbrowser_session5+crawlforge browser <url> --steps steps.json
localizelocalization2crawlforge localize <url> --country DE
llmstxtgenerate_llms_txt5crawlforge llmstxt https://example.com
templatescrape_template1crawlforge template amazon-product <url>
monitortrack_changes3crawlforge monitor <url> --interval 3600

Tu primer scrape

La llamada más simple posible:

Bash
crawlforge scrape https://news.ycombinator.com

Lo que devuelve es el contenido principal de la página en formato JSON:

Json
{
  "url": "https://news.ycombinator.com",
  "title": "Hacker News",
  "content": "Hacker News new | past | comments | ask...",
  "links": ["https://news.ycombinator.com/from?site=...", "..."],
  "fetched_at": "2026-05-21T10:14:33Z",
  "credits_used": 1
}

¿Solo quieres las URLs? Canalízalo a jq:

Bash
crawlforge scrape https://news.ycombinator.com --json | jq '.links[]'

¿Lo quieres en un archivo? Redirige stdout:

Bash
crawlforge scrape https://news.ycombinator.com --pretty > hn.json

Canalizar la salida JSON a jq

Este es el flujo de trabajo que hace que valga la pena instalar la CLI. Todo produce JSON, y el JSON se canaliza a cualquier cosa.

Obtén los títulos de las historias de la portada de HN:

Bash
crawlforge template hacker-news-front-page https://news.ycombinator.com --json \
  | jq -r '.stories[] | .title'

Busca en la web y extrae las URLs:

Bash
crawlforge search "best web scraping libraries 2026" --json \
  | jq '.results[] | .url'

Haz scraping de una página y cuenta las palabras:

Bash
crawlforge scrape https://example.com --json \
  | jq -r '.content' \
  | wc -w

Haz scraping por lotes y luego filtra las respuestas con error:

Bash
crawlforge batch urls.txt --json \
  | jq '.results[] | select(.status_code >= 400)'

El patrón: --json te da salida legible por máquina, y luego jq la corta y la procesa.

Programar con Cron

Una comprobación diaria de la página de precios de un competidor:

Bash
# crontab -e
0 9 * * * /usr/local/bin/crawlforge track https://competitor.com/pricing --json > /var/log/pricing.json

Una ejecución de investigación nocturna:

Bash
0 2 * * * /usr/local/bin/crawlforge research "AI tooling news" --depth standard --pretty > /var/log/research.json

Una regeneración semanal de llms.txt para tu propio sitio:

Bash
0 3 * * 0 /usr/local/bin/crawlforge llmstxt https://yoursite.com --include-full > /var/www/yoursite.com/llms.txt

¿En CI? Usa los mismos comandos en tu YAML de GitHub Actions. La CLI comprueba primero CRAWLFORGE_API_KEY, así que solo configúralo como un secreto del repositorio.

Yaml
# .github/workflows/daily-research.yml
- name: Run weekly research
  env:
    CRAWLFORGE_API_KEY: ${{ secrets.CRAWLFORGE_API_KEY }}
  run: |
    npm install -g crawlforge-mcp-server
    crawlforge research "industry news" --depth standard --pretty > report.json

CLI vs MCP vs API directa: cuándo usar cada una

Flujo de trabajoUsa la CLIUsa MCPUsa la API directa
Scrape puntual desde tu terminalsínono
Cron job o paso de CIsínosolo si lo necesitas
Agente de Claude / Cursor / Windsurfnosíno
Integrado en un servicio Node/Pythonnosolo si tiene forma de MCPsí
Worker en segundo plano de larga duraciónnonosí
Exploración rápida de un sitio desconocidosíquizásno

Regla general: si un humano está escribiendo el comando, usa la CLI. Si un LLM está seleccionando la herramienta, usa MCP. Si un servidor la está llamando en un bucle, usa la API directa.

Tres flujos de trabajo del mundo real

1. Monitor de precios de la competencia

Un script de shell que se ejecuta a diario, hace scraping de tres páginas de precios de competidores, las compara con la instantánea de ayer y publica en Slack si algo cambió.

Bash
#!/bin/bash
for url in $(cat competitors.txt); do
  crawlforge track "$url" --json \
    > "snapshots/$(date +%F)-$(basename $url).json"
done

# Diff against yesterday's snapshot
diff "snapshots/$(date -v-1d +%F)-pricing.json" \
     "snapshots/$(date +%F)-pricing.json" \
  || curl -X POST $SLACK_WEBHOOK -d '{"text": "Pricing changed"}'

Costo: ~9 credits por día (3 competidores × 3 credits por track).

2. Enriquecimiento de leads desde un CSV

Lee un CSV de dominios de empresas, haz scraping de la página de inicio de cada una en busca de información de contacto y escribe los datos enriquecidos de vuelta.

Bash
while IFS=, read -r company domain; do
  data=$(crawlforge scrape "https://$domain" --json)
  email=$(echo "$data" | jq -r '.metadata.contact_email // empty')
  echo "$company,$domain,$email" >> enriched.csv
done < companies.csv

Costo: 1 credit por empresa.

3. Pipeline de informe de investigación

Un cron de los domingos por semana que ejecuta una consulta research y envía por correo el resumen sintetizado al equipo.

Bash
crawlforge research "AI agent frameworks news this week" --depth deep --pretty > report.json
jq -r '.summary' report.json \
  | mail -s "Weekly AI report" team@example.com

Costo: 10 credits por ejecución (research incluye el resumen sintetizado).

Referencia de flags globales

Estos funcionan en cada comando:

  • --json -- JSON compacto y legible por máquina (apto para canalizar)
  • --pretty -- JSON con formato legible
  • --quiet -- suprime toda la salida de stdout (solo código de salida)
  • --api-key <key> -- anula la variable de entorno CRAWLFORGE_API_KEY
  • --timeout <ms> -- anula el timeout predeterminado de 30s

Para escribir los resultados en un archivo, redirige stdout: crawlforge scrape <url> --pretty > out.json.

Cuánto cuesta

La CLI en sí es gratis. Solo pagas por las llamadas a las herramientas subyacentes, facturadas contra tu saldo de credits existente. Sin suscripción extra, sin tarifa por invocación. Un cron diario que ejecuta track contra tres URLs y research una vez por semana cuesta aproximadamente 100 credits al mes: meses de margen incluso con el plan gratuito de 1.000 credits por única vez.

La lista completa de comandos, las opciones globales y los métodos de inicio de sesión están en la documentación de CrawlForge CLI.


¿Listo para instalarla? Consigue tu API key gratis en crawlforge.dev/signup y ejecuta npm install -g crawlforge-mcp-server. ¿Nuevo por aquí? Lee el anuncio de lanzamiento de la v4.2.2 para conocer todo lo nuevo, o el quickstart original de MCP para la versión MCP en su lugar.

Pruébalo tú mismo — sin necesidad de registrarte

Explora las 31 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.

1,000 credits gratis • Por única vez • No se requiere tarjeta de crédito

Etiquetas

  • CLI
  • web-scraping
  • tutorial
  • terminal
  • automation
  • scripting

Sobre el autor

CrawlForge Team

Equipo de Ingeniería

Construimos el MCP server de web scraping más completo. Creamos herramientas que ayudan a los desarrolladores a extraer, analizar y transformar datos web para aplicaciones de IA.

Newsletter

Mantente al día con los últimos artículos

Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.

Sin spam. Cancela tu suscripción cuando quieras.

FAQ

Preguntas frecuentes

01¿Es gratis la CLI de CrawlForge?

El paquete de la CLI en sí es gratuito y abierto. Solo pagas por las llamadas a las herramientas subyacentes, facturadas contra tu saldo normal de credits de CrawlForge, igual que harías desde MCP o la API directa. No hay tarifa extra por invocación.

02¿Necesito una API key de CrawlForge para usar la CLI?

Sí. La CLI lee la variable de entorno CRAWLFORGE_API_KEY en cada llamada. Consigue una clave gratis en crawlforge.dev/signup (sin tarjeta de crédito) y configúrala una vez en el perfil de tu shell.

03¿Puedo usar la CLI de CrawlForge en pipelines de CI/CD?

Sí, este es uno de sus casos de uso principales. Instala con "npm install -g crawlforge-mcp-server" en tu runner de CI, configura CRAWLFORGE_API_KEY como un secreto del repositorio y ejecuta cualquier comando. Funciona igual en GitHub Actions, GitLab CI, CircleCI y Jenkins.

04¿En qué se diferencia la CLI de CrawlForge de curl?

curl te da HTML en bruto. La CLI de CrawlForge devuelve JSON estructurado: contenido limpio, metadatos extraídos, enlaces, encabezados y campos específicos de cada herramienta como resultados de búsqueda, resúmenes de investigación o datos de producto extraídos con plantillas. También maneja defensas anti-bot, modo stealth y automatización de navegador, todo lo que curl no puede hacer.

05¿La CLI cubre todas las herramientas de CrawlForge?

No. Los 16 comandos cubren 17 de las 31 herramientas de CrawlForge: las que encajan en una llamada puntual desde la terminal. Algunos comandos exponen más de una herramienta mediante flags: "crawlforge extract" se asigna a extract_with_llm con --prompt y a extract_structured con --schema, y "crawlforge scrape" se asigna a fetch_url por defecto y a extract_content con --extract. El resto están disponibles vía MCP o la API REST.

06¿Puede la CLI de CrawlForge producir datos estructurados para parsear?

Sí, pasa --json en cualquier comando y la salida es JSON limpio apto para canalizar a jq o cualquier herramienta compatible con JSON. Usa --pretty para un formato legible por humanos, o redirige stdout a un archivo (crawlforge scrape <url> --pretty > out.json).

Sigue leyendo

Artículos relacionados

Tutoriales

8m

Cómo usar CrawlForge con Make y Zapier

Conecta CrawlForge a Make (Integromat) y Zapier para automatizar el web scraping. Configuración sin código con módulos HTTP, webhooks y ejemplos de flujos de trabajo.

Tutoriales

11m

Cómo hacer un análisis de brecha de palabras clave con un MCP server

Monta un análisis de brecha de palabras clave reproducible con serp_rank y search_web sobre MCP: posiciones orgánicas reales, clasificación del tipo de página de la competencia y las trampas que hacen que casi toda la investigación de keywords esté mal.