> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-paula-tree-202-entitlements-group-troubles.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating A URL Monitor

> Step-by-step guide to set up your first URL monitor and ensure your websites and APIs are always accessible.

This guide walks you through creating your first URL monitor to check the availability and performance of your websites, APIs, or any HTTP-based service.

Each URL monitor is defined by its request configuration, which includes the target URL and how its availability and performance should be validated.

<Tip>
  **Monitoring as Code**: To get started with your first URL Monitor using code, learn more about the [URL Monitor Construct](/constructs/url-monitor).
</Tip>

## Basic Setup

Configure your URL monitor by specifying the endpoint and request method:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-paula-tree-202-entitlements-group-troubles/jTr3tIQkfgx8rLLP/images/url-monitor-entry.png?fit=max&auto=format&n=jTr3tIQkfgx8rLLP&q=85&s=fc94d4af51adab416c64c89bf8e03aa4" alt="URL monitor setup interface showing HTTP method selection, URL input field, and options for Skip SSL and Follow redirects" width="2390" height="456" data-path="images/url-monitor-entry.png" />
</Frame>

* **Request method:** Always `GET`
* **URL:** The HTTP(S) URL to monitor (e.g. `https://api.example.com`)
* **IP family:** Defaults to IPv4

## Response Validation

### Assertions

Validate the returned response status code:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-paula-tree-202-entitlements-group-troubles/jTr3tIQkfgx8rLLP/images/url-monitor-assertions.png?fit=max&auto=format&n=jTr3tIQkfgx8rLLP&q=85&s=2f368cc5378e0fe531275babc1ef5335" alt="URL monitor assertions interface showing status code configuration" width="2376" height="440" data-path="images/url-monitor-assertions.png" />
</Frame>

### Response Performance

Define performance thresholds for degraded or failed states:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-paula-tree-202-entitlements-group-troubles/jTr3tIQkfgx8rLLP/images/url-monitor-response-times.png?fit=max&auto=format&n=jTr3tIQkfgx8rLLP&q=85&s=c68f357898ab45ed2e24045566fc653f" alt="URL monitor response time limits interface showing degraded and failed thresholds" width="2394" height="500" data-path="images/url-monitor-response-times.png" />
</Frame>

## Frequency

Set how often the monitor runs (every 10 seconds to 24 hours).

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-paula-tree-202-entitlements-group-troubles/jTr3tIQkfgx8rLLP/images/url-monitor-frequency.png?fit=max&auto=format&n=jTr3tIQkfgx8rLLP&q=85&s=ff469f7676b8fc2c05ed17ec16e961fb" alt="URL monitor frequency interface showing 10 seconds to 24 hours options" width="1580" height="366" data-path="images/url-monitor-frequency.png" />
</Frame>

## Scheduling & Locations

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-paula-tree-202-entitlements-group-troubles/jTr3tIQkfgx8rLLP/images/url-monitor-scheduling-strategy.png?fit=max&auto=format&n=jTr3tIQkfgx8rLLP&q=85&s=bb44e95ad96a25673f57daf37ae3f6fd" alt="URL monitor scheduling strategy interface showing round robin vs fixed schedule options" width="1574" height="1370" data-path="images/url-monitor-scheduling-strategy.png" />
</Frame>

* **Scheduling:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](/concepts/scheduling)
* **Locations:** Select one or more [public](/concepts/locations) or [private](/platform/private-locations/overview) locations to run the monitor from

## Additional Settings

* **Name:** Give your monitor a clear name to identify it in dashboards and alerts
* **Tags:** Use tags to organize monitors across dashboards and [maintenance windows](/communicate/maintenance-windows/overview)
* **Retries:** Define how failed runs should be retried. See [retry strategies](/communicate/alerts/retries)
* **Alerting:** Configure your [alert settings](/communicate/alerts/configuration), [alert channels](/communicate/alerts/channels), or set up [webhooks](/communicate/alerts/webhooks) for custom integrations
