---
title: "import.http | Grafana Agent documentation"
description: "Learn about the import.http configuration block"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# import.http

`import.http` retrieves a module from an HTTP server.

## Usage

Alloy ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```alloy
import.http "LABEL" {
  url = URL
}
```

## Arguments

The following arguments are supported:

Expand table

| Name             | Type          | Description                             | Default | Required |
|------------------|---------------|-----------------------------------------|---------|----------|
| `url`            | `string`      | URL to poll.                            |         | yes      |
| `method`         | `string`      | Define the HTTP method for the request. | `"GET"` | no       |
| `headers`        | `map(string)` | Custom headers for the request.         | `{}`    | no       |
| `poll_frequency` | `duration`    | Frequency to poll the URL.              | `"1m"`  | no       |
| `poll_timeout`   | `duration`    | Timeout when polling the URL.           | `"10s"` | no       |

## Example

This example imports custom components from an HTTP response and instantiates a custom component for adding two numbers:

HTTP response

Alloy ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```alloy
declare "add" {
  argument "a" {}
  argument "b" {}

  export "sum" {
    value = argument.a.value + argument.b.value
  }
}
```

importer.river

Alloy ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```alloy
import.http "math" {
  url = SERVER_URL
}

math.add "default" {
  a = 15
  b = 45
}
```
