# 📄 Website to Clean Text & Markdown \[From 💰$0.50/1K] (`misterkhan/ai-markdown-crawler`) Actor

\[From $0.50/1K] Convert any list of webpage URLs into clean, readable Markdown and structured text — automatically removing ads, cookie banners, popups, and navigation clutter.

- **URL**: https://apify.com/misterkhan/ai-markdown-crawler.md
- **Developed by:** [Khan](https://apify.com/misterkhan) (community)
- **Categories:** AI, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📄 Website to Clean Text & Markdown \[From 💰$0.50/1K]

**\[From $0.50/1K] Convert any list of webpage URLs into clean, readable Markdown and structured text — automatically removing ads, cookie banners, popups, and navigation clutter.**

Paste one or more Any Website URLs and get back every webpage document in clean, structured data. Export your results to **Excel, CSV, JSON**, or connect directly to Google Sheets, Airtable, and your favorite workflow tools.

***

### ✨ What Makes This Different

| Feature | Why It Matters |
|---|---|
| **Clean, Clutter-Free Page Content** | Strips out navigation bars, footers, cookie notices, and ad scripts so you only get the actual article or page content. |
| **Preserves Headings, Lists & Tables** | Keeps the document hierarchy intact in clean Markdown format ready for AI tools, Notion, or spreadsheets. |
| **Works on Protected & Dynamic Websites** | Handles modern websites automatically without requiring you to configure proxies. |

***

### 📥 How to Use

1. Click **Try for free**
2. Paste one or more URLs into **Start URLs** (for example: `https://example.com`)
3. Set **Max Results** to choose how many clean webpage documents you want to collect
4. Click **Start**
5. Download your data from the **Dataset** tab in **Excel, CSV, or JSON**

***

### 📤 What You Get

Each record includes:

- 📝 **Clean Markdown Content** — full webpage body formatted with headings, bullet points, and links
- 🏷️ **Page Title & Meta Description** — document title and summary description
- 📊 **Word & Token Count** — length metrics to help size documents for AI prompts or summaries
- 🔗 **Extracted Page Links** — list of outgoing links found on the page

**Example output:**

```json
{
  "url": "https://example.com/guides/pricing-strategy",
  "title": "Complete Guide to SaaS Pricing Strategy",
  "description": "How modern software companies structure usage-based and tiered pricing plans.",
  "markdown": "# Complete Guide to SaaS Pricing Strategy\n\nChoosing the right pricing model is one of the highest-leverage levers for growth...\n\n## Key Takeaways\n- Align pricing with customer value\n- Keep tiers easy to understand",
  "word_count": 1420,
  "estimated_tokens": 1890,
  "links_count": 18
}
```

***

### 🎯 Popular Use Cases

- **AI Knowledge Bases & Custom GPTs** — Turn help centers, documentation, and blogs into clean text for AI assistants
- **Content Research & Summarization** — Collect articles and competitor landing pages into a spreadsheet for analysis
- **Website Archiving & Migration** — Export existing web pages into clean Markdown documents
- **Market & Copywriting Audits** — Compare messaging and page structure across dozens of competitor websites

***

### ⚙️ Input Options

| Field | Description |
|---|---|
| **Start URLs** | One or more Any Website URLs to collect data from |
| **Max Results** | Maximum number of clean webpage documents to collect per run (default: `25`) |

***

### 💰 Cost & Free Tier

This Actor uses simple **Pay-Per-Result** pricing with a **`$0.00` start fee** — you only pay for the clean webpage documents successfully delivered to your dataset.

- **Try for Free:** With Apify's **free $5 monthly credit**, you can test the scraper at no cost (Free plan runs collect up to `25` clean webpage documents per run).
- **Volume Discounts on Paid Plans:** Upgrading to an Apify paid plan unlocks unlimited results per run and automatic volume discounts up to **90% off**:

| Apify Plan | Price per 1,000 Results | Price per Result | Per-Run Limit |
| :--- | :---: | :---: | :--- |
| **Free Plan** | **`$5.00 / 1K`** | `$0.0050` | Up to `25` results / run |
| **Starter (Bronze)** | **`$1.10 / 1K`** | `$0.0011` | Unlimited |
| **Scale (Silver)** | **`$0.80 / 1K`** | `$0.0008` | Unlimited |
| **Business+ (Gold / Platinum / Diamond)** | **`$0.50 / 1K`** | `$0.0005` | Unlimited |

***

### ❓ FAQ

**Do I need to configure proxies or accounts?**
No. Everything works out of the box with zero proxy setup and no login required.

**Can I pass multiple URLs in one run?**
Yes! Add as many URLs as you need to **Start URLs** and the scraper will collect clean webpage documents across all of them up to your **Max Results** limit.

**Can I download the results as an Excel or CSV spreadsheet?**
Yes. Once the run finishes, open the **Dataset** tab and click **Export** to download your data in Excel (`.xlsx`), CSV, JSON, or HTML table format.

***

### 🔗 Related Actors from Our Store

Combine this Actor with our other **`128 MB` Pay-Per-Event (PPE)** tools in the same workflow (`$0.00` start fee):

| Related Actor | Best For | Starting Price |
| :--- | :--- | :--- |
| **[📍 Google Maps Places Scraper](https://apify.com/misterkhan/google-maps-scraper)** | Local business leads, phones, websites, ratings & coordinates | **From 💰`$0.55 / 1K`** |
| **[📢 Facebook Ads Library Scraper](https://apify.com/misterkhan/facebook-ads-library-scraper)** | Meta Ad Library spy — HD video MP4s, ad copy, landing pages, UTMs & days active | **From 💰`$0.45 / 1K`** |
| **[📧 Website Contact & Email Scraper](https://apify.com/misterkhan/contact-enricher-scraper)** | Extract business emails, phone numbers & social links from any website domain | **From 💰`$0.60 / 1K`** |
| **[🧩 Website Tech Stack Scanner](https://apify.com/misterkhan/website-tech-stack-scanner)** | Detect 7,000+ technologies, CMS, analytics, ad pixels & e-commerce platforms | **From 💰`$0.50 / 1K`** |
| **[📸 Instagram Profile Status Checker](https://apify.com/misterkhan/instagram-profile-status-checker)** | Bulk check Instagram handles for active vs. banned status, followers & bio links | **From 💰`$0.35 / 1K`** |

👉 **[See all Actors by `misterkhan` on Apify Store →](https://apify.com/misterkhan)**

***

### ⚠️ Disclaimer

This Actor collects publicly available data and is not affiliated with, endorsed by, or connected to any third-party website. It is intended for market research and business analysis purposes only.

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more Any Website URLs to collect clean webpage documents from (e.g., `https://example.com`).

## `maxItems` (type: `integer`):

Maximum number of clean webpage documents to collect (Free plan runs collect up to 25 results per run; paid plans support unlimited results).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://example.com"
    }
  ],
  "maxItems": 25
}
```

# Actor output Schema

## `results` (type: `string`):

All extracted clean webpage documents.

## `usage_summary` (type: `string`):

Execution telemetry and extraction summary stored in the default key-value store.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://example.com"
        }
    ],
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("misterkhan/ai-markdown-crawler").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://example.com" }],
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("misterkhan/ai-markdown-crawler").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://example.com"
    }
  ],
  "maxItems": 25
}' |
apify call misterkhan/ai-markdown-crawler --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,misterkhan/ai-markdown-crawler"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/H7Q3nrcG3XeJqw49x/builds/6UK8gtKoRus0IO9SI/openapi.json
