Lewati ke konten
Rankupedia
RankupediaDaftar

Entri: API

API alat pengecek DR: setiap parameter dan bidang, dijelaskan

Referensi untuk bentuk permintaan dan dua bidang yang dibawa setiap respons terautentikasi. Baris spesifik tindakan bervariasi, jadi uji satu panggilan sebelum melakukan parsing.

Jembatan batu mewakili URL dasar API dengan pekerja memegang kunci besi untuk autentikasi

Layanan ini adalah API REST yang mengembalikan JSON. CORS terbuka. Halaman browser dapat memanggilnya secara langsung. Kunci dimulai dengan sk_ dan diperoleh dari halaman akun setelah masuk dengan Google.

URL dasarnya adalah https://rankupedia.com/api.php. Autentikasi dengan key=sk_... dalam string kueri atau dengan header Authorization: Bearer sk_..., sesuai preferensi klien Anda. Empat tindakan tidak memerlukan autentikasi: domain, overview, stats, dan suggest.

Alat pengecek DR hanya berguna setelah Anda dapat memproses outputnya. Contoh di bawah ini adalah kasus terkecil yang berguna, dan bagian-bagian setelahnya mencakup bagian-bagian yang sering salah dipahami orang.

Satu panggilan, yang dianotasi

Tindakan overview gratis. Ganti domain dengan domain Anda sendiri.

bash
curl "https://rankupedia.com/api.php?action=overview&q=nytimes.com"

# authenticated listing, 100 rows per page:
curl -H "Authorization: Bearer sk_live_..." \
  "https://rankupedia.com/api.php?action=refdomains&q=nytimes.com&per=100&page=1&order=desc"

Anatomi permintaan

01

Pilih tindakan

Nilai action memilih operasi dan harganya. Tindakan gratis tercantum dalam tabel biaya.

02

Sebutkan target

Nilai q adalah domain telanjang seperti nytimes.com, tanpa skema atau path.

03

Tambahkan kredensial jika tindakan berbayar

Baik key dalam string kueri maupun header Bearer. Header menjaga kunci agar tidak masuk ke log server dan riwayat browser.

04

Halaman dan pengurutan

page dan per memotong hasil, sedangkan sort dengan order mengatur urutannya. Paginasi berhenti di 50.000 baris.

Mempersiapkan daftar domain sebelum panggilan pertama

Banyak hasil aneh bermula dari input, bukan dari server. Bersihkan daftar sekali, lalu kirimkan.

Hapus apa pun yang bukan domain telanjang. Alamat yang disalin beserta path menambahkan karakter yang tidak diharapkan oleh nilai q, jadi hapus skema, path, dan garis miring akhir apa pun.

Hapus skema dan path

Ubah https://shop.example.org/blog/ menjadi shop.example.org sebelum panggilan. Nilai q mengambil domain telanjang, sehingga path dihilangkan di sini daripada dikirim.

Spreadsheet menyembunyikan detail ini di dalam sel. Filter cepat untuk garis miring dan titik dua dapat menangkap sebagian besar dari mereka.

Huruf kecil nama dan hapus duplikat

Nama domain tidak peka huruf besar-kecil, sehingga Example.COM dan example.com merujuk pada satu target. Mengirim keduanya menghabiskan kredit dua kali untuk satu jawaban.

Hapus duplikat sebelum menghitung panggilan. Daftar berisi 2.100 nama dengan 300 duplikat memerlukan dua panggilan bulk_dr mentah, tetapi setelah dihapus duplikatnya, 1.800 nama uniknya muat dalam satu panggilan.

Memutuskan antara root dan subdomain

Subdomain seperti blog.example.org adalah nama tersendiri dalam daftar Anda. Putuskan mana yang menjadi pertanyaan Anda sebelum mengirim apa pun.

Jika pertanyaan mencakup seluruh situs, kirimkan nama root. Jika mencakup satu subdomain, uji nama persis itu dan baca jawaban sebagai milik subdomain tersebut saja.

Tuliskan keputusan ke dalam catatan pekerjaan, agar menjalankan berikutnya, mungkin oleh orang lain, menerapkan aturan yang sama.

Parameter kueri

ParameterArtiCatatan
actionOperasi yang akan dijalankanWajib; lihat tabel biaya
qDomain targetContoh: nytimes.com
keyKunci APIAtau gunakan header Bearer
pageNomor halaman hasilPaginasi dalam dibatasi hingga 50.000
perBaris per halamanMenerima 10 hingga 5000; satu panggilan adalah satu biaya, berapa pun jumlah baris
sortKolom untuk diurutkanKolom yang tersedia bergantung pada tindakan
orderasc atau descGunakan bersama dengan sort
domainsDaftar untuk bulk_drMaks 2.000 domain setiap kali, melalui GET atau body POST
Pekerja menggunakan penggaris besar untuk mengukur baris peti kayu di conveyor belt

Berjalan melalui daftar panjang

Tindakan daftar mengembalikan baris dalam halaman. Dua parameter mengontrol potongan: page memilih potongan mana, dan per mengatur berapa banyak baris yang dimuatnya. Per menerima nilai dari 10 hingga 5000.

Pilih ukuran halaman terlebih dahulu. per yang lebih besar mengurangi jumlah panggilan, dan penagihan menghitung panggilan, bukan baris.

Urutkan sebelum melakukan paginasi

Sort dan order menentukan baris mana yang masuk ke halaman satu. Atur keduanya pada setiap panggilan dalam serangkaian panggilan, agar setiap halaman berasal dari pengurutan yang sama.

Gunakan desc pada kolom metrik ketika Anda ingin baris terkuat di awal, dan asc ketika Anda mencari yang terlemah. Nama kolom yang tersedia bergantung pada tindakan.

Konfirmasi urutan dengan pengujian kecil dua halaman sebelum Anda mempercayai jalanan panjang.

Berhenti di batas 50.000 baris

Paginasi dalam berhenti di 50.000 baris. Setelah titik itu, panggilan tidak mengembalikan apa pun yang baru, sehingga loop yang terus melakukan paginasi membuang-buang kredit.

Sempitkan pertanyaan atau bagi pekerjaan menjadi jalanan yang lebih kecil. Kueri kedua dengan target yang berbeda biasanya lebih bersih daripada halaman yang lebih dalam.

Batas kedalaman adalah properti dari daftar, sehingga berlaku untuk setiap klien yang memanggilnya.

Akhiri loop pada halaman pendek

Berhenti ketika halaman mengembalikan lebih sedikit baris daripada per. Itu adalah tanda umum bahwa daftar telah habis.

Gabungkan pengujian itu dengan pemeriksaan saldo di entri pemecahan masalah, agar loop berakhir di halaman terakhir atau pada saldo rendah, mana yang terjadi lebih dulu.

Bidang yang hadir dalam setiap respons

ok

Boolean. True berarti panggilan selesai. False berarti tidak, dan status HTTP memberi tahu Anda alasannya.

_credits

Muncul pada panggilan terautentikasi. Ini melaporkan biaya panggilan ini dan saldo kredit Anda yang tersisa, yang memungkinkan Anda menghentikan loop sebelum saldo habis.

Apa yang tidak kami dokumentasikan di sini

Nama bidang tingkat baris untuk setiap tindakan terlihat dalam respons langsung. Kami tidak mereproduksinya dalam entri ini agar tidak menyimpang dari layanan.

Menguji panggilan sebelum menulis loop

01

Pilih domain yang Anda kenal

Pilih situs yang profilnya dapat Anda nilai dari halamannya sendiri. Domain yang Anda kenal membuat angka aneh mudah dikenali.

02

Kirim satu panggilan gratis

Jalankan overview atau domain tanpa kunci. Respons menunjukkan bentuk sebenarnya JSON, yang lebih andal daripada deskripsi apa pun, termasuk ini.

03

Kirim satu panggilan berbayar dengan halaman terkecil

Gunakan per=10 pada tindakan daftar. Anda akan melihat bidang baris dan nilai _credits sebelum Anda meningkatkan skala.

04

Baca _credits, lalu tingkatkan skala

Kalikan biaya satu panggilan dengan jumlah panggilan dalam rencana Anda. Jika totalnya lebih besar dari saldo, kecilkan rencana sebelum loop dimulai.

Sebelum menerapkan klien

  • Periksa ok sebelum membaca bidang lain apa pun
  • Log _credits pada setiap panggilan
  • Perlakukan data sebagai snapshot bulanan
  • Tangani 401 dan 402 secara terpisah, lihat entri pemecahan masalah
  • Jauhkan kunci dari kode front-end
Tukang kebun mengocok saringan untuk memfilter batu umum dari tumpukan batu

Catatan tentang batching

Tindakan bulk_dr menerima hingga 2.000 domain per panggilan. Kirimkan sebagai nilai kueri domains, atau sebagai body POST ketika daftar terlalu panjang untuk URL.

compare menerima hingga 20 domain dan intersect menerima 2 hingga 10. Intersect menjawab satu pertanyaan: situs mana yang menautkan ke semua domain yang Anda sebutkan.

Karena penagihan per panggilan, batch yang lebih besar selalu lebih murah per baris. Mereka juga gagal sebagai satu unit. Bagi menjadi ukuran yang dapat Anda coba ulang.

Daftar panjang dapat masuk ke body POST. Baca ok sebelum apa pun lainnya dalam respons, karena batch yang ditolak tidak membawa baris apa pun yang dapat Anda gunakan.

Membaca JSON tanpa asumsi

Parser rusak pada bidang yang dibiarkan kosong oleh respons. Kode yang mengharapkan setiap kunci pada setiap baris rapuh, dan satu baris pendek dapat menghentikan seluruh pekerjaan.

Perlakukan bidang yang hilang sebagai hal biasa

Bidang baris bergantung pada tindakan, sehingga bidang yang hadir dalam satu daftar dapat tidak ada di daftar lain. Berikan setiap bidang nilai default dan lanjutkan.

Log bidang mana yang hilang, bukan hanya bahwa sesuatu gagal. Log itu menunjukkan apakah skema atau kode Anda sendiri berubah.

Simpan respons mentah untuk sampel

Simpan JSON mentah dari beberapa panggilan pertama dalam setiap pekerjaan baru. Ketika angka di kemudian hari terlihat salah, teks yang disimpan menyelesaikan pertanyaan lebih cepat daripada memori.

Simpan sampel dengan tanggal dan nama tindakan. Penyegaran bulanan berarti panggilan yang sama dapat mengembalikan baris yang berbeda bulan depan.

Tindakan berdasarkan keluarga

KeluargaTindakanPenggunaan khas
Gratisdomain, overview, stats, suggestPencarian cepat dan autocomplete
Penilaianbulk_dr, compare, dr_distributionPenyaringan daftar dan set peer
Daftarrefdomains, backlinks, anchors, toppages, anchor_cloudAudit satu situs
Pencariansearch, keyword, intersectMenemukan siapa yang menautkan dengan anchor tertentu atau ke beberapa pesaing
Batas entri ini

Nama bidang tingkat baris berbeda berdasarkan tindakan dan tidak dicantumkan di sini. Panggil endpoint dengan tindakan gratis pada domain yang Anda kenal dan baca JSON, yang merupakan satu-satunya sumber otoritatif.

Pertanyaan parameter yang diajukan pengembang

Empat pertanyaan parameter mencakup sebagian besar minggu pertama dengan API.

Apakah saya memerlukan kunci untuk setiap panggilan?

Tidak. Tindakan domain, overview, stats, dan suggest tidak memerlukan kunci. Tindakan berbayar memerlukan satu, dikirim baik sebagai parameter key maupun sebagai header Bearer.

Bisakah saya mengirim kunci di URL?

Ya, parameter key berfungsi dalam string kueri. Header menjaga kunci agar tidak masuk ke alamat itu sendiri, yang lebih disukai banyak tim untuk log dan tautan bersama.

Bagaimana jika saya ingin per di atas 5000?

Rentang yang didokumentasikan adalah 10 hingga 5000. Nilai di luar itu berada di luar apa yang dijelaskan dalam entri ini, jadi tetapkan nilai di dalam rentang dan lakukan paginasi untuk lebih banyak.

Apakah huruf besar-kecil penting dalam q?

Nama domain tidak peka huruf besar-kecil, jadi kecilkan huruf nilai sebelum mengirimkannya. Satu ejaan membuat hasil lebih mudah dibandingkan antar jalanan.