KYC yok — kimlik yok, selfie yok, belge yok. Kripto ile ödeme yapın: BTC, USDT, USDC, ETH, SOL, LTC
Dil: Türkçe
API anahtarı alın

Dokümantasyon · yanıt

Read API yanıt formatı, alan alan

Her /read çağrısı tek bir JSON nesnesi döndürür: istediğiniz formatta sayfanın içeriği, meta verileri ve ne olduğunu ve ne kadar tuttuğunu söyleyen üç alan. İş sonuçları aynı nesneyi yeniden kullanır.

Son güncelleme: · 4 dk okuma

Hızlı yanıt

WebReaderAPI read yanıtı ne içerir?

Bir WebReaderAPI /read yanıtı, sayfa içeriğini markdown (veya text veya html) içinde, meta verilerini (title, description, author, published_at, language, site_name, word_count) ve getirmenin olgularını (final_url, status_code, rendered ve credits_used) içerir. Basit bir sayfa 1 kredi kullanır, Ekim 2026 itibarıyla $0,07/1K sayfa. KYC yok; kripto ile ödeme yapın.

Hangi alanlar getirmeyi tanımlar?

Bu alanlar başarılı bir yanıtta her zaman bulunur.

AlanTürAnlamı
urlstringGönderdiğiniz adres
final_urlstringYönlendirmelerden sonra (en fazla 5) gerçekten okunan adres
status_codeinteger (tam sayı)Sitenin son adres için döndürdüğü HTTP durumu, normalde 200
fetched_atstringGetirme zamanı, UTC olarak ISO 8601
renderedboolean (mantıksal değer)Sayfayı bir headless tarayıcı oluşturduğunda true
credits_usedinteger (tam sayı)Bu sayfa için faturalanan kredi: 1, tarayıcıyla 2, country ile 10; PDF'lerde başlayan her 10 sayfa için 1

Hangi alanlar sayfayı tanımlar?

Metadata sayfanın kendisinden gelir: title etiketi, meta etiketleri, yapılandırılmış verileri ve görünen byline'ı. Sayfanın sağlamadığı bir alan yer almaz, bu yüzden kullanmadan önce olup olmadığını test edin.

AlanTürAnlamı
titlestringSayfanın veya makalenin başlığı
descriptionstringSayfanın kendisi hakkında verdiği özet
languagestringİçeriğin dil kodu, örneğin en veya de
authorstringSayfada belirtilen yazar
published_atstringSayfanın belirttiği yayın tarihi
site_namestringSitenin kendi adı
word_countinteger (tam sayı)Döndürülen içerikteki kelimeler, ana içeriği çıkarma sonrasında ve max_chars öncesinde

İçeriğin kendisi nerede?

Seçtiğiniz format adına göre adlandırılmış tek bir içerik alanı döndürülür.

AlanZamanİçerik
markdownformat=markdown (varsayılan)Markdown içinde başlıklar, paragraflar, listeler, tablolar ve bağlantılar; include_images=true ile görseller de dahil
textformat=textDüz metin, paragraflar boş satırlarla ayrılmış
htmlformat=htmlAna içeriğin temizlenmiş HTML'i, script, stil veya reklam olmadan
linksinclude_links=trueSayfada bulunan bağlantılar için {url, text} listesi, mutlak URL'ler
Eksiksiz bir yanıt (değerler örnektir)
{
  "url": "https://example.com/guides/compost",
  "final_url": "https://example.com/guides/compost-at-home",
  "status_code": 200,
  "fetched_at": "2026-10-22T10:02:44Z",
  "rendered": false,
  "credits_used": 1,
  "title": "Compost at home: a beginner's guide",
  "description": "What to put in a compost bin, and what to leave out.",
  "language": "en",
  "author": "Sam Rivera",
  "published_at": "2026-09-14",
  "site_name": "Example Garden",
  "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).",
  "word_count": 1184,
  "links": [
    { "url": "https://example.com/guides/bins", "text": "Choosing a bin" }
  ]
}

İşlenmiş bir sayfayı düz olandan nasıl ayırt ederim?

rendered seçeneğine bakın. render=auto ile API önce ham HTML'i okur; yalnızca bu HTML çok az metin içerdiğinde bir tarayıcı başlatır ve ardından rendered değerini true, credits_used değerini de 2 olarak ayarlar. Sık sık okuduğunuz bir site her zaman işlenmiş olarak dönüyorsa, baştan render=true gönderin: maliyet aynıdır ve boşa giden ilk adımı atlarsınız.

Bir sayfa işlenmemiş ama içerik bakımından zayıf dönüyorsa, word_count değerini tarayıcıda gördüğünüzle karşılaştırın. Düşük bir sayı genellikle içeriğin JavaScript gerektirdiği anlamına gelir; render=true ile bir kez yeniden deneyin.

final_url neden url'den farklı olabilir?

Çünkü siteler yönlendirme yapar. Kısa bir bağlantı, eski bir adres, eksik bir son eğik çizgi ya da bir dil geçişi sizi başka bir yere gönderir. API en fazla 5 yönlendirmeyi izler ve en son okuduğu adresi final_url içinde bildirir.

Bir RAG dizininde bir belgenin kanonik kaynağı olarak final_url saklayın. Aynı final_url ile sonuçlanan iki farklı url değeri aynı sayfadır, bu yüzden gömme işleminden önce kopyayı çıkarabilirsiniz.

Bir job sonucu nasıl görünür?

GET https://webreaderapi.com/api/v1/jobs/{job_id}, job_id, status (queued, running veya done), results, next_cursor ve job'ın çalışma sırasındaki credits_used döndürür. results içindeki her öğe şu iki biçimden biridir:

  • okunan bir sayfa için, yukarıda açıklandığı gibi eksiksiz bir /read yanıtı;
  • okunmayan bir sayfa için {url, error}, burada error bir API hatası ile aynı code ve message değerlerine sahiptir.

Daha fazla sonuç hazır olduğunda next_cursor bulunur; bunları almak için cursor olarak geri gönderin. Toplu iş ve tarama sayfası eksiksiz bir yoklama döngüsü içerir.

Bir job sonucu sayfası (değerler örnektir)
{
  "job_id": "job_5c1e8a90d2",
  "status": "done",
  "results": [
    { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 },
    { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } }
  ],
  "credits_used": 1
}

Bir hata yanıtı nasıl görünür?

Bir hata, 400 veya üzeri bir HTTP durum kodu ve {"error": {"code", "message"}} biçiminde bir JSON gövdesiyle döner. Site isteğin kendisini reddettiğinde, target_status sitenin gönderdiği durum kodunu verir. Hiçbir hata faturalandırılmaz. Hatalar sayfası her kodu nedeniyle ve yeniden denemenin yardımcı olup olamayacağıyla birlikte listeler.

Yanıt biçimi: sık sorulan sorular

max_chars ayarını yaptığımda Markdown kesiliyor mu?

Evet. content alanı belirtilen karakter sayısında durur. word_count yine de çıkarılan içeriğin tamamını tanımlar, böylece ne kadarının dışarıda bırakıldığını görebilirsiniz.

author veya published_at neden eksik?

Çünkü sayfa bunu okunabilecek bir biçimde belirtmez. Birçok sayfa yazar veya tarih vermez. Eksik alanlar boş döndürülmek yerine atlanır.

Markdown içindeki bağlantılar mutlak mı?

links listesindeki bağlantılar mutlaktır. Kodunuzu Markdown gövdesinde her iki biçimi de kabul edecek şekilde yazın ve göreli olanları final_url temelinde çözümleyin.

Tüm sayfanın ham HTML'ini alabilir miyim?

En yakın seçenek, main_content=false ile birlikte format=html kullanmaktır; bu, tüm sayfayı script ve stillerden temizlenmiş olarak döndürür. Orijinal bayt bayt HTML v1'in bir parçası değildir.

$0,07/1K sayfa başlangıçlı · KYC yok

API anahtarı alın