Geliştirici API
Kuran Yapay Zeka Arama API'si
Yüce Kuran için ücretsiz, yapay zeka destekli bir arama API'si. Bir temayı, hikayeyi veya soruyu sade bir dille açıklayın ve ilgili sure ve ayet referanslarını kısa yapay zeka açıklamalarıyla JSON olarak alın.
/api/ai-searchGenel bakış
Yapay zeka arama API'si, semantik yapay zeka kullanarak doğal dil sorgularını Kuran'daki sureler ve ayetlerle eşleştirir. Kendi arama dizinlerini veya LLM boru hattını oluşturmadan tema tabanlı keşif yapmak isteyen entegratörler için tasarlanmıştır.
- Herhangi bir HTTP istemcisiyle ayrıştırabileceğiniz tek bir JSON yanıtı döndürür.
- Her sonucun alaka düzeyini, belirttiğiniz dilde yazar veya belirtmediğinizde sorgu dilini (detectedLanguage) otomatik olarak algılar.
- Uygulamanızın bağlantı verebileceği yapılandırılmış sure ve ayet numaralarını döndürür.
Lütfen geri bağlantı verin
Bu API'yi kullanmak ücretsizdir. Eğer onunla bir şey geliştirirseniz, arama sonuçlarının göründüğü yerlerde veya künye ya da hakkımızda sayfanızda OpenQuran.app'e geri bağlantı vermenizden minnettar oluruz.
Kullanabileceğiniz örnek bir bağlantı:
<a href="https://openquran.app" rel="noopener">OpenQuran.app tarafından Kuran araması</a>Bu çalışmayı Kuran uğruna ücretsiz olarak paylaşıyoruz. Küçük bir geri bağlantı, başkalarının okuyucuyu keşfetmesine yardımcı olur ve bizim için çok şey ifade eder.
Uç Nokta
Kullanıcının arama ifadesini içeren bir JSON gövdesi gönderin. API, eşleşen referansları içeren tek bir JSON nesnesiyle yanıt verir.
POST https://openquran.app/api/ai-searchBaşlıklar
| Başlık | Değer | Notlar |
|---|---|---|
Content-Type | application/json | Gerekli |
İstek
İstek gövdesi tek bir JSON nesnesidir:
{
"query": "patience in hardship",
"language": "en"
}Kısıtlamalar
- Sorgu, boşluklar temizlendikten sonra 2–300 karakter uzunluğunda olmalıdır.
- dil isteğe bağlıdır: alaka düzeyi açıklamaları için bir ISO 639-1 kodu (örn. en, ar, fr). Atlandığında veya geçersiz olduğunda, dil sorgudan otomatik olarak algılanır.
- Sorgu başına en fazla 12 sonuç.
- Baştaki ve sondaki boşluklar kaldırılır.
Yanıt
Başarılı istekler, bir JSON nesnesiyle HTTP 200 döndürür.
İçerik Türü: application/json
{
"ok": true,
"results": [
{
"type": "surah",
"surah": 2,
"relevance": "Covers patience through trials."
},
{
"type": "verse",
"surah": 2,
"ayah": 255,
"relevance": "Ayat al-Kursi speaks of steadfastness in faith."
}
],
"detectedLanguage": "en"
}Sonuçlardaki her öğe bir alaka düzeyi alanı içerir. Bu metin, talep ettiğiniz dilde veya dil belirtilmediğinde algılanan sorgu dilinde (detectedLanguage) yazılır — örneğin, Arapça bir sorgu Arapça alaka düzeyi açıklamaları üretir.
Üst düzey alanlar
| Alan | Tür | Notlar |
|---|---|---|
ok | true | Başarılı olduğunda her zaman doğru. |
results | array | Sure veya ayet referanslarının sıralı listesi (bkz. Sonuç türleri). |
detectedLanguage | string | null | Sorgudan algılanan dil için ISO 639-1 kodu. Alaka düzeyi dizeleri, sağlandığında isteğinizdeki dili kullanır, aksi takdirde bu algılanan dili kullanır. |
Sonuç türleri
Her sonuç etiketli bir nesnedir — ya tam bir sure ya da tek bir ayet:
// Whole surah reference
{ "type": "surah", "surah": 2, "relevance": "One sentence explaining the match." }
// Single verse reference
{ "type": "verse", "surah": 2, "ayah": 255, "relevance": "One sentence explaining the match." }surah— Sure numarası, 1–114.ayah— Sure içindeki 1'den başlayan ayet numarası (yalnızca ayet sonuçları için).relevance— Referansın neden eşleştiğine dair tek cümlelik açıklama, istenen dilde veya algılanan sorgu dilinde yazılır. Hızlı referans aramaları için null.
Hızlı başvuru
Sadece sure numaraları ve ayet referansları yapay zeka modelini atlar ve anında çözümlenir:
2— 2. Sure'ye git2:255— 2. Sure'nin 255. ayetine git
Hızlı başvuru sorguları, her sonuçta alaka düzeyi null olarak ayarlanmış şekilde anında döner.
Oran limitleri
Hizmeti ücretsiz ve erişilebilir tutmak için, her istemci IP'si 60 saniyede bir 10 istekle sınırlıdır.
- Limitler, standart proxy başlıkları (`X-Forwarded-For`, `X-Real-IP`) kullanılarak IP adresine göre izlenir.
- Limit aşıldığında, API bir `Retry-After` başlığı (tekrar denemenize kadar geçen saniye) ile HTTP 429 döndürür.
- Otomatik kazıma, toplu sorgulama veya limitleri aşma girişimleri engellemeyle sonuçlanabilir.
{
"ok": false,
"error": "Too many requests. Please slow down."
}Hata yanıtları
Başarısız istekler, 'ok' değeri 'false' olarak ayarlanmış ve kısa bir hata mesajı içeren bir JSON gövdesi döndürür.
| Durum | Anlam |
|---|---|
400 | Geçersiz JSON, boş sorgu veya minimum uzunluktan daha kısa sorgu. |
429 | Hız sınırı aşıldı. 'Retry-After' başlığını (saniye) kontrol edin. |
502 | Arama hizmeti beklenmedik bir şekilde başarısız oldu. |
503 | Bu dağıtımda yapay zeka araması yapılandırılmamıştır. |
Tüm hata yanıtları şu yapıyı kullanır: 'ok': false, 'error': "mesaj".
Kod örnekleri
cURL
curl -X POST 'https://openquran.app/api/ai-search' \
-H 'Content-Type: application/json' \
-d '{"query":"patience in hardship"}'JavaScript
const response = await fetch('https://openquran.app/api/ai-search', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ query: 'patience in hardship' }),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error ?? response.statusText);
}
const data = await response.json();
console.log(data.results);Yasal Uyarı
Sonuçlar bir yapay zeka modeli tarafından üretilir ve eksik veya kusurlu olabilir. Bunlar, insanların Kuran'ı keşfetmelerine yardımcı olacak işaretlerdir; dini hükümler veya yetkili yorumlar değildir. Ayetleri her zaman tam bağlamında okuyun.
Bu API'yi kullanarak Hizmet Şartlarımızı ve Gizlilik Politikamızı kabul etmiş olursunuz.