CrawlForge MCP
Herramienta BásicaMultiformato2 credits

scrape

Extracción multiformato unificada con una sola descarga. Pida a una única carga de página markdown, HTML, HTML sin procesar, texto, enlaces, metadatos, una captura de pantalla o JSON: todos los formatos solicitados se sirven desde la misma descarga, y un formato que falle se devuelve como aviso en lugar de hacer fallar toda la llamada.

Casos de uso

Una llamada en lugar de cuatro

Obtenga markdown, enlaces y metadatos de una página en una sola solicitud en lugar de encadenar fetch_url, extract_links y extract_metadata.

Markdown listo para LLM

Solicite markdown con onlyMainContent activado para enviar texto de página limpio y sin plantilla directamente a una canalización RAG o a un prompt.

Instantáneas de archivo

Pida rawHtml y screenshot juntos para capturar tanto el estado legible por máquina como el estado visual de una página.

Canalizaciones resilientes

Los warnings por formato dejan pasar un resultado parcial: una captura de pantalla fallida nunca descarta el markdown que ya pagó.

Endpoint

POST/api/v1/tools/scrape
Auth Required
1 req/s en el plan Free
2 credits

Parameters

Todos los formatos solicitados se sirven desde una única descarga de la página, por lo que pedir seis formatos cuesta los mismos 2 credits que pedir uno.
NameTypeRequiredDefaultDescription
url
stringRequired-
La URL que se va a extraer (debe incluir el protocolo: http:// o https://)
Example: https://example.com
formats
arrayOptional["markdown"]
Formatos de salida que se devolverán. Uno o varios de `markdown`, `html`, `rawHtml`, `text`, `links`, `metadata`, `screenshot`, `json-schema`.
Example: ["markdown", "links", "metadata"]
onlyMainContent
booleanOptionaltrue
Elimina la navegación, los encabezados y los pies de página para devolver solo el contenido principal del artículo.
Example: true

Ejemplos de solicitud

cURL

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/scrape \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "links", "metadata"],
    "onlyMainContent": true
  }'

TypeScript

scrape.tsTypescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/scrape', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://example.com',
    formats: ['markdown', 'links', 'metadata'],
    onlyMainContent: true,
  }),
});

const data = await response.json();

if (data.success) {
  console.log('Markdown:', data.data.markdown);
  console.log('Links found:', data.data.links.length);
  console.log('Title:', data.data.metadata.title);

  // A 200 with warnings is a PARTIAL success — some formats came back, others didn't.
  if (data.data.warnings.length > 0) {
    console.warn('Partial result:', data.data.warnings);
  }

  console.log('Credits used:', data.credits_used);
  console.log('Credits remaining:', data.credits_remaining);
} else {
  console.error('Error:', data.error);
}

Python

scrape.pyPython
import requests
import os

response = requests.post(
    'https://crawlforge.dev/api/v1/tools/scrape',
    headers={
        'X-API-Key': os.environ['CRAWLFORGE_API_KEY'],
        'Content-Type': 'application/json',
    },
    json={
        'url': 'https://example.com',
        'formats': ['markdown', 'links', 'metadata'],
        'onlyMainContent': True
    }
)

data = response.json()

if data['success']:
    print(f"Markdown: {data['data']['markdown']}")
    print(f"Links found: {len(data['data']['links'])}")
    print(f"Title: {data['data']['metadata']['title']}")

    # A 200 with warnings is a PARTIAL success — some formats came back, others didn't.
    if data['data']['warnings']:
        print(f"Partial result: {data['data']['warnings']}")

    print(f"Credits used: {data['credits_used']}")
    print(f"Credits remaining: {data['credits_remaining']}")
else:
    print(f"Error: {data['error']}")

Ejemplo de respuesta

200 OK412ms
{
"success": true,
"data": {
"url": "https://example.com",
"onlyMainContent": true,
"formats": [
"markdown",
"links",
"metadata"
],
"markdown": "# Example\n\nMain content scraped from https://example.com.",
"links": [
"https://example.com/about",
"https://example.com/pricing"
],
"metadata": {
"title": "Example",
"description": "Page at https://example.com"
},
"warnings": []
},
"credits_used": 2,
"credits_remaining": 998,
"processing_time": 412
}
Field Descriptions
data.formatsRefleja los formatos que se solicitaron
data.markdownContenido principal convertido a markdown (presente cuando se solicita `markdown`)
data.linksTodos los enlaces descubiertos en la página (presente cuando se solicita `links`)
data.metadataTítulo, descripción y etiquetas meta (presente cuando se solicita `metadata`)
data.warningsUna entrada por cada formato que no se pudo producir. Un array vacío significa que todos los formatos solicitados tuvieron éxito.
credits_usedCredits descontados por esta solicitud (2 por extracción, sin importar el número de formatos)
credits_remainingSu saldo de credits restante

Manejo de errores

Entrada no válida (400 Bad Request)

El formato de la URL no es válido, o formats contiene un valor fuera de la lista admitida. Se requiere al menos un formato cuando se envía el campo.

URL bloqueada (403 Forbidden)

El destino se resolvió en una dirección privada, interna o de enlace local y fue rechazado por la protección SSRF. Solo se pueden extraer URLs accesibles públicamente.

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.

Consejo profesional: Revise data.warnings en cada respuesta. Un 200 con un array warnings no vacío significa que algunos formatos se devolvieron y otros no: trátelo como éxito parcial, no como fallo.

Coste en credits

2 credits
2 credits por solicitud
Cada solicitud correcta de scrape cuesta 2 credits sin importar cuántos formatos solicite, porque todos los formatos se sirven desde una sola descarga.

Plan Free: 1,000 credits por única vez = 500 solicitudes

Plan Hobby: 5.000 credits/mes = 2.500 solicitudes (19 USD/mes)

Plan Professional: 50.000 credits/mes = 25.000 solicitudes (99 USD/mes)

Plan Business: 250.000 credits/mes = 125.000 solicitudes (399 USD/mes)

Herramientas relacionadas

fetch_url
Descarga HTTP sin procesar cuando quiere el cuerpo de la respuesta intacto (1 credit)
extract_content
Extracción del contenido principal basada en readability para una sola página (2 credits)
batch_scrape
Ejecute la misma extracción sobre muchas URLs como un trabajo asíncrono (5 credits)
scrape_with_actions
Haga clic, desplácese o rellene formularios antes de extraer una página con mucho JS (5 credits)
¿Listo para probar scrape? Regístrese gratis y obtenga 1.000 credits para empezar a construir.

Pie de página

CrawlForge MCP

Web scraping empresarial para agentes de IA. 27 herramientas MCP especializadas diseñadas para desarrolladores modernos que crean sistemas inteligentes.

Producto

  • Funciones
  • Playground
  • Precios
  • Casos de uso
  • Integraciones
  • Alternativas
  • Registro de cambios

Recursos

  • Primeros pasos
  • Referencia de la API
  • Plantillas
  • Guías
  • Blog
  • Glosario
  • Preguntas frecuentes
  • Mapa del sitio

Desarrolladores

  • Protocolo MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Empresa

  • Acerca de
  • Contacto
  • Privacidad
  • Términos
  • Uso aceptable
  • Cookies

Mantente al día

Recibe las últimas novedades sobre nuevas herramientas y funciones.

Creado con Next.js y el protocolo MCP

© 2025-2026 CrawlForge. Todos los derechos reservados.