Batch

Configuring Batch Requests

Every batch request starts with a list of URLs.

You can further customize how those URLs are processed by configuring output formats, JavaScript rendering, proxy settings, custom headers, and other optional request parameters.

About the examples

All examples in this guide create a new batch job.

Regardless of which request options you use, the Batch endpoint immediately returns a job ID and begins processing the accepted URLs in the background.

Request Body Overview

The following request fields are available when creating a batch job.

FieldRequiredDescription
urlsList of URLs to process.
ignore_invalid_urlsNoContinue processing even if some URLs are invalid.
formatsNoChoose the output format for extracted content.
render_jsNoRender JavaScript before extraction.
processing_modeNoConfigure how URLs are processed.
proxyNoRoute requests through a proxy.
headersNoInclude custom HTTP headers.
wait_configNoWait for dynamic content before extraction.

All of these options are optional except urls.


URLs

Every batch request must include one or more valid URLs.

{
  "urls": [
    "https://geonode.com",
    "https://docs.geonode.com"
  ]
}

Each URL is processed independently as part of the same batch job.


Ignoring Invalid URLs

By default, every URL must be valid.

If you want Geonode to continue processing valid URLs while skipping invalid ones, enable ignore_invalid_urls.

{
  "urls": [
    "https://geonode.com",
    "https://docs.geonode.com",
    "not-a-valid-url"
  ],
  "ignore_invalid_urls": true
}

For a complete example of how invalid URLs are handled, see Your First Batch.


Output Formats

Choose one or more output formats for the extracted content.

{
  "urls": [
    "https://geonode.com"
  ],
  "formats": [
    "markdown",
    "html"
  ]
}

Learn more in Output Formats.


JavaScript Rendering

Enable JavaScript rendering for websites that load content dynamically.

{
  "urls": [
    "https://geonode.com"
  ],
  "render_js": true
}

Learn more in JavaScript Rendering.


Processing Mode

Control how the batch request is processed.

{
  "urls": [
    "https://geonode.com"
  ],
  "processing_mode": "parallel"
}

Learn more in Processing Modes.


Proxy Configuration

Use a proxy when accessing geo-restricted or protected websites.

{
  "urls": [
    "https://geonode.com"
  ],
  "proxy": {
    "...": "..."
  }
}

Learn more in Proxy & Geo-Targeting.


Custom Headers

Include custom HTTP headers with every request.

{
  "urls": [
    "https://geonode.com"
  ],
  "headers": {
    "Authorization": "Bearer YOUR_TOKEN"
  }
}

Learn more in Using Custom Headers.


Waiting for Dynamic Content

Delay extraction until specific content becomes available.

{
  "urls": [
    "https://geonode.com"
  ],
  "wait_config": {
    "...": "..."
  }
}

Learn more in Waiting for Dynamic Content.


Complete Example

The following example combines several request options.

{
  "urls": [
    "https://geonode.com",
    "https://docs.geonode.com"
  ],
  "formats": [
    "markdown"
  ],
  "render_js": true,
  "ignore_invalid_urls": true
}

The response immediately returns a queued batch job.

{
  "job_id": "e9379def-8986-4624-86f1-f49c35afe711",
  "status": "queued",
  "status_url": "/v1/batch/e9379def-8986-4624-86f1-f49c35afe711",
  "accepted_urls": 2,
  "invalid_urls": []
}

Next Steps

Continue to Batch Results to learn how to monitor batch jobs, retrieve completed results, and understand the different job states.

On this page