---
title: "WMS connection failed"
description: "Fix a WMS connection error on the Connect button. Check the full GetCapabilities URL, HTTPS, CORS limits, authentication, and the WMS XML."
---

If `Connect` shows a WMS fetch or parse error, MangoMap could not read the GetCapabilities response from the URL.

Work through these checks in order. The first one that fails points to its fix in the sections below:

<!-- diagram:wms-connection-triage -->
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 768" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="wms-connection-triage-inline-title wms-connection-triage-inline-desc">
  <title id="wms-connection-triage-inline-title">Why Connect fails</title>
  <desc id="wms-connection-triage-inline-desc">Flowchart: check that the URL returns XML in a browser tab, starts with https://, has no CORS error, needs no login, and is a WMS rather than WMTS or WFS; each failed check points to its fix or means the service can’t be connected; if all pass, add version=1.3.0 and test the URL with curl.</desc>
  <defs>
    <marker id="wms-connection-triage-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="wms-connection-triage-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <path d="M200 60 L200 82" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M328 128 L358 128" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M328 248 L358 248" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M328 368 L358 368" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M328 488 L358 488" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M328 608 L358 608" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M200 172 L200 202" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M200 292 L200 322" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M200 412 L200 442" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M200 532 L200 562" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <path d="M200 652 L200 690" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-arrow)"/>
  <rect x="330" y="104" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="116" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="224" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="236" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="344" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="356" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="464" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="476" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="584" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="596" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="204" y="180" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="221" y="192" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="300" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="221" y="312" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="420" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="221" y="432" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="540" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="221" y="552" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="660" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="221" y="672" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="80" y="16" width="240" height="44" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="200" y="43" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Connect shows an error</text>
  <polygon points="200,84 328,128 200,172 72,128" fill="rgba(196,54,12,0.08)" stroke="#c4360c" stroke-width="1.4"/><text x="200" y="123" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Returns XML in</text><text x="200" y="141" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a browser tab?</text>
  <polygon points="200,204 328,248 200,292 72,248" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="200" y="243" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Starts with</text><text x="200" y="261" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">https://?</text>
  <polygon points="200,324 328,368 200,412 72,368" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="200" y="363" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">No CORS error in</text><text x="200" y="381" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">the Network tab?</text>
  <polygon points="200,444 328,488 200,532 72,488" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="200" y="483" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Works without</text><text x="200" y="501" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a login?</text>
  <polygon points="200,564 328,608 200,652 72,608" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="200" y="603" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">A WMS, not</text><text x="200" y="621" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">WMTS or WFS?</text>
  <rect x="360" y="96" width="264" height="64" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="492" y="125" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Add the GetCapabilities query</text><text x="492" y="143" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">?service=WMS&amp;request=GetCapabilities</text>
  <rect x="360" y="216" width="264" height="64" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="492" y="245" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Change http:// to https://</text><text x="492" y="263" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">no HTTPS at the provider: can’t connect</text>
  <rect x="360" y="336" width="264" height="64" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="492" y="365" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Ask the provider to allow CORS</text><text x="492" y="383" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">until they do: can’t connect</text>
  <rect x="360" y="456" width="264" height="64" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="492" y="485" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Use a URL with a token in it</text><text x="492" y="503" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">or import the data as a file</text>
  <rect x="360" y="576" width="264" height="64" rx="6" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="492" y="605" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Use the provider’s WMS URL</text><text x="492" y="623" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">no WMS at all: can’t connect</text>
  <rect x="60" y="692" width="280" height="60" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <text x="200" y="717" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Add &amp;version=1.3.0</text>
  <text x="200" y="735" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">still failing? Test the URL with curl -i</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 768" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="wms-connection-triage-inline-dark-title wms-connection-triage-inline-dark-desc">
  <title id="wms-connection-triage-inline-dark-title">Why Connect fails</title>
  <desc id="wms-connection-triage-inline-dark-desc">Flowchart: check that the URL returns XML in a browser tab, starts with https://, has no CORS error, needs no login, and is a WMS rather than WMTS or WFS; each failed check points to its fix or means the service can’t be connected; if all pass, add version=1.3.0 and test the URL with curl.</desc>
  <defs>
    <marker id="wms-connection-triage-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="wms-connection-triage-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <path d="M200 60 L200 82" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M328 128 L358 128" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M328 248 L358 248" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M328 368 L358 368" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M328 488 L358 488" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M328 608 L358 608" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M200 172 L200 202" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M200 292 L200 322" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M200 412 L200 442" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M200 532 L200 562" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <path d="M200 652 L200 690" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#wms-connection-triage-inline-dark-arrow)"/>
  <rect x="330" y="104" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="116" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="224" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="236" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="344" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="356" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="464" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="476" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="330" y="584" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="596" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="204" y="180" width="34" height="16" rx="2" fill="#141414"/><text x="221" y="192" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="300" width="34" height="16" rx="2" fill="#141414"/><text x="221" y="312" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="420" width="34" height="16" rx="2" fill="#141414"/><text x="221" y="432" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="540" width="34" height="16" rx="2" fill="#141414"/><text x="221" y="552" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="204" y="660" width="34" height="16" rx="2" fill="#141414"/><text x="221" y="672" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="80" y="16" width="240" height="44" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="200" y="43" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Connect shows an error</text>
  <polygon points="200,84 328,128 200,172 72,128" fill="rgba(255,122,77,0.10)" stroke="#ff7a4d" stroke-width="1.4"/><text x="200" y="123" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Returns XML in</text><text x="200" y="141" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a browser tab?</text>
  <polygon points="200,204 328,248 200,292 72,248" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="200" y="243" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Starts with</text><text x="200" y="261" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">https://?</text>
  <polygon points="200,324 328,368 200,412 72,368" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="200" y="363" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">No CORS error in</text><text x="200" y="381" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">the Network tab?</text>
  <polygon points="200,444 328,488 200,532 72,488" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="200" y="483" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Works without</text><text x="200" y="501" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a login?</text>
  <polygon points="200,564 328,608 200,652 72,608" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="200" y="603" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">A WMS, not</text><text x="200" y="621" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">WMTS or WFS?</text>
  <rect x="360" y="96" width="264" height="64" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="492" y="125" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Add the GetCapabilities query</text><text x="492" y="143" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">?service=WMS&amp;request=GetCapabilities</text>
  <rect x="360" y="216" width="264" height="64" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="492" y="245" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Change http:// to https://</text><text x="492" y="263" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">no HTTPS at the provider: can’t connect</text>
  <rect x="360" y="336" width="264" height="64" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="492" y="365" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Ask the provider to allow CORS</text><text x="492" y="383" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">until they do: can’t connect</text>
  <rect x="360" y="456" width="264" height="64" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="492" y="485" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Use a URL with a token in it</text><text x="492" y="503" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">or import the data as a file</text>
  <rect x="360" y="576" width="264" height="64" rx="6" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="492" y="605" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Use the provider’s WMS URL</text><text x="492" y="623" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">no WMS at all: can’t connect</text>
  <rect x="60" y="692" width="280" height="60" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <text x="200" y="717" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Add &amp;version=1.3.0</text>
  <text x="200" y="735" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">still failing? Test the URL with curl -i</text>
</svg>
<!-- /diagram:wms-connection-triage -->

## Most likely cause: the URL is wrong or incomplete

The `WMS GetCapabilities URL` field expects the full GetCapabilities request URL. A common mistake is to paste the WMS service's base URL without the `?service=WMS&request=GetCapabilities` query parameters. Here, the swisstopo service's base URL gets an error because the service sends back an HTML page, not a capabilities document:

<img src="/_assets/importing-data/troubleshoot-wms-connection--error.png" alt="Import data page with Data format WMS, the URL https://wms.geo.admin.ch/, and the alert An error occurred while fetching or parsing the WMS data, ending Error: (Unknown code) No service information found in the XML document" width="1600" height="960" />

**How to verify.**

Open the URL directly in a new browser tab. A correct GetCapabilities URL returns an XML document that begins with `<?xml version="1.0" ...?>` and contains `<WMS_Capabilities>` or `<WMT_MS_Capabilities>` near the top.

**Fix.**

If the page is blank, an HTML error, or anything other than XML, append the standard GetCapabilities query parameters:
```text
https://example.com/geoserver/wms?service=WMS&request=GetCapabilities
```
Some providers also require `&version=1.3.0`.

## Less common: the service is HTTP, not HTTPS

MangoMap only accepts HTTPS GetCapabilities URLs. If yours starts with `http://`, the form rejects it before sending — you'll see `Only HTTPS URLs are supported` instead of the parse error.

**Fix.**

Try replacing `http://` with `https://`. Most public WMS services support both. If the provider only offers HTTP, the service cannot be connected to MangoMap.

## Less common: the service blocks browser requests (CORS)

Some WMS services don't include the CORS headers that allow a browser to read the response from another origin. The browser fetches the URL fine when you paste it directly, but MangoMap's request fails because the response isn't readable.

**How to verify.**

Open your browser's developer tools (`F12` or `⌘⌥I`), watch the `Network` tab while clicking `Connect`, and check the failed request for a CORS error in the console.

**Fix.**

CORS is a server-side configuration. The provider must enable it. If you don't control the WMS, contact the provider and ask them to add `Access-Control-Allow-Origin: *` (or your account's origin) to their WMS responses. There is no client-side workaround.

## Less common: the service requires authentication

Some WMS services require credentials. If the URL needs HTTP basic auth or a token, embedding credentials in the URL (`https://user:pass@host/...`) sometimes works but is unreliable. MangoMap doesn't have a separate authentication field for WMS.

**Fix.**

If your provider supports an unauthenticated WMS endpoint or token-in-URL, use that. Otherwise, this service can't be connected to MangoMap directly — download the data and import it as a vector file instead.

## Less common: the response isn't valid WMS XML

The URL returns something other than a GetCapabilities document — for example, an HTML error page wrapped in XML, a WMTS capabilities document instead of WMS, or a malformed XML response.

**How to verify.**

The error alert in MangoMap shows the underlying parse error below the main message. If it mentions XML parsing or unexpected elements, the response shape is the problem.

**Fix.**

Confirm the URL points to a WMS service (not WMTS, not WFS). Try adding `&version=1.3.0` to force a specific version.

## If none of the above

Test your GetCapabilities URL with `curl -i` from a terminal. Replace the example URL with yours:

```console
$ curl -i "https://example.com/geoserver/wms?service=WMS&request=GetCapabilities"
HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>
<WMS_Capabilities version="1.3.0" ...>
```

- A `200 OK` with XML body confirms the service is reachable from the public internet.
- A `403`, `401`, or HTML body points to authentication or routing issues at the provider.
- A network error confirms the URL is unreachable.

If the URL works in `curl` and in a browser tab but fails from MangoMap, the most likely remaining cause is CORS — contact the provider.

## Related

- [How to connect a WMS service](/docs/importing-data/connect-a-wms-service)
- [Supported file formats and limits](/docs/importing-data/supported-formats)
