# Overview

Skrape{it} offers an unified, intuitive and DSL-controlled way to make parsing of websites as comfortable as possible.&#x20;

* [x] [Http-Client DSL](/docs/http-client/request-options.md) without verbosity and ceremony to make requests and corresponding request options like headers, cookies etc. in a fluent style interface.&#x20;
* [x] [Pre-configure a client](/docs/http-client/pre-configure-client.md) once to either reuse it or adjust only the things that differ at certain requests - especially handy while working with authentication flows or custom headers.
* [x] Can [handle client side rendered web pages](/docs/http-client/fetchers/browserfetcher.md) (e.g. pages created with frameworks like React.js, Angular or Vue.js or pages manipulated with jQuery or other javascript)

A Http request is done as easy as in the given example. Just call the `skrape` function wherever you want in your code. It will force you to pass a [fetcher](/docs/http-client/fetchers.md) and makes further[ request option](/docs/http-client/request-options.md) available in the clojure.&#x20;

```kotlin
skrape(HttpFetcher) { // <-- pass any Fetcher, e.g. HttpFetcher, BrowserFetcher, ...
    request {
        // ... request options goes here, e.g the most basic would be url
    }
    response {
        // do stuff with the response like parsing the response body ...
    }
}
```

{% hint style="info" %}
The http-request is only executed after either the `response` function has been called. This behaviour also allows to[ preconfigure the http-client](/docs/http-client/pre-configure-client.md) and reusing request settings for multiple calls.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skrape.it/docs/http-client/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
