# mulesoft MuleSoft WebCrawler Connector - Full Documentation --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # Configuring Crawl Operations > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Configure the **Get SiteMap** operation. ## Configure the Get SiteMap Operation The **Get SiteMap** operation returns a sitemap in standard XML format following the [sitemap protocol](https://www.sitemaps.org/protocol.html). The operation first tries to discover URLs from the site’s own sitemap and robots.txt, then falls back to a breadth-first crawl up to the specified depth. The sitemap results can be used to customize subsequent crawling of specific pages. Priority is calculated based on depth: depth 0 = priority 1.0, depth 1 = priority 0.9, and so on. Depth greater than 10 always yields priority 0.0. To configure the **Get SiteMap** operation: 1. Select the operation on the Anypoint Code Builder or Studio canvas. 2. In the **General** properties tab for the operation, enter these values: - **Path** Relative path, resolved against the connection’s base URL, where the sitemap crawl starts. - **Maximum depth** The maximum depth to reach while crawling a website. Defaults to 0. - **Encoding** Encoding for emitted page bodies. Overrides the configuration’s encoding when set. - **Restrict crawl under URL** If true, only internal pages under the base URL are crawled. Defaults to false. - **Regex URLs filter logic** Type of filter logic to apply to regex URLs while crawling. Select INCLUDE to crawl only matching pages, or EXCLUDE to skip matching pages. - **Regex URLs List** List of regex patterns for URLs to include or exclude while crawling, based on the filter logic selected above. ### Crawl Options - **Delay between pages** The delay introduced between each request, in the time unit selected below. Defaults to 0. - **Delay time unit** Time unit for the delay between pages. - **Enforce robots.txt** If true, enforce checks against the robots.txt file. Defaults to false. ### Page Load Options - **Wait on page load** The time to wait on page load, in the time unit selected below. On the HTTP connection, values greater than 0 fail with INVALID\_PARAMETERS. - **Wait on page load unit** Time unit for the page-load wait. ### WebDriver Options (Remote WebDriver only) These options apply only when using the Remote WebDriver connection type: - **Wait for XPath** The XPath to wait for before proceeding with content extraction. - **Extract Shadow DOM** If true, extracts the Shadow DOM content. - **Shadow Host(s) XPath** Shadow host(s) to extract by XPath. If not set, the whole Shadow DOM is extracted. ### Timeout Options - **Response Timeout** Response timeout value. Overrides the configuration’s timeout when set. - **Response Timeout Unit** Time unit for the response timeout. ### XML Configuration This is the XML for this operation: ```xml ``` ### Output Configuration This operation responds with an XML payload that uses the sitemap protocol specification. This is an example response: ```xml https://example.com/ 2024-01-15T10:30:00Z daily 1.0 https://example.com/docs 0.9 https://example.com/docs/getting-started 0.8 ``` The `` and `` elements appear only for URLs where the crawled site’s own source sitemap supplies them, so some `` entries include them while others contain only `` and ``. The response attributes include: - `count` The total number of URLs in the sitemap. - `depth` The configured maximum crawl depth. - `url` The root URL of the crawled site. ## See Also - [MuleSoft WebCrawler Connector Overview](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/) - [Configuring Crawl Sources](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/configuring-crawl-sources) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # Configuring Crawl Sources > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Configure the **On Content Crawl** source. ## Configure the On Content Crawl Source The **On Content Crawl** source crawls a website starting from a configured path, emitting each discovered page, image, or document as a Mule event. The source uses a VM queue for URL scheduling and an object store for URL deduplication, enabling distributed and resumable crawling. To configure the **On Content Crawl** source: - **Path** Relative path, resolved against the connection’s base URL, where the crawl starts. When empty or `/`, the crawl starts at the base URL itself. Fully-qualified URLs are rejected with INVALID\_PARAMETERS. - **Additional seed URLs** Comma-separated list of additional fully-qualified seed URLs to enqueue alongside the path. Each entry must be a fully-qualified URL, and relative paths are dropped. Off-host and off-path entries are dropped and a warning is logged. - **Maximum depth** The maximum depth to reach while crawling a website. Defaults to 0. - **Queue Name** VM queue used to schedule URLs for crawling. When omitted, defaults to `webcrawler-{configName}-source-queue`. - **Object Store** Object store used for crawl visit fingerprints (content hash, ETag, last-modified, and correlation ID) and the active crawl identity. Use a persistent store so that reconnection and app restart resume the same crawl. - **Output format** Format applied to each emitted page body. Select TEXT, HTML, or MARKDOWN. Default is TEXT. - **Number Of Consumers** Number of concurrent queue consumers used by this source. Defaults to 1. - **Hash route mode** How to treat URLs containing #fragments. IGNORE strips fragments before crawling (default, fits classic server-rendered sites). PATH rewrites SPA-style hash routes (for example, #/page) into real paths (/page). PRESERVE keeps the URL verbatim, fragment included. - **Crawl schedule** Periodic re-crawl mode. Select **No Schedule** to crawl once at start (default), or **Interval** to re-seed the crawl at a fixed frequency and time unit. Ticks that occur while a crawl is in progress are coalesced into one pending reseed, so consumers don’t stack. The schedule is registered on all replicas, but the actual reseed runs on the primary node only. - **Encoding** Encoding for emitted page bodies. Overrides the configuration’s encoding when set. - **Restrict crawl under URL** If true, only internal pages under the base URL are crawled. Defaults to false. - **Regex URLs filter logic** Type of filter logic to apply to regex URLs while crawling. - **Regex URLs List** List of regex patterns for URLs to include or exclude while crawling. ### Target Content Options By default, the source emits only page content. To also download and emit the images and documents referenced on each crawled page, enable the **Images** and **Documents** options. Use the **Max image number for each page** and **Max document number for each page** options to cap how many assets are fetched per page, and **Additional Allowed Base URLs** to control which hosts assets can be downloaded from. - **Pages** If true, page content of the crawled URL is emitted. Defaults to true. - **Images** If true, images referenced on the crawled URL are emitted. Defaults to false. - **Max image number for each page** Maximum number of images to fetch for each page. 0 means no limit. - **Documents** If true, documents referenced on the crawled URL are emitted. Defaults to false. - **Max document number for each page** Maximum number of documents to fetch for each page. 0 means no limit. - **Additional Allowed Base URLs** Optional comma-separated allowlist for image and document URLs. When set, assets must be under the base URL or one of these base URLs. - **Retrieve meta tags** If true, meta tags are retrieved from each crawled page. Defaults to false. - **Tag list** List of HTML tags for which content must be retrieved. ### Crawl Options - **Delay between pages** The delay introduced between each request, in the time unit selected below. Defaults to 0. - **Delay time unit** Time unit for the delay between pages. - **Enforce robots.txt** If true, enforce checks against the robots.txt file. Defaults to false. ### Page Load Options - **Wait on page load** The time to wait on page load, in the time unit selected below. On the HTTP connection, values greater than 0 fail with INVALID\_PARAMETERS. - **Wait on page load unit** Time unit for the page-load wait. ### WebDriver Options (Remote WebDriver only) These options apply only when using the Remote WebDriver connection type: - **Wait for XPath** The XPath to wait for before proceeding with content extraction. - **Extract Shadow DOM** If true, extracts the Shadow DOM content. - **Shadow Host(s) XPath** Shadow host(s) to extract by XPath. If not set, the whole Shadow DOM is extracted. ### Timeout Options - **Response Timeout** Response timeout value. Overrides the configuration’s timeout when set. - **Response Timeout Unit** Time unit for the response timeout. ### XML Configuration This is the XML for this source: ```xml ``` ### Output Configuration Each emitted event contains the crawled page content in the configured output format. The response attributes include: - `cacheControl` The cache-control header value from the page response. - `contentType` The content type of the page response. - `depth` The crawl depth at which this page was discovered. - `etag` The ETag header value from the page response. - `eventType` The type of emitted event: PAGE, IMAGE, or DOCUMENT. - `fileName` The file name of the emitted image or document. - `lastModified` The last-modified timestamp from the page response. - `metaTags` The meta tags retrieved from the page. - `size` The size of the emitted content in bytes. - `statusCode` The HTTP status code of the page response. - `title` The page title. - `url` The page URL. - `otherAttributes` Additional metadata about the page. ## See Also - [MuleSoft WebCrawler Connector Overview](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/) - [Configuring Crawl Operations](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/configuring-crawl-operations) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # Configuring Page Operations > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Configure the **Get Page Content** and **Get Page Elements** operations. ## Configure the Get Page Content Operation The **Get Page Content** operation retrieves the content of a specified web page in TEXT, HTML, or MARKDOWN format. Optionally target specific HTML tags via the Tag list parameter. To configure the **Get Page Content** operation: 1. Select the operation on the Anypoint Code Builder or Studio canvas. 2. In the **General** properties tab for the operation, enter these values: - **Path** Relative path, resolved against the connection’s base URL, of the page to retrieve content from. - **Output format** Format of the extracted content. Select TEXT, HTML, or MARKDOWN. Default is TEXT. - **Encoding** Encoding for emitted page bodies. Overrides the configuration’s encoding when set. - **Tag list** List of HTML tags for which content must be retrieved. If specified, only content within the listed tags is returned. - **Javascript** Browser-context JavaScript executed after page load (not available for the HTTP connection). Trusted input only — never bind to user-controlled data; runs with full DOM access. ### Crawl Options - **Enforce robots.txt** If true, enforce checks against the robots.txt file. Defaults to false. ### Page Load Options - **Wait on page load** The time to wait on page load, in the time unit selected below. On the HTTP connection, values greater than 0 fail with INVALID\_PARAMETERS. - **Wait on page load unit** Time unit for the page-load wait. ### WebDriver Options (Remote WebDriver only) These options apply only when using the Remote WebDriver connection type: - **Wait for XPath** The XPath to wait for before proceeding with content extraction. - **Extract Shadow DOM** If true, extracts the Shadow DOM content. - **Shadow Host(s) XPath** Shadow host(s) to extract by XPath. If not set, the whole Shadow DOM is extracted. ### Timeout Options - **Response Timeout** Response timeout value. Overrides the configuration’s timeout when set. - **Response Timeout Unit** Time unit for the response timeout. ### XML Configuration This is the XML for this operation: ```xml ``` ### Output Configuration This operation responds with a JSON payload. This is an example response: ```json { "title": "Example Page Title", "url": "https://example.com/page", "content": "The full text content of the page..." } ``` - `title` The page title. - `url` The page URL. - `content` The extracted content in the specified output format. ## Configure the Get Page Elements Operation The **Get Page Elements** operation fetches analytical data about a web page including word count, element or tag counts (H1–H5, DIV, P), link structures (internal, external, reference), and image links. Use these metrics to customize subsequent crawling operations. To configure the **Get Page Elements** operation: 1. Select the operation on the Anypoint Code Builder or Studio canvas. 2. In the **General** properties tab for the operation, enter these values: - **Path** Relative path, resolved against the connection’s base URL, of the page to analyze. - **Encoding** Encoding for emitted page bodies. Overrides the configuration’s encoding when set. - **Tag list** List of HTML tags for which content must be retrieved. - **Javascript** Browser-context JavaScript executed after page load (not available for the HTTP connection). Trusted input only — never bind to user-controlled data; runs with full DOM access. ### Crawl Options - **Enforce robots.txt** If true, enforce checks against the robots.txt file. Defaults to false. ### Page Load Options - **Wait on page load** The time to wait on page load, in the time unit selected below. On the HTTP connection, values greater than 0 fail with INVALID\_PARAMETERS. - **Wait on page load unit** Time unit for the page-load wait. ### WebDriver Options (Remote WebDriver only) These options apply only when using the Remote WebDriver connection type: - **Wait for XPath** The XPath to wait for before proceeding with content extraction. - **Extract Shadow DOM** If true, extracts the Shadow DOM content. - **Shadow Host(s) XPath** Shadow host(s) to extract by XPath. If not set, the whole Shadow DOM is extracted. ### Timeout Options - **Response Timeout** Response timeout value. Overrides the configuration’s timeout when set. - **Response Timeout Unit** Time unit for the response timeout. ### XML Configuration This is the XML for this operation: ```xml ``` ### Output Configuration This operation outputs a Binary payload containing page statistics and link details in JSON format. This is an example response: ```json { "pageStats": { "div": 36, "p": 6, "reference": 0, "internal": 7, "external": 2, "images": 4, "wordCount": 147, "h1": 1, "h2": 0, "h3": 4, "h4": 0, "h5": 0 }, "links": { "reference": [], "internal": ["https://example.com/docs", "https://example.com/about"], "external": ["https://github.com/example"], "images": ["https://example.com/images/logo.png"], "documents": [], "iframe": [] }, "title": "Example Page", "url": "https://example.com/" } ``` - `pageStats` - Counts of HTML elements and page metrics. - `div`, `p`, `h1` through `h5` - Counts of the respective HTML elements. - `reference`, `internal`, `external` - Counts of reference, internal, and external links. - `images` - Count of images on the page. - `wordCount` - Total word count of the page content. - `links` - Categorized lists of URLs found on the page. - `reference` - Reference links (anchors). - `internal` - Internal links to the same domain. - `external` - External links to other domains. - `images` - Image URLs. - `documents` - Document URLs. - `iframe` - Iframe URLs. - `title` - The page title. - `url` - The page URL. ## See Also - [MuleSoft WebCrawler Connector Overview](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # MuleSoft WebCrawler Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MuleSoft WebCrawler (MuleSoft WebCrawler Connector) is a highly customizable web-crawling connector that enables you to crawl websites, retrieve content, and automate web scraping processes within Mule flows. The connector is suited for gathering large-scale web data efficiently, with helper operations for fine-tuned crawling such as targeting specific content types and emitting referenced documents and images as Mule events. Use it to organize web data into structured formats for knowledge extraction, AI applications, and downstream processing. For information about compatibility and fixed issues, see the MuleSoft WebCrawler Connector release notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio - Web crawling concepts and robots.txt compliance Before creating an app, you must have: - Java 17 (required for compilation and runtime) - Apache Maven - Anypoint Platform - The latest versions of Anypoint Code Builder or Anypoint Studio - Your own Chromium-based remote WebDriver endpoint when content must be rendered in a real browser before scraping, such as JavaScript-heavy web applications. MuleSoft doesn’t provide or host a remote browser, so you must supply and maintain your own. ## Connection Types MuleSoft WebCrawler Connector supports these connection types for different crawling scenarios. - **HTTP** Connects via standard HTTP requests with a configurable base URL, browser user agent, proxy, response timeout, and TLS settings. Use for static web content that doesn’t require JavaScript rendering. - **Remote WebDriver** Connects through a remote Selenium WebDriver endpoint that you provide. Use for JavaScript-heavy or single-page application (SPA) pages that require browser rendering. ## Key Features MuleSoft WebCrawler Connector simplifies web data extraction into Mule applications with: - Comprehensive Web Crawling Crawl entire websites or target specific content for large-scale data extraction with configurable depth and URL filtering. - Customizable Crawls Control crawl depth, content filters, URL inclusion or exclusion patterns, and crawl delays tailored to specific business needs. - Content Extraction Retrieve page content in TEXT, HTML, or MARKDOWN format. Target specific HTML tags to extract only relevant content. - Document and Image Extraction Emit documents and images referenced on crawled pages as Mule events, with configurable limits and an optional allowlist of base URLs. - Page Elements Get analytical data about web pages including word count, element or tag counts, and link structures to help customize crawls. - Dynamic Content Support Crawl JavaScript-rendered pages using the Remote WebDriver connection, including Shadow DOM extraction and XPath-based wait conditions. - Robots.txt Compliance Optionally enforce robots.txt rules to ensure respectful crawling practices. - Event-Driven Crawling Use the **On Content Crawl** source to emit each discovered page, image, or document as a Mule event, with deduplication and URL queue management. ## Use Cases MuleSoft WebCrawler Connector supports a wide range of data ingestion and automation scenarios.
RoleGoal

Agentic Automation

Scrape internal documents to ground agents and bots with up-to-date knowledge.

Data Analyst

Extract product information from e-commerce websites for competitive analysis.

Marketing Team

Gather customer reviews from various platforms for sentiment tracking.

Business Development

Collect contact information from industry directories for lead generation.

## Authentication MuleSoft WebCrawler Connector supports unauthenticated (public) websites. ## Limitations MuleSoft WebCrawler Connector has these limitations: - Analyzing or extracting the content within multimodal media, such as images and videos, isn’t supported. The connector can emit referenced image and document files as Mule events, but it doesn’t interpret what those files contain. - The recommended maximum size for a downloadable attachment is 25 MB. ## Performance The total crawl time depends on several factors, including: - Crawl depth Higher crawl depths discover and process more pages. - Number of pages Larger websites naturally take longer to crawl. - Website complexity JavaScript-rendered websites require a Remote Browser and generally take longer than static HTML sites. - Network latency Response times between the crawler, Remote Browser, and target website can affect overall performance. - Attachments Downloading large files, such as PDFs or images, increases crawl time. - Remote Browser capacity The CPU, memory, and concurrency of the Remote Browser deployment directly affect crawling throughput. - Number of consumers Crawling throughput depends on the number of concurrent queue consumers. More consumers can increase throughput, but the Remote Browser must be able to handle that many concurrent sessions. ## Best Practices For the best crawling experience: - Deploy the Remote Browser with sufficient CPU and memory based on your expected crawl size. - Configure the Remote Browser reconnection strategy to Reconnect Forever to improve resilience during long-running crawls. - Use the HTTP connection for static websites whenever possible, and reserve the Remote Browser for JavaScript-rendered or interactive websites. - Limit crawl depth and exclude unnecessary pages or attachments to reduce crawl time. - For large websites, break the crawl into smaller jobs or use sitemap-based discovery to target only relevant pages. - Keep the crawl schedule in sync with the object store’s time-to-live (TTL) so that a full crawl runs on reseed. Otherwise, reseeding is skipped for that tick. ## Next Step After you complete the prerequisites, you are ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-studio) or [Anypoint Code Builder](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-config-acb). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # MuleSoft WebCrawler Connector 1.0 - Additional Configuration Information > For the full documentation index, see: https://docs.mulesoft.com/llms.txt MuleSoft WebCrawler Connector provides detailed configuration information for each operation type. Select the operation category you want to configure. - [Configure Crawl Sources](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/configuring-crawl-sources) - [Configure Crawl Operations](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/configuring-crawl-operations) - [Configure Page Operations](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/configuring-page-operations) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # MuleSoft WebCrawler Connector 1.0 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This example is a Mule app that exposes MuleSoft WebCrawler Connector through two HTTP endpoints. Use it as a starting point for your own crawl flow. The application uses both connection types and exercises the two most common operations.
EndpointOperationNotes

GET /api/page

Get Page Content

Single-page fetch. Returns the rendered content in the requested outputFormat (HTML, TEXT, or MARKDOWN).

GET /api/sitemap

Get SiteMap

Crawls to the specified depth. restrictToPath=true keeps the crawl under the base URL’s path.

Each endpoint accepts a `path` query parameter, which is resolved against the connection’s base URL, and a `connection` query parameter that selects between the two configurations. - `connection=http` (default) Uses `ms-webcrawler:http-connection`. Plain HTTP fetch, fastest, no JavaScript execution. - `connection=webdriver` Uses `ms-webcrawler:remote-webdriver-connection`. Selenium-driven Chromium fetch, use for JavaScript-heavy or SPA pages. Error handling on `GET /api/page` maps two connector errors to JSON responses. - `MS-WEBCRAWLER:ROBOTS_DISALLOWED` → HTTP 403 - `MS-WEBCRAWLER:PAGE_FETCH_FAILED` → HTTP 500 ## Example Calls ```bash # Plain HTTP fetch, return as Markdown curl 'http://localhost:8081/api/page?path=/docs&outputFormat=MARKDOWN&connection=http' # WebDriver fetch (JS rendered), HTML output curl 'http://localhost:8081/api/page?path=/docs&outputFormat=HTML&connection=webdriver' # Two-level sitemap, HTTP path curl 'http://localhost:8081/api/sitemap?path=/docs&depth=2&connection=http' ``` ## XML Source ```xml 403 500 ``` ## See Also - [MuleSoft WebCrawler Connector Overview](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # MuleSoft WebCrawler Connector 1.0 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/mulesoft-webcrawler http://www.mulesoft.org/schema/mule/mulesoft-webcrawler/current/mule-mulesoft-webcrawler.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule4-webcrawler-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `mulesoft webcrawler`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # MuleSoft WebCrawler Connector Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for MuleSoft WebCrawler (MuleSoft WebCrawler Connector) enhances data ingestion capabilities by allowing you to extract and process data from web pages. ## Configurations --- ### Config Default configuration #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Encoding

String

Encoding for emitted page bodies. Can be overridden per-operation. Falls back to the Mule context default encoding when unset.

Response Timeout

Number

Response timeout value.

60

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

SECONDS

Name

String

The identifier of this element used to reference it in other components.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This doesn’t mean that the platform expires the instance at the exact moment that it becomes eligible. Mule purges the instances as appropriate.

#### Connection Types ##### HTTP Use for static websites that return their content directly in the HTML response and can be crawled without a remote browser. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Base URL

String

Base URL against which relative paths are resolved.

x

Browser User Agent

String

Browser user-agent advertised on outbound requests.

Proxy Configuration

Proxy configuration for outbound HTTP requests.

Response timeout

Number

Connect and read timeout for the connection’s HTTP client, in the time unit selected below.

30

Response timeout unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response timeout field.

SECONDS

TLS Configuration

TLS configuration for secure HTTPS connections.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

##### Remote WebDriver Use for websites that render content dynamically using JavaScript instead of returning it directly in the HTML response. ###### Parameters
NameTypeDescriptionDefault ValueRequired

Base URL

String

Base URL against which relative paths are resolved.

x

Browser User Agent

String

Browser user-agent advertised on outbound requests.

Proxy Configuration

Proxy configuration for outbound HTTP requests.

Response timeout

Number

Connect and read timeout for the connection’s HTTP client, in the time unit selected below.

30

Response timeout unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response timeout field.

SECONDS

TLS Configuration

TLS configuration for secure HTTPS connections.

Remote Browser URL

String

URL of your own remote Selenium WebDriver endpoint (for example, Selenium Grid, standalone ChromeDriver, or BrowserStack). MuleSoft doesn’t provide or host a remote browser. Chromium-only (Chrome, Chromium, Edge).

x

Browser Authentication

Authentication for the remote browser hub connection. Applied when a session is created. Changed credentials take effect on the next fresh session.

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Pooling Profile

Characteristics of the connection pool.

## Supported Operations - [Get SiteMap](#GetSitemap) - [Get Page Content](#PageContent) - [Get Page Elements](#PageElements) ## Associated Sources - [On Content Crawl](#CrawlContentListener) ## Operations ### Get SiteMap `` Crawls a website to a specified depth and returns a sitemap in standard XML format following the sitemap protocol specification. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Path

String

Relative path, resolved against the connection’s base URL, where the sitemap crawl starts.

Maximum depth

Number

The maximum depth to reach while crawling a website.

0

Encoding

String

Encoding for emitted page bodies. Overrides the configuration’s encoding when set.

Output Mime Type

String

The mime type of the payload that this operation outputs.

Output Encoding

String

The encoding of the payload that this operation outputs.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Restrict crawl under URL

Boolean

If true, only internal pages are crawled.

false

Regex URLs filter logic

Enumeration, one of:

  • INCLUDE

  • EXCLUDE

Type of filter logic to apply to regex URLs while crawling.

Regex URLs List

Array of String

List of regex patterns for URLs to include or exclude while crawling.

Delay between pages

Number

The delay introduced between each request.

0

Delay time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Delay between pages field.

SECONDS

Enforce robots.txt

Boolean

If true, enforce checks against the robots.txt file.

false

Wait on page load

Number

The time to wait on page load. On the HTTP connection, values greater than 0 fail with INVALID_PARAMETERS.

0

Wait on page load unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Wait on page load field.

SECONDS

Wait for XPath

String

The XPath to wait for (not available for HTTP connection).

Extract Shadow DOM

Boolean

Extract the Shadow DOM content (not available for HTTP connection).

false

Shadow Host(s) XPath

String

Shadow host(s) to extract by XPath (not available for HTTP connection).

Response Timeout

Number

Response timeout value. Overrides the configuration’s timeout when set.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

#### Output

Type

urlset

Attributes Type

#### For Configurations - [Config](#Config) #### Throws - MS-WEBCRAWLER:CONNECTIVITY - MS-WEBCRAWLER:CRAWLER\_ERROR - MS-WEBCRAWLER:INVALID\_PARAMETERS - MS-WEBCRAWLER:PAGE\_FETCH\_FAILED - MS-WEBCRAWLER:PAGE\_LOAD\_TIMEOUT - MS-WEBCRAWLER:RETRY\_EXHAUSTED - MS-WEBCRAWLER:ROBOTS\_DISALLOWED - MS-WEBCRAWLER:TIMEOUT ### Get Page Content `` Retrieves the content of a specified web page in TEXT, HTML, or MARKDOWN format. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Path

String

Relative path, resolved against the connection’s base URL, of the page to retrieve content from.

Javascript

String

Browser-context JavaScript executed after page load (not available for HTTP connection). Trusted input only — never bind to user-controlled data; runs with full DOM access.

Output format

Enumeration, one of:

  • TEXT

  • HTML

  • MARKDOWN

Format of the extracted content.

TEXT

Enforce robots.txt

Boolean

If true, enforce checks against the robots.txt file.

false

Encoding

String

Encoding for emitted page bodies. Overrides the configuration’s encoding when set.

Output Mime Type

String

The mime type of the payload that this operation outputs.

Output Encoding

String

The encoding of the payload that this operation outputs.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Tag list

Array of String

List of HTML tags for which content must be retrieved.

Wait on page load

Number

The time to wait on page load. On the HTTP connection, values greater than 0 fail with INVALID_PARAMETERS.

0

Wait on page load unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Wait on page load field.

SECONDS

Wait for XPath

String

The XPath to wait for (not available for HTTP connection).

Extract Shadow DOM

Boolean

Extract the Shadow DOM content (not available for HTTP connection).

false

Shadow Host(s) XPath

String

Shadow host(s) to extract by XPath (not available for HTTP connection).

Response Timeout

Number

Response timeout value. Overrides the configuration’s timeout when set.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

#### Output

Type

Any

Attributes Type

#### For Configurations - [Config](#Config) #### Throws - MS-WEBCRAWLER:CONNECTIVITY - MS-WEBCRAWLER:INVALID\_PARAMETERS - MS-WEBCRAWLER:PAGE\_FETCH\_FAILED - MS-WEBCRAWLER:PAGE\_LOAD\_TIMEOUT - MS-WEBCRAWLER:RETRY\_EXHAUSTED - MS-WEBCRAWLER:ROBOTS\_DISALLOWED - MS-WEBCRAWLER:TIMEOUT ### Get Page Elements `` Fetches analytical data about a web page including word count, element or tag counts, link structures, and image links. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Path

String

Relative path, resolved against the connection’s base URL, of the page to analyze.

Javascript

String

Browser-context JavaScript executed after page load (not available for HTTP connection). Trusted input only — never bind to user-controlled data; runs with full DOM access.

Enforce robots.txt

Boolean

If true, enforce checks against the robots.txt file.

false

Encoding

String

Encoding for emitted page bodies. Overrides the configuration’s encoding when set.

Output Mime Type

String

The mime type of the payload that this operation outputs.

Output Encoding

String

The encoding of the payload that this operation outputs.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Tag list

Array of String

List of HTML tags for which content must be retrieved.

Wait on page load

Number

The time to wait on page load. On the HTTP connection, values greater than 0 fail with INVALID_PARAMETERS.

0

Wait on page load unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Wait on page load field.

SECONDS

Wait for XPath

String

The XPath to wait for (not available for HTTP connection).

Extract Shadow DOM

Boolean

Extract the Shadow DOM content (not available for HTTP connection).

false

Shadow Host(s) XPath

String

Shadow host(s) to extract by XPath (not available for HTTP connection).

Response Timeout

Number

Response timeout value. Overrides the configuration’s timeout when set.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

#### For Configurations - [Config](#Config) #### Throws - MS-WEBCRAWLER:CONNECTIVITY - MS-WEBCRAWLER:INVALID\_PARAMETERS - MS-WEBCRAWLER:PAGE\_FETCH\_FAILED - MS-WEBCRAWLER:PAGE\_LOAD\_TIMEOUT - MS-WEBCRAWLER:RETRY\_EXHAUSTED - MS-WEBCRAWLER:ROBOTS\_DISALLOWED - MS-WEBCRAWLER:TIMEOUT ## Sources ### On Content Crawl `` A source that crawls a website starting from a configured path, emitting each discovered page as a Mule event. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Path

String

Relative path, resolved against the connection’s base URL, where the crawl starts. When empty or /, the crawl starts at the base URL itself. Fully-qualified URLs are rejected with INVALID_PARAMETERS.

Additional seed URLs

String

Comma-separated list of additional fully-qualified seed URLs to enqueue alongside the path. Each entry must be a fully-qualified URL, and relative paths are dropped. Off-host and off-path entries are dropped and a warning is logged.

Maximum depth

Number

The maximum depth to reach while crawling a website.

0

Queue Name

String

VM queue used to schedule URLs for crawling. When omitted, defaults to webcrawler-{configName}-source-queue.

Object Store

ObjectStore

Object store used for crawl visit fingerprints (content hash, ETag, last-modified, and correlation ID) and the active crawl identity. Use a persistent store so that reconnection and app restart resume the same crawl.

x

Output format

Enumeration, one of:

  • TEXT

  • HTML

  • MARKDOWN

Format applied to each emitted page body.

TEXT

Number Of Consumers

Number

Number of concurrent queue consumers used by this source.

1

Hash route mode

Enumeration, one of:

  • IGNORE

  • PATH

  • PRESERVE

How to treat URLs containing #fragments. IGNORE strips fragments before crawling (default, fits classic server-rendered sites). PATH rewrites SPA-style hash routes (for example, #/page) into real paths (/page). PRESERVE keeps the URL verbatim, fragment included.

IGNORE

Crawl schedule

Periodic re-crawl mode. No Schedule crawls once at start (default). Interval re-seeds at a fixed frequency and time unit. Ticks that occur while a crawl is in progress are coalesced into one pending reseed (no consumer stacking). The schedule is registered on all replicas, but the actual reseed (new correlation ID and seed enqueue) runs on the primary node only.

Encoding

String

Encoding for emitted page bodies. Overrides the configuration’s encoding when set.

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Restrict crawl under URL

Boolean

If true, only internal pages are crawled.

false

Regex URLs filter logic

Enumeration, one of:

  • INCLUDE

  • EXCLUDE

Type of filter logic to apply to regex URLs while crawling.

Regex URLs List

Array of String

List of regex patterns for URLs to include or exclude while crawling.

Pages

Boolean

If true, page content of the crawled URL is emitted.

true

Images

Boolean

If true, images referenced on the crawled URL are emitted.

false

Max image number for each page

Number

Maximum number of images to fetch for each page. 0 means no limit.

0

Documents

Boolean

If true, documents referenced on the crawled URL are emitted.

false

Max document number for each page

Number

Maximum number of documents to fetch for each page. 0 means no limit.

0

Additional Allowed Base URLs

String

Optional comma-separated allowlist for image and document URLs. When set, assets must be under the base URL or one of these base URLs.

Retrieve meta tags

Boolean

If true, meta tags are retrieved from each crawled page.

false

Tag list

Array of String

List of HTML tags for which content must be retrieved.

Delay between pages

Number

The delay introduced between each request.

0

Delay time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Delay between pages field.

SECONDS

Enforce robots.txt

Boolean

If true, enforce checks against the robots.txt file.

false

Wait on page load

Number

The time to wait on page load. On the HTTP connection, values greater than 0 fail with INVALID_PARAMETERS.

0

Wait on page load unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Wait on page load field.

SECONDS

Wait for XPath

String

The XPath to wait for (not available for HTTP connection).

Extract Shadow DOM

Boolean

Extract the Shadow DOM content (not available for HTTP connection).

false

Shadow Host(s) XPath

String

Shadow host(s) to extract by XPath (not available for HTTP connection).

Response Timeout

Number

Response timeout value. Overrides the configuration’s timeout when set.

Response Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Timeout field.

Reconnection Strategy

A retry strategy in case of connectivity errors.

#### Output

Type

Any

Attributes Type

#### For Configurations - [Config](#Config) ## Types ### Default HTTP Proxy Config
FieldTypeDescriptionDefault ValueRequired

Host

String

The proxy host.

x

Port

Number

The proxy port.

x

Username

String

Username for proxy authentication.

Password

String

Password for proxy authentication.

Non Proxy Hosts

String

Comma-separated list of hosts that shouldn’t go through the proxy.

### TLS
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

A comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

A comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the trust store for TLS.

Key Store

Configures the key store for TLS.

Revocation Check

Configures certificate revocation checking.

### Trust Store
FieldTypeDescriptionDefault ValueRequired

Path

String

The location (resolved relative to the current classpath and file system, if possible) of the trust store.

Password

String

The password used to protect the trust store.

Type

String

The type of store used.

Algorithm

String

The algorithm used by the trust store.

Insecure

Boolean

If true, no certificate validations are performed, rendering connections vulnerable to attacks. Use at your own risk.

### Key Store
FieldTypeDescriptionDefault ValueRequired

Path

String

The location (resolved relative to the current classpath and file system, if possible) of the key store.

Type

String

The type of store used.

Alias

String

When the key store contains many private keys, this attribute indicates the alias of the key to use. If not defined, the first key in the file is used.

Key Password

String

The password used to protect the private key.

Password

String

The password used to protect the key store.

Algorithm

String

The algorithm used by the key store.

### Standard Revocation Check
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Only verify the last element of the certificate chain.

Prefer Crls

Boolean

Try CRL instead of OCSP first.

No Fallback

Boolean

Don’t use the secondary checking method (the one not selected before).

Soft Fail

Boolean

Avoid verification failure when the revocation server can’t be reached or is busy.

### Custom OCSP Responder
FieldTypeDescriptionDefault ValueRequired

Url

String

The URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response (must be in the trust store), if present.

### CRL File
FieldTypeDescriptionDefault ValueRequired

Path

String

The path to the CRL file.

### Reconnection
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

The reconnection strategy to use.

### Reconnect
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

Count

Number

How many reconnection attempts to make.

### Reconnect Forever
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

### Pooling Profile
FieldTypeDescriptionDefault ValueRequired

Max Active

Number

Controls the maximum number of Mule components that can be borrowed from a session at one time. When set to a negative value, there’s no limit to the number of components that may be active at one time. When maxActive is exceeded, the pool is said to be exhausted.

Max Idle

Number

Controls the maximum number of Mule components that can sit idle in the pool at any time. When set to a negative value, there’s no limit to the number of Mule components that may be idle at one time.

Max Wait

Number

Specifies the number of milliseconds to wait for a pooled component to become available when the pool is exhausted and the exhaustedAction is set to WHEN_EXHAUSTED_WAIT.

Min Eviction Millis

Number

Determines the minimum amount of time an object may sit idle in the pool before it’s eligible for eviction. When non-positive, no objects are evicted from the pool due to idle time alone.

Eviction Check Interval Millis

Number

Specifies the number of milliseconds between runs of the object evictor. When non-positive, no object evictor is executed.

Exhausted Action

Enumeration, one of:

  • WHEN_EXHAUSTED_GROW

  • WHEN_EXHAUSTED_WAIT

  • WHEN_EXHAUSTED_FAIL

Specifies the behavior of the Mule component pool when the pool is exhausted. Possible values are: WHEN_EXHAUSTED_FAIL, which throws a NoSuchElementException; WHEN_EXHAUSTED_WAIT, which blocks by invoking Object.wait(long) until a new or idle object is available; or WHEN_EXHAUSTED_GROW, which creates a new Mule instance and returns it, essentially making maxActive meaningless. If a positive maxWait value is supplied, it blocks for at most that many milliseconds, after which a NoSuchElementException is thrown. If maxThreadWait is a negative value, it blocks indefinitely.

Initialisation Policy

Enumeration, one of:

  • INITIALISE_NONE

  • INITIALISE_ONE

  • INITIALISE_ALL

Determines how components in a pool should be initialized. Possible values are: INITIALISE_NONE (doesn’t load any components into the pool on startup), INITIALISE_ONE (loads one initial component into the pool on startup), or INITIALISE_ALL (loads all components in the pool on startup).

Disabled

Boolean

Whether pooling should be disabled.

### Expiration Policy
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

The maximum amount of time a dynamic configuration instance can be idle before it’s considered eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Basic
FieldTypeDescriptionDefault ValueRequired

Username

String

Username for basic authentication.

x

Password

String

Password for basic authentication.

x

Preemptive

Boolean

Whether to send credentials preemptively.

false

### API Access Token
FieldTypeDescriptionDefault ValueRequired

Token

String

The API access token used to authenticate to the remote browser endpoint.

x

### Interval
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often the crawl re-seeds.

x

Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Frequency field.

SECONDS

### Page Response Attributes
FieldTypeDescriptionDefault ValueRequired

Cache Control

String

The cache-control header value from the page response.

Content Type

String

The content type of the page response.

Depth

Number

The crawl depth at which this page was discovered.

Etag

String

The ETag header value from the page response.

Event Type

Enumeration, one of:

  • PAGE

  • IMAGE

  • DOCUMENT

The type of emitted event.

File Name

String

The file name of the emitted image or document.

Last Modified

DateTime

The last-modified timestamp from the page response.

Meta Tags

String

The meta tags retrieved from the page.

Other Attributes

Object

Additional attributes returned by the operation.

Size

Number

The size of the emitted content in bytes.

Status Code

Number

The HTTP status code of the page response.

Title

String

The page title.

Url

String

The page URL.

### Repeatable In Memory Stream
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

The amount of memory allocated to consume the stream and provide random access to it. If the stream contains more data than fits in this buffer, the buffer expands according to the Buffer Size Increment field, with an upper limit of Max Buffer Size.

Buffer Size Increment

Number

How much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means the buffer doesn’t expand, and a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

Max Buffer Size

Number

The maximum amount of memory to use. If more is used, a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to zero means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Initial Buffer Size, Buffer Size Increment, and Max Buffer Size fields.

### Repeatable File Store Stream
FieldTypeDescriptionDefault ValueRequired

In Memory Size

Number

The maximum memory the stream uses to keep data in memory. If more is consumed, content is buffered on disk.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Size field.

### Redelivery Policy
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message.

Message Digest Algorithm

String

The secure hashing algorithm to use. If not set, the default is SHA-256.

Message Identifier

Defines which strategy is used to identify the messages.

Object Store

ObjectStore

The object store where the redelivery counter for each message is stored.

### Redelivery Policy Message Identifier
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

Whether to use a secure hash algorithm to identify a redelivered message.

Id Expression

String

Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false.

### urlset
FieldTypeDescriptionDefault ValueRequired

Urlset

List of URL entries in the sitemap.

x

### Anon Type\_urlset
FieldTypeDescriptionDefault ValueRequired

Url

List of URL entries in the sitemap.

x

### tURL
FieldTypeDescriptionDefault ValueRequired

Loc

String

The URL location.

x

Lastmod

String

The date of last modification.

Changefreq

Enumeration, one of:

  • always

  • hourly

  • daily

  • weekly

  • monthly

  • yearly

  • never

How frequently the page is likely to change.

Priority

Number

The priority of this URL relative to other URLs on the site (0.0 to 1.0).

### Sitemap Response Attributes
FieldTypeDescriptionDefault ValueRequired

Count

Number

The total number of URLs in the sitemap.

Depth

Number

The configured maximum crawl depth.

Other Attributes

Object

Additional attributes.

Url

String

The root URL of the crawled site.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

The source error type to map from.

Target

String

The target error type to map to.

x

--- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # Using Anypoint Code Builder to Configure MuleSoft WebCrawler Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](https://docs.mulesoft.com/anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](/mulesoft/current/en-us/connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](https://docs.mulesoft.com/anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](/mulesoft/current/en-us/anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A trigger (source) starts the flow when specified conditions are met. If a connector has its own associated sources, you can use a connector-specific trigger to initiate the flow. Each connector trigger has a unique configuration. You can configure the following sources for this connector: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener trigger, follow these steps: 1. Click the **Listener** component on the canvas UI. 2. (Optional) Click the edit icon to change the name of the **Listener** component. 3. (Optional) If you created a configuration file for the connector, select it. 4. In the **General** tab, in the **Path** field, enter the relative path for the path set in the HTTP configuration element. See [Configure Paths](https://docs.mulesoft.com/http-connector/latest/http-listener-ref#configure-paths). 5. Select the **Advanced** tab to configure the following attributes:
AttributeDescriptionRequired

Allowed methods

To allow all HTTP methods (default), do not define this attribute. To restrict certain methods, specify all allowed HTTP methods, for example, GET, POST, as a comma-separated list.

No

Response streaming mode

Whether to use streaming when the response is sent.

No

Output MIME type

MIME type of the payload that this component outputs.

No

Parameters

Appends a key-value pair for a reader property to the value of the Output MIME attribute. Multiple key-value pairs are allowed.

No

Output encoding

Encoding of the payload that this component outputs.

No

Streaming Strategy

Configures the way data streams are consumed in Mule apps.

No

Primary node only

Select this option to execute the Listener trigger on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

See HTTP Response Attributes.

No

Error Response

HTTP error response returns a status code for the error.

No

Body

Body of the error message.

No

Headers

Headers to include in the error message.

No

Status code

Status code of the error response, for example, 500.

No

Reason phrase

Reason for the error, for example, Gateway Timeout or Internal Server Error.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](/mulesoft/current/en-us/connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](/mulesoft/current/en-us/connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](/mulesoft/current/en-us/anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](/mulesoft/current/en-us/anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## See Also - [Anypoint Code Builder Overview](https://docs.mulesoft.com/anypoint-code-builder/) - [Creating Integrations](https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](https://docs.mulesoft.com/anypoint-code-builder/int-trigger-flows) - [Configuring Components](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) --- product: MuleSoft WebCrawler Connector version: 1.0 is-latest-version: true --- # Using Anypoint Studio to Configure MuleSoft WebCrawler Connector 1.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). When you run the connector, you can view the app log to check for problems in real time, as described in [View the App Log](#view-app-log). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for MuleSoft WebCrawler (MuleSoft WebCrawler Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add MuleSoft WebCrawler Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `mulesoft webcrawler` in the search field. 3. Click **MuleSoft WebCrawler Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio doesn’t make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with MuleSoft WebCrawler Connector: - **On Content Crawl** Crawls a website starting from a configured path, emitting each discovered page, image, or document as a Mule event. Supports deduplication via an object store and URL scheduling via a VM queue. - **HTTP Listener** Initiates a flow each time it receives a request on the configured host and port. - **Scheduler** Initiates a flow when a time-based condition is met. For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for MuleSoft WebCrawler Connector: 1. In **Mule Palette**, select **MuleSoft WebCrawler Connector** and then select the operation to add. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the connection settings that the connector requires to access the target web resources. To configure the global element for MuleSoft WebCrawler Connector: 1. Select the operation in the Studio canvas. 2. In the **General** configuration screen for the operation, click the **Add** icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the connection type to configure: - [HTTP](#http) - [Remote WebDriver](#remote-webdriver) You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your connection settings in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, refer to [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). 4. In the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 5. Click **Test Connection** to confirm that Mule can connect with the specified server. 6. Click **OK**. ### HTTP Use the HTTP connection type for crawling static web content. Enter this information in the **General** tab of the **Global Element Properties** screen to configure the HTTP connection:
FieldUser Action

Name

Enter the configuration name.

Connection

Select HTTP.

Base URL

Enter the base URL against which relative paths are resolved.

Browser User Agent

Enter the browser user-agent advertised on outbound requests.

Proxy Configuration

Configure a proxy for outbound HTTP requests. Specify host, port, and optional credentials.

Response timeout

Enter the connect and read timeout for the connection’s HTTP client. Default is 30 seconds.

Response timeout unit

Select the time unit for the response timeout.

Optionally configure TLS settings for secure connections in the **TLS** tab. ### Remote WebDriver Use the Remote WebDriver connection type for crawling dynamic web content that requires JavaScript rendering. Enter this information in the **General** tab of the **Global Element Properties** screen to configure the Remote WebDriver connection:
FieldUser Action

Name

Enter the configuration name.

Connection

Select Remote WebDriver.

Base URL

Enter the base URL against which relative paths are resolved.

Remote Browser URL

Enter the URL of your own remote Selenium WebDriver endpoint (for example, Selenium Grid, standalone ChromeDriver, or BrowserStack). Chromium-only (Chrome, Chromium, Edge).

Browser User Agent

Enter the browser user-agent advertised on outbound requests.

Browser Authentication

Select the authentication used to reach the remote browser endpoint: None, Basic, or API Access Token.

Proxy Configuration

Configure a proxy for outbound HTTP requests. Specify host, port, and optional credentials.

Response timeout

Enter the connect and read timeout for the connection’s HTTP client. Default is 30 seconds.

Response timeout unit

Select the time unit for the response timeout.

Optionally configure TLS settings for secure connections in the **TLS** tab. You can also configure a **Pooling Profile** in the **Advanced** tab to control connection pool behavior. ## Configure Additional Connector Fields After you configure a global element for the connector, configure the other required fields. The required fields vary depending on which connector operation you use. For detailed configuration information for each operation type, see [MuleSoft WebCrawler Connector - Additional Configuration Information](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-additional-config). ## View the App Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [MuleSoft WebCrawler Connector Reference](https://docs.mulesoft.com/mulesoft-webcrawler-connector/latest/mulesoft-webcrawler-connector-reference) - [Salesforce Help](https://help.salesforce.com)