in Web Security

Free (Undocummented) Alexa API

alexarank2

Alexa traffic rank menunjukkan seberapa ramai suatu situs dibanding situs lain yang ditunjukkan dengan suatu angka, yaitu rank atau posisi. Semakin kecil rank menunjukkan situs kita semakin ramai. Cara untuk melihat traffic rank adalah dengan mengunjungi situs alexa.com. Contohnya untuk traffic rank www.momsmiracle.com bisa dilihat di http://www.alexa.com/data/details/traffic_details/momsmiracle.com

Untuk kebutuhan tertentu, terkadang diperlukan mendapatkan data tersebut tanpa menggunakan browser, yaitu melalui program.

Scrambling CSS Magic

Alexa sebenarnya menyediakan akses traffic rank tersebut dengan suatu API, namun API tersebut tidak gratis. Kalau kita lihat source code ketika kita membuka web Alexa untuk melihat traffic rank, maka yang terlihat adalah:

Perhatikan mulai baris ke-5 hingga ke-9, adalah traffic rank yang dikodekan menjadi tag html dengan stylesheet. Kalau html di atas di-render, browser akan menampilkan 202,053. Ini adalah teknik Alexa untuk men-scramble teks dengan memanfaatkan yang saya sebut dengan CSS Illusion Ninjutsu agar tidak mudah dibaca oleh program. Saya menyebut illusion karena dengan stylesheet maka hanya teks tertentu saja yang visible, sehingga hasil akhirnya akan terbaca sebagai 202,053.

Kenyataannya memang menyulitkan, karena angka yang seharusnya 202053 disisip banyak angka random yang tidak terpakai. Sedangkan sulit bagi program untuk menemukan yang asli di antara yang palsu.

Dalam source code html tersebut Alexa menyisipkan komentar yang memberitahukan cara mendapatkan data traffic rank secara program:

Did you know? Alexa offers this data programmatically.  Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.

Berdasarkan situs tersebut (http://aws.amazon.com/awis), biaya untuk mendapatkan AWIS (Alexa Web Information Service) tersebut sebesar $0.00015 per request ($0.15 for 1,000 requests).

Free Alexa (undocummented) API

Sekarang saya akan berikan cara untuk mengakses API Alexa for Free. API ini memang ada, namun karena undocummented maka sedikit yang tahu.

Saya menemukan API Alexa dari addon resmi Alexa untuk Firefox, namanya Sparky. Dengan Sparky, setiap kita mengunjungi suatu situs, maka Alexa Rank akan terlihat di status bar. Dari mana Sparky bisa tahu traffic rank suatu situs? Tentu saja dengan membuat koneksi http ke situs Alexa, melalui Web Service atau API khusus.

sparky firefox

sparky firefox

Karena Firefox addon dibuat dalam Javascript, maka dengan sedikit kesabaran, kita bisa melakukan reverse engineering Sparky untuk melihat cara kerjanya.

Akhirnya saya menemukan juga web service/API yang dipakai Sparky untuk mendapatkan traffic rank, yaitu di URL:

http://data.alexa.com/data/?cli=10&dat=ns&url=<URL>

Output dari API tersebut adalah dalam format XML yang berisi bermacam-macam data tentang suatu situs.

Sebagai contoh untuk mengetahui alexa rank untuk momsmiracle.com, cukup dengan mengakses URL:

http://data.alexa.com/data/?cli=10&dat=ns&url=http://www.momsmiracle.com

Hasilnya adalah:

Alexa traffic rank ada pada tag POPULARITY, tepatnya pada baris ke-7 dalan contoh di atas.

Kesimpulan

Saya lihat Alexa bingung, satu hal dia ingin agar untuk mendapatkan traffic rank secara program harus melalui API berbayar. Namun di sisi lain dia juga ingin mempopulerkan traffic rank di antara pengguna Firefox dengan membuat addon gratis. Konsekuensinya adalah dia harus membuat API khusus untuk addon itu, dan API itu juga harus bisa diakses tanpa password agar bisa berjalan di Firefox.

Sebenarnya Sparky tidak hanya berfungsi untuk menampilkan traffic rank, tapi juga mengirimkan data situs yang dikunjungi pengguna. Dari data itulah Alexa bisa menentukan traffic ranknya, yaitu dari para pengguna yang memasang toolbar/addon Alexa di browsernya.

Write a Comment

Comment

This site is using OpenAvatar based on

  1. Saya sudah uninstall Sparky, gak tau kenapa, sejak instal kayaknya firefox jadi sering ngehang (selain karena emang koneksi internet yang lemot :(( )

    Gak enaknya tapi yah gini ya mas, kalo pengunjung gak pake sparky di toolbarnya, yah gak masuk itungan traffic. Btw agak nyimpang dikit, kalo ikutan program free traffic exchange yang datengin pengunjung buat liat website kita sekali lewat bakal kedetect gak ama alexa? Trus yang kedetect itu IP pengunjungnya beneran apa cuma website yang ngadain program free traffic exchange nya?

  2. very very good article!

    kenapa semua pada bingung naekin alexa. padahal di sini ada ilmu yang jauh lebih mahal.
    bisa dijual! hahahaha.

    again, very good article!