# curl ve jq ile web sayfasını Markdown'a dönüştürme

> Web sayfalarını curl ve jq ile terminalden Markdown'a dönüştürün; sayfayı kaydedin ve bağlantıları listeleyin. $0,07/1K sayfa üzerinden, KYC olmadan.

- URL: https://webreaderapi.com/tr/docs/curl/
- Son güncelleme: 2026-10-22
- Yayıncı: WebReaderAPI (https://webreaderapi.com)

API'nin yaptığı her şey tek satırlık bir shell komutuna sığar. Bu tarifler, API'yi çağırmak için curl ve JSON içinden alan seçmek için jq kullanır; sonda Windows için bir PowerShell sürümü bulunur.

**Hızlı yanıt — Bir web sayfasını komut satırından Markdown'a nasıl dönüştürürüm?**

Anahtarınızı bir `Authorization: Bearer` header'ında koyarak `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` çalıştırın, ardından yanıtı `jq -r .markdown` aracılığıyla aktarın. **WebReaderAPI**, sayfanın ana içeriğini meta verileriyle birlikte Markdown olarak döndürür. Tek bir düz sayfa, Ekim 2026 itibarıyla $0,07/1K sayfa değerinden itibaren 1 kredi kullanır. KYC yok; kripto ile ödeme yapın.

## Terminali nasıl kurarım?

Çoğu Linux ve macOS sisteminde zaten bulunan curl ve jq'yu kurun ve API anahtarınızı oturum başına bir kez export edin. Aşağıdaki tariflerin tümü anahtarı `$WEBREADER_API_KEY` üzerinden okur, böylece anahtar bir komutun parçası olarak shell geçmişinizde hiç görünmez.

GET istekleri için `--data-urlencode` ile birlikte `-G` kullanın: curl o zaman sayfa adresini sizin için kodlar; bu önemlidir çünkü adreslerin kendi içinde `?`, `&` ve `=` bulunur.

*Anahtarı ayarlayın ve bir sayfayı .md dosyası olarak kaydedin*

```bash
export WEBREADER_API_KEY="your-key"

curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/guides/compost" \
  | jq -r '.markdown' > compost.md
```

## Bir çağrının ne döndürdüğünü ve ne kadar tuttuğunu nasıl görürüm?

İçerik yerine jq'dan metadata isteyin. `final_url` yönlendirmelerin nereye gittiğini, `rendered` bir tarayıcı kullanılıp kullanılmadığını gösterir ve `credits_used` çağrının maliyetidir. Yanıt bir hataysa aynı filtre `null` alanlarını yazdırır; kodu ve mesajı okumak için `.error` yazdırın.

*Yalnızca metadata, ya da varsa hata*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/guides/compost" \
  | jq '.error // {title, final_url, rendered, credits_used, word_count}'
```

## Bir sayfanın bağlantılarını nasıl listelerim?

`include_links=true` ekleyin ve `links` listesini sekme ile ayrılmış satırlara dönüştürün. Bu size bir sayfanın dışa giden bağlantılarının hızlı bir haritasını verir; sıralayabilir, grep ile filtreleyebilir veya bir toplu işe besleyebilirsiniz.

*Metin ve URL olarak bağlantılar, her satırda bir tane*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/docs/" \
  -d include_links=true \
  | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u
```

## JavaScript ile çalışan bir sayfayı veya bir PDF'i nasıl okurum?

İçeriğini JavaScript ile oluşturan bir sayfa için `-d render=true` ekleyin; o zaman 2 kredi tutar. Bir PDF için özel bir şey gerekmez: URL'sini gönderin, metin `markdown` içinde döner. 20 MB ve 100 sayfaya kadar PDF dosyaları, başlayan her 10 sayfalık blok için 1 kredi ile Markdown'a dönüştürülür.

*İşlenmiş bir sayfa, ardından bir PDF*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/app/changelog" -d render=true \
  | jq -r '.markdown' > changelog.md

curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/files/annual-report.pdf" \
  | jq -r '.markdown' > annual-report.md
```

## Shell'den bir toplu işi nasıl çalıştırırım?

URL'lerinizi içeren bir JSON gövdesini `/batch` adresine post edin, `job_id` değerini saklayın ve ardından işi okuyun. Küçük bir döngü, iş `done` olana kadar bekler ve her sayfanın başlığını veya hata kodunu yazdırır. Uzun işler için [toplu iş ve tarama sayfası](https://webreaderapi.com/tr/docs/crawl/) üzerinde gösterildiği gibi `next_cursor` izleyin.

*Üç URL'lik toplu iş, ardından sonucu bekleyin*

```bash
JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \
  | jq -r '.job_id')

until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do
  sleep 5
done

curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"'
```

## Kredilerimi nasıl kontrol ederim?

`/credits` çağırın; ücretsizdir. `credits_remaining`, `credits_used_today` ve `concurrency_limit` değerlerinizi döndürür. Ön ödemeli kreditler asla süresi dolmaz: kullanılmayan sayfalar siz kullanana kadar hesabınızda kalır.

*Kalan krediler*

```bash
curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining'
```

## Windows'ta PowerShell sürümü nedir?

`Invoke-RestMethod` JSON'u sizin için ayrıştırır, bu yüzden jq gerekmez. Sorguyu sayfa adresini kodlamak için `[uri]::EscapeDataString` ile oluşturun ve anahtarı bir headers tablosunda geçirin.

*PowerShell: bir sayfayı kaydedin*

```powershell
$headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" }
$target = [uri]::EscapeDataString('https://example.com/guides/compost')
$page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers
$page.markdown | Out-File -Encoding utf8 compost.md
"$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)"
```

## curl: sık sorulan sorular

### İçinde & bulunan URL'im neden başarısız oluyor?

Çünkü shell veya curl onu böler. Yukarıdaki tariflerde olduğu gibi `url=…` argümanının tamamını tırnak içine alın ve `--data-urlencode` ile geçirin; curl o zaman sayfa adresinin içindeki `&`, `?` ve `=` karakterlerini kodlar.

### Bir hatanın HTTP durumunu nasıl görürüm?

Gövdeden sonra yazdırmak için `-w '\n%{http_code}\n'`, tüm header'ları görmek için `-i` ekleyin. Gövdedeki `error.code`, betiklerde test edilecek kararlı değerdir.

### Başarısız bir çağrı faturalandırılır mı?

Hayır. 1 kredi = tarayıcı olmadan 1 sayfa okuma; sayfa JavaScript render etmek için tarayıcı gerektiriyorsa 2 kredi. Başarısız olan veya bir sitenin robots.txt'inin reddettiği istek için ücret alınmaz.

---

WebReaderAPI: WebReaderAPI, AI ajanları için bir web reader API'sidir; herkese açık herhangi bir web sayfasını temiz Markdown'a dönüştürür ve kimlik yüklemeden kripto ile ödenir. $0,07/1K sayfa başlangıçlı ön ödemeli kreditler asla süresi dolmaz ve robots.txt'e uyulur. KYC yok — kimlik yok, selfie yok, belge yok. Kripto ile ödeme yapın.
