İstek gönderme

/v1/search uç noktası, arama kutusuna yazacağınız sorgunun aynısını ve birkaç parametreyi alır. GET ve POST isteklerine yanıt verir; parametreler her iki durumda da aynıdır.

Parametreler

AdVarsayılanAnlamı
queryzorunluArama dizesi. Sözdizimi web sitesindekiyle aynıdır, bkz. sorgu sözdizimi.
page1Numaralandırma 1'den başlar.
per_page100En fazla planınızın satır sınırı kadar; aynı sınır page × per_page için de geçerlidir: bir plan bir sorgunun ilk N satırını kapsar ve sayfalama bunların ötesine geçmez (400 page_too_deep). /v1/account bu sınırı max_per_page olarak bildirir.
snippetskapalıEşleşen metni de almak için 1. Parçacık kotasından harcar.
formatjsonAltı biçimden biri, bkz. yanıt biçimleri.
columnsbiçime bağlıdomain, url, rank, ranked, snippets sütunlarından istedikleriniz, virgülle ayrılmış.
delimiter; / sekmecsv ve tsv için.
headerkapalıcsv ve tsv çıktısının başına başlık satırı koymak için 1.

GET

curl -H "Authorization: Bearer $KEY" \
     "https://api.publicwww.com/v1/search?query=%22angular.min.js%22&page=2&per_page=50"

Sorguyu URL için kodlamayı unutmayın. Tırnaklar, eğik çizgiler ve + işareti önemlidir.

POST

Aynı parametreler, JSON gövdesi olarak. Sorgu uzunsa ya da birkaç ifade içeriyorsa bunu kullanın: URL'deki çok satırlı bir sorgu, sunucu buna aldırmadan çok önce proxy'lerin ve istemcilerin uzunluk sınırlarına takılır.

curl https://api.publicwww.com/v1/search \
     -H "Authorization: Bearer $KEY" \
     -H "Content-Type: application/json" \
     -d '{"query": ["\"angular.min.js\"", "\"bootstrap.min.css\""],
          "per_page": 50,
          "snippets": true}'

İfadelerden oluşan bir dizi, hepsinin birlikte bulunması anlamına gelir; tıpkı onları query dizesinde satır sonlarıyla ayırmak gibi. Yukarıdaki örnekte ilk ifade 278 sitede, ikisi birden 99 sitede geçiyor.

JSON türleri tanınır: URL'nin sorgu dizesinde 1 gereken yerde true da çalışır. Bir parametre hem URL'de hem gövdede verilirse gövdedeki geçerli olur.

Yanıt

AlanAnlamı
totalDizinin tamamında kaç sitenin eşleştiği. Tahmin değil, gerçek sayı.
total_pagestotal bölü per_page, yukarı yuvarlanmış.
returnedBu sayfada gerçekte kaç satır olduğu.
truncatedPlanınızın gösterilen sıra sınırı yüzünden satırlardan herhangi birinin çıkarılıp çıkarılmadığı.
took_msAramanın milisaniye cinsinden süresi.
resultsSatırlar.

Bir satır

AlanAnlamı
domainSite.
urlEşleşmenin bulunduğu sayfa; depth: aramalarında bu, ana sayfa değildir.
rankPopülerlik sıralamasındaki yer; değer ne kadar küçükse site o kadar popülerdir. Sitenin sırası yoksa null.
rankedrank değeri null olduğunda ve yalnızca o zaman false.
snippetsYalnızca snippets=1 ile. En fazla beş {"text", "match"} çifti: match eşleşen kısımdır, text ise aynı kısmın çevresindeki bağlamla birlikte hâlidir.

Sayfalama ve toplu indirme

page ile sayfa sayfa ilerleyin ya da büyük bir per_page değeriyle her şeyi tek seferde isteyin. Üst sınır, /v1/account yanıtındaki max_per_page değeridir ve ücretli planda bir milyondur. Ayrı bir dışa aktarma uç noktası yoktur; yanıt oluşturuldukça gönderilir, bu yüzden bir milyon satır, bir yerde bellekte tutulan bir milyon satır anlamına gelmez.

Sonraki Yanıt biçimleri