---
title: "API Documentation"
description: "Complete API reference for WebScraping.AI. Learn how to scrape websites, extract data with AI, and integrate with your applications."
url: https://webscraping.ai/docs#text
markdown_index: https://webscraping.ai/llms.txt
---
## Get Page Text

Convert a webpage to clean Markdown — boilerplate stripped, headings, lists, and links preserved (table cells come through as plain text). Perfect for feeding content to LLMs and RAG pipelines. [Try it on any URL](https://webscraping.ai/tools/html-to-markdown).

`GET /text`

##### Parameters [→ All parameters reference](https://webscraping.ai/docs/parameters.md)

| Parameter | Type | Description |
| --- | --- | --- |
| url required | string | URL of the webpage |
| text\_format optional | string | "plain" (default) returns raw Markdown; "json"/"xml" wrap it with title and description |
| return\_links optional | boolean | Include links in JSON response (default: false) |

##### Example with JSON format

**cURL**

```bash
curl -G "https://api.webscraping.ai/text" \
  --data-urlencode "api_key=YOUR_API_KEY" \
  --data-urlencode "url=https://example.com" \
  --data-urlencode "text_format=json"
```

**Python**

```python
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client

client = Client(api_key="YOUR_API_KEY")
result = client.text("https://example.com", text_format="json")
print(result)
```

**JavaScript**

```javascript
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';

const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.text({
  url: 'https://example.com',
  text_format: 'json',
});
console.log(result);
```

**PHP**

```php
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';

use WebScrapingAI\Client;

$client = new Client('YOUR_API_KEY');
$result = $client->text('https://example.com', textFormat: 'json');
print_r($result);
```

**Ruby**

```ruby
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'

client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.text('https://example.com', text_format: 'json')
puts result.inspect
```

**Go**

```go
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main

import (
    "context"
    "fmt"

    webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)

func main() {
    client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
    text, _ := client.Text(context.Background(), &webscrapingai.TextOptions{
        URL: "https://example.com",
        TextFormat: "json",
    })
    fmt.Println(text)
}
```

**Java**

```java
// Maven: ai.webscraping:webscraping-ai:4.3.1
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.TextOptions;

Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
String text = client.text(TextOptions.builder()
    .url("https://example.com")
    .textFormat("json")
    .build());
System.out.println(text);
```

**C#**

```csharp
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;

var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var text = await client.TextAsync(new TextRequest {
    Url = "https://example.com",
    TextFormat = "json",
});
Console.WriteLine(text);
```

##### Response

```json
{
  "title": "Example Domain",
  "description": "This domain is for use in illustrative examples...",
  "content": "Example Domain\n\nThis domain is for use in illustrative examples in documents..."
}
```
