# Procesar (/es/api-reference/endpoint/parse)

<!-- agent-signals: reading_time_min: 21 · est_tokens: 15314 · updated: 2026-07-30 -->
Related: [Búsqueda](/es/api-reference/endpoint/search.md), [Comentarios sobre la búsqueda](/es/api-reference/endpoint/search-feedback.md), [Scrape](/es/api-reference/endpoint/scrape.md), [Raspado en lote](/es/api-reference/endpoint/batch-scrape.md), [Obtener el estado de la captura por lotes](/es/api-reference/endpoint/batch-scrape-get.md), [Cancelar extracción en lote](/es/api-reference/endpoint/batch-scrape-delete.md)

Sube un documento local o privado y conviértelo en datos limpios, listos para LLM. `/parse` acepta los bytes del archivo mediante `multipart/form-data` y devuelve Markdown, JSON, HTML, enlaces, imágenes o un resumen, conservando el orden de lectura y las tablas.

* Convierte PDF, DOCX, XLSX, HTML y más en Markdown o JSON estructurado
* Procesamiento hasta **5x más rápido** con un motor basado en Rust
* Archivos de hasta **50 MB** por solicitud
* Compatibilidad con retención de datos cero

<div id="when-to-use-parse">
  ## Cuándo usar `/parse` [#cuándo-usar-parse]
</div>

Usa `/parse` cuando el documento de origen sea **un archivo local** o **no sea accesible públicamente mediante una URL**. Si tienes una URL pública que apunta a un documento, es preferible usar [`/scrape`](/es/api-reference/endpoint/scrape): detecta automáticamente el tipo de archivo a partir de la extensión o del tipo de contenido y lo procesa de la misma forma.

| Origen                                                                | Endpoint                                            |
| --------------------------------------------------------------------- | --------------------------------------------------- |
| URL pública de un documento (p. ej. `https://example.com/report.pdf`) | [`POST /scrape`](/es/api-reference/endpoint/scrape) |
| Archivo local o bytes no públicos (PDF, DOCX, XLSX, HTML, …)          | `POST /parse` (este endpoint)                       |

<Tip>
  **¿Usas Firecrawl a través de MCP?** Usa `firecrawl_parse` para archivos locales. El MCP local puede leer el archivo directamente cuando está configurado con `FIRECRAWL_API_URL`. El MCP remoto alojado primero devuelve un comando de carga temporal y luego procesa el `uploadRef` devuelto. Las URL públicas de documentos deben seguir usando `/scrape`.
</Tip>

`POST /parse`

Sube y procesa un archivo

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "content": {
      "multipart/form-data": {
        "encoding": {
          "options": {
            "contentType": "application/json"
          }
        },
        "schema": {
          "properties": {
            "file": {
              "description": "Los bytes del archivo que se van a procesar. Extensiones compatibles: .html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls.",
              "format": "binary",
              "type": "string"
            },
            "options": {
              "description": "Opciones opcionales para procesar enviadas como JSON en el campo multipart `options`.",
              "properties": {
                "auditMetadata": {
                  "additionalProperties": false,
                  "description": "Atribución de usuario incluida en los eventos de registro SIEM cuando SIEM Logging está habilitado para la organización.",
                  "properties": {
                    "username": {
                      "description": "El nombre de usuario asociado a la solicitud.",
                      "maxLength": 1024,
                      "type": "string"
                    }
                  },
                  "required": [
                    "username"
                  ],
                  "type": "object"
                },
                "blockAds": {
                  "default": true,
                  "description": "Activa el bloqueo de anuncios y ventanas emergentes de cookies.",
                  "type": "boolean"
                },
                "excludeTags": {
                  "description": "Etiquetas que se excluirán de la salida.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "formats": {
                  "default": [
                    "markdown"
                  ],
                  "description": "Formatos de salida compatibles para cargas en `/parse`. Los formatos con renderizado en navegador y el seguimiento de cambios no son compatibles.",
                  "items": {
                    "oneOf": [
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "markdown"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "Markdown",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "summary"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "Summary",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "html"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "HTML",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "rawHtml"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "Raw HTML",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "links"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "Links",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "type": {
                            "enum": [
                              "images"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "Images",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "prompt": {
                            "description": "El prompt que se usará para la salida JSON",
                            "type": "string"
                          },
                          "schema": {
                            "description": "El esquema que se usará para la salida JSON. Debe ajustarse a [JSON Schema](https://json-schema.org/).",
                            "type": "object"
                          },
                          "type": {
                            "enum": [
                              "json"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "title": "JSON",
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "headers": {
                  "description": "Encabezados que se enviarán cuando se requieran solicitudes de red adicionales.",
                  "type": "object"
                },
                "includeTags": {
                  "description": "Etiquetas que se incluirán en la salida.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "integration": {
                  "description": "Identificador de integración opcional.",
                  "nullable": true,
                  "type": "string"
                },
                "onlyMainContent": {
                  "default": true,
                  "description": "Devuelve solo el contenido principal de la página, excluyendo encabezados, navegación, pies de página, etc.",
                  "type": "boolean"
                },
                "origin": {
                  "default": "api",
                  "description": "Identificador de origen para analítica y registros.",
                  "type": "string"
                },
                "parsers": {
                  "default": [
                    "pdf"
                  ],
                  "description": "Controla el comportamiento del procesador de archivos cuando corresponda (por ejemplo, el modo del procesador de PDF).",
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "maxPages": {
                            "description": "Número máximo de páginas que se procesarán del PDF.",
                            "maximum": 10000,
                            "minimum": 1,
                            "type": "integer"
                          },
                          "mode": {
                            "default": "auto",
                            "description": "Modo de procesamiento de PDF. \"fast\": extracción solo de texto. \"auto\": primero texto, con OCR como alternativa. \"ocr\": OCR en todas las páginas.",
                            "enum": [
                              "fast",
                              "auto",
                              "ocr"
                            ],
                            "type": "string"
                          },
                          "type": {
                            "enum": [
                              "pdf"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "proxy": {
                  "description": "Modo proxy para cargas en `/parse`. `/parse` solo admite `basic` y `auto`.",
                  "enum": [
                    "basic",
                    "auto"
                  ],
                  "type": "string"
                },
                "redactPII": {
                  "default": false,
                  "description": "Redacta la información de identificación personal del markdown devuelto. Pasa `true` para usar la configuración predeterminada, o un objeto para ajustar el modo, las entidades y el estilo de reemplazo.",
                  "oneOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "additionalProperties": false,
                      "description": "Opciones de ajuste para la redacción de IIP.",
                      "properties": {
                        "entities": {
                          "description": "Restringe la redacción a estas categorías de entidades. Si se omite, se redactan todas las entidades compatibles.",
                          "items": {
                            "description": "Categorías públicas de entidades de IIP compatibles con la redacción de Firecrawl.",
                            "enum": [
                              "PERSON",
                              "EMAIL",
                              "PHONE",
                              "LOCATION",
                              "FINANCIAL",
                              "SECRET"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "mode": {
                          "default": "accurate",
                          "description": "Estrategia de redacción. `accurate` usa solo el modelo y está optimizada para la precisión, `aggressive` aumenta la cobertura con heurísticas adicionales, y `fast` usa heurísticas sin llamar al modelo.",
                          "enum": [
                            "accurate",
                            "aggressive",
                            "fast"
                          ],
                          "type": "string"
                        },
                        "replaceStyle": {
                          "default": "tag",
                          "description": "`tag` reemplaza los fragmentos por marcadores como `<EMAIL>`, `mask` reemplaza los caracteres por `*` y `remove` elimina el texto del fragmento.",
                          "enum": [
                            "tag",
                            "mask",
                            "remove"
                          ],
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "removeBase64Images": {
                  "default": true,
                  "description": "Elimina de la salida las imágenes codificadas en base64 y conserva los marcadores de posición del texto alternativo.",
                  "type": "boolean"
                },
                "skipTlsVerification": {
                  "default": true,
                  "description": "Omite la verificación del certificado TLS al realizar solicitudes.",
                  "type": "boolean"
                },
                "timeout": {
                  "default": 30000,
                  "description": "Timeout en milisegundos para la solicitud. El valor predeterminado es 30000 (30 segundos). El máximo es 300000 (300 segundos).",
                  "maximum": 300000,
                  "type": "integer"
                },
                "zeroDataRetention": {
                  "default": false,
                  "description": "Si es `true`, esto activará la retención cero de datos para este procesamiento. Para habilitar esta función, ponte en contacto con help@firecrawl.dev",
                  "type": "boolean"
                }
              },
              "type": "object"
            }
          },
          "required": [
            "file"
          ],
          "type": "object"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "data": {
                "properties": {
                  "actions": {
                    "description": "Resultados de las acciones especificadas en el parámetro `actions`. Solo aparece si se proporcionó el parámetro `actions` en la solicitud",
                    "nullable": true,
                    "properties": {
                      "javascriptReturns": {
                        "description": "Valores de retorno de JavaScript, en el mismo orden que las acciones de executeJavascript proporcionadas.",
                        "items": {
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "value": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "pdfs": {
                        "description": "Archivos PDF generados en el mismo orden que las acciones de PDF proporcionadas.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "scrapes": {
                        "description": "Extrae el contenido en el mismo orden que las acciones de scraping proporcionadas.",
                        "items": {
                          "properties": {
                            "html": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "screenshots": {
                        "description": "URLs de las capturas de pantalla, en el mismo orden que las acciones de captura de pantalla indicadas.",
                        "items": {
                          "format": "url",
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "answer": {
                    "description": "Respuesta en lenguaje natural a la pregunta proporcionada mediante el formato `question`. Solo aparece si se incluyó un objeto de formato `question` en `formats`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "audio": {
                    "description": "URL firmada del archivo de audio MP3 extraído si `audio` está en `formatos`. La URL firmada caduca al cabo de 1 hora.",
                    "nullable": true,
                    "type": "string"
                  },
                  "branding": {
                    "description": "Información de marca extraída de la página si `branding` está incluido en `formatos`. Incluye colores, fuentes, tipografía, espaciado, componentes y más.",
                    "nullable": true,
                    "properties": {
                      "animations": {
                        "description": "Configuración de animaciones y transiciones.",
                        "nullable": true,
                        "type": "object"
                      },
                      "colorScheme": {
                        "description": "Paleta de colores detectada de la página.",
                        "enum": [
                          "light",
                          "dark"
                        ],
                        "type": "string"
                      },
                      "colors": {
                        "description": "Colores de la marca extraídos de la página.",
                        "nullable": true,
                        "properties": {
                          "accent": {
                            "description": "Color de acento (hex).",
                            "type": "string"
                          },
                          "background": {
                            "description": "Color de fondo (hex).",
                            "type": "string"
                          },
                          "error": {
                            "description": "Color de error/peligro (hexadecimal).",
                            "type": "string"
                          },
                          "link": {
                            "description": "Color de los enlaces (hex).",
                            "type": "string"
                          },
                          "primary": {
                            "description": "Color principal de la marca (hex).",
                            "type": "string"
                          },
                          "secondary": {
                            "description": "Color secundario de la marca (hex).",
                            "type": "string"
                          },
                          "success": {
                            "description": "Color de éxito/positivo (hexadecimal).",
                            "type": "string"
                          },
                          "textPrimary": {
                            "description": "Color principal del texto (hex).",
                            "type": "string"
                          },
                          "textSecondary": {
                            "description": "Color secundario del texto (hex).",
                            "type": "string"
                          },
                          "warning": {
                            "description": "Color de advertencia (hexadecimal).",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "components": {
                        "description": "Estilos de componentes de la interfaz de usuario.",
                        "nullable": true,
                        "properties": {
                          "buttonPrimary": {
                            "description": "Estilos del botón principal.",
                            "properties": {
                              "background": {
                                "type": "string"
                              },
                              "borderRadius": {
                                "type": "string"
                              },
                              "textColor": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "buttonSecondary": {
                            "description": "Estilos de botones secundarios.",
                            "properties": {
                              "background": {
                                "type": "string"
                              },
                              "borderColor": {
                                "type": "string"
                              },
                              "borderRadius": {
                                "type": "string"
                              },
                              "textColor": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "input": {
                            "description": "Estilos de campos de entrada.",
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "fonts": {
                        "description": "Lista de familias tipográficas usadas en la página.",
                        "items": {
                          "properties": {
                            "family": {
                              "description": "Nombre de la familia tipográfica.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "nullable": true,
                        "type": "array"
                      },
                      "icons": {
                        "description": "Estilos de íconos.",
                        "nullable": true,
                        "type": "object"
                      },
                      "images": {
                        "description": "Imágenes de la marca.",
                        "nullable": true,
                        "properties": {
                          "favicon": {
                            "description": "URL del favicon.",
                            "type": "string"
                          },
                          "logo": {
                            "description": "URL de la imagen del logotipo.",
                            "type": "string"
                          },
                          "ogImage": {
                            "description": "URL de la imagen de Open Graph.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "layout": {
                        "description": "Configuración de diseño de la página (rejilla, alturas de encabezado y pie de página).",
                        "nullable": true,
                        "type": "object"
                      },
                      "logo": {
                        "description": "URL del logotipo principal.",
                        "nullable": true,
                        "type": "string"
                      },
                      "personality": {
                        "description": "Atributos de personalidad de la marca (tono, energía, público objetivo).",
                        "nullable": true,
                        "type": "object"
                      },
                      "spacing": {
                        "description": "Información de espaciado y maquetación.",
                        "nullable": true,
                        "properties": {
                          "baseUnit": {
                            "description": "Unidad base de espaciado en píxeles.",
                            "type": "integer"
                          },
                          "borderRadius": {
                            "description": "Radio de borde por defecto.",
                            "type": "string"
                          },
                          "margins": {
                            "description": "Valores de margen.",
                            "type": "object"
                          },
                          "padding": {
                            "description": "Valores de espaciado interno (padding).",
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "typography": {
                        "description": "Información detallada sobre tipografía.",
                        "nullable": true,
                        "properties": {
                          "fontFamilies": {
                            "description": "Familias tipográficas según su función.",
                            "properties": {
                              "code": {
                                "description": "Familia tipográfica para código (monoespaciada).",
                                "type": "string"
                              },
                              "heading": {
                                "description": "Familia tipográfica para encabezados.",
                                "type": "string"
                              },
                              "primary": {
                                "description": "Familia tipográfica principal.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "fontSizes": {
                            "description": "Tamaños de fuente para diferentes jerarquías de texto.",
                            "properties": {
                              "body": {
                                "type": "string"
                              },
                              "h1": {
                                "type": "string"
                              },
                              "h2": {
                                "type": "string"
                              },
                              "h3": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "fontWeights": {
                            "description": "Definiciones de pesos de fuente.",
                            "properties": {
                              "bold": {
                                "type": "integer"
                              },
                              "light": {
                                "type": "integer"
                              },
                              "medium": {
                                "type": "integer"
                              },
                              "regular": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "lineHeights": {
                            "description": "Valores de altura de línea para diferentes tipos de texto.",
                            "properties": {
                              "body": {
                                "type": "string"
                              },
                              "heading": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "changeTracking": {
                    "description": "Información de seguimiento de cambios cuando `changeTracking` está en `formats`. Solo está presente cuando se solicita el formato `changeTracking`.",
                    "nullable": true,
                    "properties": {
                      "changeStatus": {
                        "description": "El resultado de la comparación entre las dos versiones de la página. \"new\" indica que esta página no existía antes, \"same\" indica que el contenido no ha cambiado, \"changed\" indica que el contenido ha cambiado y \"removed\" indica que la página fue eliminada.",
                        "enum": [
                          "new",
                          "same",
                          "changed",
                          "removed"
                        ],
                        "type": "string"
                      },
                      "diff": {
                        "description": "Diff de los cambios al estilo Git cuando se usa el modo `git-diff`. Solo está presente cuando el modo está configurado en `git-diff`.",
                        "nullable": true,
                        "type": "string"
                      },
                      "json": {
                        "description": "Resultados de comparación en JSON cuando se usa el modo `json`. Solo aparece cuando el modo está configurado en `json`. Genera una lista de todas las claves y sus valores de los scrapes `previous` y `current`, según el tipo definido en el `schema`. Ejemplo [aquí](/features/change-tracking)",
                        "nullable": true,
                        "type": "object"
                      },
                      "previousScrapeAt": {
                        "description": "La marca de tiempo del rastreo anterior con la que se compara la página actual. Es null si no existe un rastreo anterior.",
                        "format": "date-time",
                        "nullable": true,
                        "type": "string"
                      },
                      "visibility": {
                        "description": "La visibilidad de la página o URL actual. \"visible\" significa que la URL se descubrió por una ruta orgánica (enlaces o sitemap), y \"hidden\" significa que la URL se descubrió a partir de la memoria de rastreos anteriores.",
                        "enum": [
                          "visible",
                          "hidden"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "highlights": {
                    "description": "Texto fuente relevante seleccionado por el formato `highlights`. Solo aparece si se incluyó un objeto de formato `highlights` en `formats`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "html": {
                    "description": "HTML limpio de la página si `html` está incluido en `formatos`. Elimina las etiquetas `<script>`, `<style>`, `<noscript>`, `<meta>` y `<head>`; convierte las URL relativas en absolutas; resuelve el `srcset` de imágenes responsive a la variante de mayor tamaño. Respeta los filtros `onlyMainContent`, `includeTags` y `excludeTags`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "links": {
                    "description": "Lista de enlaces de la página si `links` está incluido en `formats`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "markdown": {
                    "type": "string"
                  },
                  "menu": {
                    "description": "Información del menú extraída de la página si `menu` está en `formatos`. Incluye el comercio, la moneda y una lista de secciones, donde cada sección contiene elementos con descripción, imágenes, precio, disponibilidad, etiquetas dietéticas, calorías y grupos de opciones.",
                    "nullable": true,
                    "properties": {
                      "confidence": {
                        "description": "Una puntuación de confianza entre 0 y 1 para la extracción del menú.",
                        "type": "number"
                      },
                      "currency": {
                        "description": "El código de moneda ISO 4217 del menú (p. ej., 'USD'), informado solo cuando la página lo proporciona.",
                        "type": "string"
                      },
                      "isMenu": {
                        "description": "Indica si la página se identificó como un menú.",
                        "type": "boolean"
                      },
                      "merchant": {
                        "description": "El comercio al que pertenece el menú.",
                        "properties": {
                          "name": {
                            "description": "El nombre del comercio.",
                            "type": "string"
                          },
                          "type": {
                            "description": "El tipo de comercio (p. ej., 'restaurant').",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "type": "object"
                      },
                      "sections": {
                        "description": "Secciones del menú (p. ej., 'Appetizers', 'Entrees').",
                        "items": {
                          "properties": {
                            "description": {
                              "description": "La descripción de la sección.",
                              "nullable": true,
                              "type": "string"
                            },
                            "id": {
                              "description": "El identificador de la sección.",
                              "type": "string"
                            },
                            "items": {
                              "description": "Los elementos de la sección.",
                              "items": {
                                "properties": {
                                  "availability": {
                                    "description": "La disponibilidad del elemento.",
                                    "properties": {
                                      "inStock": {
                                        "description": "Indica si el elemento está disponible.",
                                        "type": "boolean"
                                      },
                                      "text": {
                                        "description": "Texto de disponibilidad legible para personas.",
                                        "nullable": true,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "inStock"
                                    ],
                                    "type": "object"
                                  },
                                  "calories": {
                                    "description": "La cantidad de calorías del elemento.",
                                    "nullable": true,
                                    "type": "number"
                                  },
                                  "description": {
                                    "description": "La descripción del elemento.",
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "dietary": {
                                    "description": "Etiquetas dietéticas del elemento (p. ej., ['vegetarian']).",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "El identificador del elemento.",
                                    "type": "string"
                                  },
                                  "identifiers": {
                                    "description": "Identificadores del elemento específicos del comercio.",
                                    "properties": {
                                      "merchantItemId": {
                                        "description": "El ID propio del elemento del comercio.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "images": {
                                    "description": "Imágenes del elemento.",
                                    "items": {
                                      "properties": {
                                        "alt": {
                                          "description": "Texto alternativo de la imagen.",
                                          "nullable": true,
                                          "type": "string"
                                        },
                                        "url": {
                                          "description": "URL de la imagen.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "name": {
                                    "description": "El nombre del elemento.",
                                    "type": "string"
                                  },
                                  "optionGroups": {
                                    "description": "Grupos de opciones/modificadores del elemento.",
                                    "items": {
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "price": {
                                    "description": "El precio del elemento.",
                                    "properties": {
                                      "amount": {
                                        "description": "El importe numérico del precio.",
                                        "type": "number"
                                      },
                                      "currency": {
                                        "description": "El código de moneda ISO 4217 (p. ej., 'USD').",
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "description": "El precio con formato para su visualización (p. ej., '$7.99').",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount"
                                    ],
                                    "type": "object"
                                  },
                                  "sourceUrl": {
                                    "description": "La URL de la que se extrajo el elemento.",
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "La URL canónica del elemento.",
                                    "nullable": true,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "name": {
                              "description": "El nombre de la sección.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name",
                            "items"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "sourceUrl": {
                        "description": "La URL de la que se extrajo el menú.",
                        "nullable": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "isMenu",
                      "sections"
                    ],
                    "type": "object"
                  },
                  "metadata": {
                    "properties": {
                      "<any other metadata> ": {
                        "description": "Otros metadatos extraídos del HTML, pueden ser una cadena o un array de cadenas",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "concurrencyLimited": {
                        "description": "Si este scraping se limitó debido a los límites de concurrencia del equipo",
                        "type": "boolean"
                      },
                      "concurrencyQueueDurationMs": {
                        "description": "Tiempo, en milisegundos, que la solicitud permaneció en la cola de concurrencia. Solo se incluye cuando concurrencyLimited es true.",
                        "type": "number"
                      },
                      "contentType": {
                        "description": "El tipo de contenido (tipo MIME) de la página, por ejemplo, text/html, application/pdf",
                        "type": "string"
                      },
                      "description": {
                        "description": "Descripción extraída de la página, puede ser una cadena de texto o un array de cadenas",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "error": {
                        "description": "El mensaje de error de la página",
                        "nullable": true,
                        "type": "string"
                      },
                      "keywords": {
                        "description": "Palabras clave extraídas de la página; puede ser una cadena o un array de cadenas",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "language": {
                        "description": "Idioma extraído de la página; puede ser una cadena de texto o un array de cadenas de texto",
                        "nullable": true,
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "numPages": {
                        "description": "Para entradas PDF, el número de páginas procesadas (limitado por la opción maxPages de los analizadores).",
                        "type": "integer"
                      },
                      "ogLocaleAlternate": {
                        "description": "Locales alternativos de la página",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "sourceURL": {
                        "description": "La URL original solicitada. Puede diferir de la URL final de la página si hubo redirecciones.",
                        "format": "uri",
                        "type": "string"
                      },
                      "statusCode": {
                        "description": "El código de estado de la página",
                        "type": "integer"
                      },
                      "title": {
                        "description": "Título extraído de la página, puede ser una cadena de texto o un array de cadenas de texto",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "totalPages": {
                        "description": "Para entradas PDF, el número real de páginas del documento antes de que se aplique cualquier límite de maxPages. Se omite cuando no puede determinarse; un totalPages mayor que numPages indica que el resultado se truncó.",
                        "type": "integer"
                      },
                      "url": {
                        "description": "La URL final de la página después de seguir todas las redirecciones.",
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "product": {
                    "description": "Información del producto extraída de la página si `product` está en `formatos`. Incluye título, marca, categoría, descripción y variantes. El precio, la disponibilidad y las imágenes están en cada variante.",
                    "nullable": true,
                    "properties": {
                      "brand": {
                        "description": "La marca o el fabricante del producto.",
                        "type": "string"
                      },
                      "category": {
                        "description": "La categoría del producto, opcionalmente como una ruta de navegación (p. ej., 'Electronics > Audio > Headphones').",
                        "type": "string"
                      },
                      "description": {
                        "description": "La descripción del producto.",
                        "type": "string"
                      },
                      "title": {
                        "description": "El título del producto.",
                        "type": "string"
                      },
                      "url": {
                        "description": "La URL canónica de la página del producto.",
                        "type": "string"
                      },
                      "variants": {
                        "description": "Variantes del producto (p. ej., diferentes colores o tallas).",
                        "items": {
                          "properties": {
                            "availability": {
                              "description": "La disponibilidad de la variante. Siempre está presente en una variante.",
                              "properties": {
                                "inStock": {
                                  "description": "Indica si la variante está en stock.",
                                  "type": "boolean"
                                },
                                "text": {
                                  "description": "Texto de disponibilidad legible para personas (p. ej., 'In Stock').",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "inStock"
                              ],
                              "type": "object"
                            },
                            "id": {
                              "description": "El identificador de la variante.",
                              "type": "string"
                            },
                            "images": {
                              "description": "Imágenes de la variante.",
                              "items": {
                                "properties": {
                                  "alt": {
                                    "description": "Texto alternativo de la imagen.",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "URL de la imagen.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "url"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "price": {
                              "description": "El precio actual de la variante.",
                              "properties": {
                                "amount": {
                                  "description": "El importe numérico del precio.",
                                  "type": "number"
                                },
                                "currency": {
                                  "description": "El código de moneda ISO 4217 (p. ej., 'USD').",
                                  "type": "string"
                                },
                                "formatted": {
                                  "description": "El precio con formato para mostrar (p. ej., '$199.99').",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount"
                              ],
                              "type": "object"
                            },
                            "sale": {
                              "description": "Información de oferta o descuento de la variante, presente cuando la variante tiene descuento.",
                              "properties": {
                                "originalPrice": {
                                  "description": "El precio original de la variante (antes del descuento).",
                                  "properties": {
                                    "amount": {
                                      "description": "El importe numérico del precio.",
                                      "type": "number"
                                    },
                                    "currency": {
                                      "description": "El código de moneda ISO 4217 (p. ej., 'USD').",
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "description": "El precio con formato para mostrar (p. ej., '$249.99').",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "originalPrice"
                              ],
                              "type": "object"
                            },
                            "sku": {
                              "description": "El SKU de la variante.",
                              "type": "string"
                            },
                            "title": {
                              "description": "El título de la variante.",
                              "type": "string"
                            },
                            "values": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Los valores de las opciones de la variante (p. ej., { \"color\": \"Black\" }).",
                              "type": "object"
                            }
                          },
                          "required": [
                            "availability"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "title",
                      "url",
                      "variants"
                    ],
                    "type": "object"
                  },
                  "rawHtml": {
                    "description": "El HTML exacto, sin modificar, tal como se recibe de la página si `rawHtml` está incluido en `formatos`. No se aplica ningún tipo de limpieza ni filtrado.",
                    "nullable": true,
                    "type": "string"
                  },
                  "screenshot": {
                    "description": "Captura de pantalla de la página si `screenshot` está incluido en `formats`. Las capturas de pantalla caducan después de 24 horas y ya no podrán descargarse.",
                    "nullable": true,
                    "type": "string"
                  },
                  "summary": {
                    "description": "Resumen de la página si `summary` se incluye en `formats`",
                    "nullable": true,
                    "type": "string"
                  },
                  "video": {
                    "description": "URL firmada del archivo de vídeo extraído si `video` está en `formats`. La URL firmada caduca al cabo de 1 hora.",
                    "nullable": true,
                    "type": "string"
                  },
                  "warning": {
                    "description": "Puede mostrarse al usar LLM Extraction. El mensaje de advertencia te informará de cualquier problema con la extracción.",
                    "nullable": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "success": {
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Respuesta correcta"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "code": {
                "example": "BAD_REQUEST",
                "type": "string"
              },
              "error": {
                "example": "Invalid multipart form-data request.",
                "type": "string"
              },
              "success": {
                "example": false,
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Solicitud incorrecta"
    },
    "402": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Payment required to access this resource.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Pago requerido"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Request rate limit exceeded. Please wait and try again later.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Demasiadas solicitudes"
    },
    "500": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "code": {
                "example": "UNKNOWN_ERROR",
                "type": "string"
              },
              "error": {
                "example": "An unexpected error occurred on the server.",
                "type": "string"
              },
              "success": {
                "example": false,
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Error del servidor"
    }
  }
}
```
