Perplexity AI API: Akses, Harga, Integrasi, dan Panduan Produksi
Terakhir diverifikasi terhadap dokumentasi Perplexity: 24 Oktober 2026.
Perplexity AI API bukan lagi sekadar satu “API chat-pencarian” yang tidak terdiferensiasi. Kini API ini memiliki antarmuka terpisah untuk respons agen yang didasarkan pada web, perutean model berbobot terbuka, pencarian mentah, embedding, dan keputusan bertipe. Pilih antarmuka yang sesuai dengan tugas sebelum menulis kode: pilihan ini menentukan endpoint, metode SDK, satuan harga, batas laju, dan hal yang perlu Anda catat di produksi.
Untuk sebagian besar fitur riset atau asisten baru, mulailah dengan Agent API. API ini mengikuti format OpenAI Responses, dapat menggunakan pencarian web, dan mengembalikan output terstruktur dengan sumber. Gunakan Orchestrator API ketika kode OpenAI Chat Completions yang sudah ada memerlukan akses ke katalog model berbobot terbukanya. Gunakan Search ketika Anda membutuhkan hasil berperingkat tanpa jawaban LLM.
Jawaban singkat: Perplexity API mana yang sebaiknya Anda gunakan?
| Kebutuhan | Gunakan | Yang Anda terima | Bentuk integrasi |
|---|---|---|---|
| Jawaban berbasis riset dengan sumber, alat, atau alur kerja multi-langkah | Agent API | Output Responses terstruktur, termasuk item hasil yang mengenali sumber | POST /v1/agent atau alias /v1/responses yang diterima |
| Model berbobot terbuka di balik klien bergaya OpenAI Chat Completions | Orchestrator API | Respons bergaya Chat Completions | POST /orchestrator/v1/chat/completions |
| Hasil web berperingkat yang akan diproses oleh pipeline Anda sendiri | Search API | Hasil pencarian mentah | POST /search |
| Vektor untuk pencarian semantik, RAG, atau klasifikasi | Embeddings API | Embedding | Endpoint/SDK embedding Perplexity |
| Keputusan ya/tidak, pilihan ganda, atau rubrik yang terkalibrasi | Decisions API | Jawaban bertipe beserta probabilitas | Endpoint/SDK Decisions |
Pembedaan tersebut adalah pilihan desain Perplexity AI API yang paling penting. Ringkasan Perplexity saat ini menjelaskan Agent API sebagai API yang kompatibel dengan OpenAI Responses dan didasarkan pada web; Orchestrator API-nya adalah antarmuka kompatibilitas terpisah untuk model berbobot terbuka yang dihosting. Baca ringkasan Perplexity.
Dapatkan akses ke Perplexity AI API
- Buat akun di Perplexity API Console.
- Buat kunci dari halaman API Keys.
- Simpan kunci tersebut hanya di server atau di pengelola rahasia deployment Anda.
- Tetapkan
PERPLEXITY_API_KEYdi lingkungan runtime—bukan di kode browser, git, contoh, atau log. - Tambahkan penagihan sebelum mengirim traffic produksi. Perplexity mendokumentasikan penagihan API bayar sesuai pemakaian tanpa persyaratan langganan; periksa halaman harga terkini sebelum peluncuran karena tarif model dan alat dapat berubah.
Di macOS atau Linux, tetapkan rahasia tanpa mencetaknya:
export PERPLEXITY_API_KEY="replace-in-your-secret-manager"
test -n "$PERPLEXITY_API_KEY" && echo "PERPLEXITY_API_KEY is set"
Perintah terakhir sengaja mengonfirmasi keberadaan tanpa mengekspos nilainya. Perplexity secara eksplisit menyarankan agar tidak mencetak kunci atau bahkan fragmen kunci dalam output terminal. Untuk seluruh aplikasi Anda, ikuti aturan yang sama: samarkan header Authorization, rotasi kunci yang telah disusupi, dan berikan setiap lingkungan kredensialnya sendiri. Padukan hal ini dengan alur kerja manajemen kunci API yang aman sebelum menambahkan traffic pelanggan.
Integrasikan Agent API dengan OpenAI SDK
Agent API adalah antarmuka Perplexity AI API yang tepat ketika produk Anda memerlukan jawaban yang didasarkan pada web, sitasi, penggunaan alat, atau respons yang dapat berlanjut di berbagai giliran. Perplexity mendokumentasikan konfigurasi OpenAI SDK sebagai base_url="https://api.perplexity.ai/v1", menggunakan client.responses.create().
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/v1",
)
response = client.responses.create(
model="perplexity/sonar",
input="What changed in the last 30 days for this topic? Cite primary sources.",
tools=[{"type": "web_search"}],
max_output_tokens=600,
)
print(response.output_text)
Endpoint kanonisnya adalah POST /v1/agent; OpenAI SDK mengirim POST /v1/responses, yang diterima Perplexity sebagai alias. Ini kompatibel pada lapisan Responses, bukan janji bahwa setiap opsi Chat Completions dapat dipetakan dengan mulus. Panduan kompatibilitas OpenAI Perplexity adalah sumber kebenaran untuk kolom permintaan dan respons yang didukung.
Dua detail produksi penting di sini:
- Pencarian web bersifat opt-in. Permintaan yang hanya berisi
modeldaninputmenggunakan pengetahuan model dan tidak mengembalikan sitasi; gunakan tingkat upaya atau alatweb_searchketika kebaruan dan sumber penting. - Simpan
outputterstruktur, bukan hanyaoutput_text, di batas aplikasi Anda. Sitasi, aktivitas alat, status, penggunaan, dan ID respons adalah data operasional—bukan sekadar dekorasi untuk UI.
Sebelum Anda melakukan hard-code pada pengenal model, kueri GET /v1/models dalam alur kerja deployment Anda atau tinjau katalog model Agent API saat ini. Perplexity mendokumentasikan endpoint tersebut dalam format yang kompatibel dengan OpenAI, sehingga berguna untuk allowlist dan pemeriksaan rilis.
Gunakan Orchestrator API saat Anda memerlukan kompatibilitas Chat Completions
Perplexity AI API memiliki jalur kedua yang kompatibel dengan OpenAI untuk tugas yang berbeda. Orchestrator API menggunakan bentuk Chat Completions dan base URL yang berbeda:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PERPLEXITY_API_KEY"],
base_url="https://api.perplexity.ai/orchestrator/v1",
)
completion = client.chat.completions.create(
model=os.environ["PPLX_ORCHESTRATOR_MODEL"],
max_tokens=500,
messages=[
{"role": "user", "content": "Summarize these notes in five bullets."}
],
)
print(completion.choices[0].message.content)
Gunakan variabel lingkungan untuk ID model dan validasikan dalam CI atau pemeriksaan rilis. Ketersediaan katalog, alias, dan kartu harga berubah lebih sering daripada seharusnya kode aplikasi Anda berubah. Kesalahan utama yang harus dihindari adalah menganggap Agent API dan Orchestrator API dapat saling dipertukarkan:
- Agent API:
https://api.perplexity.ai/v1+responses.create(). - Orchestrator API:
https://api.perplexity.ai/orchestrator/v1+chat.completions.create().
Jika tujuan Anda adalah jawaban terkini yang disertai sitasi, jangan beralih ke Chat Completions hanya karena klien tersebut sudah familiar. Jika tujuan Anda adalah migrasi OpenAI Chat Completions yang drop-in untuk katalog open-weight yang dihosting, jangan arahkan ke base URL Agent. Panduan cepat Perplexity menunjukkan kedua pola tersebut.
Harga Perplexity AI API: hitung seluruh permintaan
Cara praktis untuk menganggarkan Perplexity AI API adalah dengan memisahkan biaya token dari biaya alat atau permintaan. Kartu tarif yang tepat bersifat langsung dan spesifik per model, jadi gunakan halaman harga sebagai masukan deployment—bukan angka yang Anda salin ke dalam slide sekali setiap kuartal.
| Permukaan | Model penagihan | Implikasi produksi |
|---|---|---|
| Orchestrator API | Tarif token input, output, dan cache-read per model; token reasoning ditagihkan dengan tarif output; tanpa biaya per permintaan | Estimasi berdasarkan token input, output, dan cache yang terukur. |
| Model Agent API | Harga transparan berbasis token menurut penyedia/model yang dipilih | Catat penggunaan yang dikembalikan dan model yang dipilih untuk setiap permintaan yang terlihat oleh pengguna. |
Agent web_search |
Standar: $0.0025/pemanggilan; Fast Search: $0.001/pemanggilan | Jadikan akses web sebagai keputusan yang disengaja; ini adalah pos biaya terpisah. |
Agent fetch_url |
$0.0005/pemanggilan | Batasi pengambilan URL dalam loop agen. |
| Sandbox Agent | $0.03/sesi, ditambah kueri pencarian SDK | Perlakukan sesi sandbox sebagai sumber daya yang terpisah. |
| Search API | $5.00 per 1.000 permintaan standar yang berhasil; $1.00 per 1.000 permintaan Fast Search | Permintaan yang berisi hingga lima kueri merupakan satu unit penagihan permintaan berhasil. |
Tarif di atas diperiksa pada 24 Oktober 2026. Halaman harga resmi dan katalog model Agent API harus diperiksa kembali sebelum Anda menetapkan margin, kuota pelanggan, atau peringatan anggaran.
Rumus perencanaan yang berguna adalah:
request_cost =
(input_tokens / 1,000,000 × input_rate) +
(output_tokens / 1,000,000 × output_rate) +
(cache_read_tokens / 1,000,000 × cache_read_rate) +
tool_invocations × tool_rate +
search_requests × search_request_rate
Jangan mengestimasi jawaban hasil riset hanya dari token output. Alur kerja agen dapat menggunakan konteks input, token output/reasoning, dan pemanggilan alat. Simpan setiap dimensi tersebut bersama ID tenant, nama fitur, model yang diminta, model final, dan ID respons Anda. Model peristiwa yang sama membuat perbandingan harga model AI jauh lebih bermakna daripada hanya membandingkan harga daftar.
Bangun alur kerja Perplexity AI API yang siap produksi
1. Jadikan permukaan API sebagai keputusan produk yang eksplisit
Definisikan adapter kecil per permukaan, seperti perplexity_agent, perplexity_search, dan perplexity_orchestrator. Jangan sembunyikan tipe respons yang berbeda di balik fungsi chat() generik sampai Anda memutuskan apa yang terjadi pada sitasi, hasil pencarian, penggunaan, dan peristiwa alat.
Untuk jawaban riset yang ditujukan kepada pelanggan, adapter Anda setidaknya harus mengembalikan:
answer_text, citations, response_id, status, requested_model,
served_model, input_tokens, output_tokens, tool_calls, cost, latency_ms
Untuk Search mentah, kembalikan hasil secara terpisah dari sintesis yang dilakukan kemudian. Hal ini mempertahankan asal-usul data dan memungkinkan Anda mengubah model penulisan tanpa diam-diam mengubah penyedia pencarian.
2. Perlakukan sitasi sebagai data yang harus Anda pertahankan
Saat permintaan Perplexity AI API Anda menggunakan pencarian web, tampilkan sumber yang dikutip di samping klaim yang didukungnya. Simpan URL sumber yang dikembalikan, judul jika disediakan, dan ID respons yang digunakan untuk membuat jawaban. Jawaban yang ramah tanpa sumber yang dapat diperiksa tidak cukup untuk fitur riset, agen dukungan, atau alur kerja pengambilan keputusan internal.
Tentukan kebijakan Anda sebelum peluncuran:
- Apakah Anda memerlukan setidaknya satu sumber primer untuk jawaban faktual?
- Apakah Anda akan menghapus pernyataan ketika tidak ada sitasi yang mendukungnya?
- Apakah pengguna dapat membuka URL yang dikutip sebelum bertindak berdasarkan jawaban?
- Berapa lama Anda menyimpan metadata sumber dan catatan respons?
3. Anggarkan untuk jendela batas laju bergulir, bukan satu angka “permintaan per menit”
Agent API Perplexity mendokumentasikan batas permintaan di seluruh organisasi yang dibagikan di antara panggilan Agent, polling, operasi pembatalan/lanjutkan, dan unduhan file. API ini juga mendokumentasikan batas token per model pada jendela menit dan jam yang bergulir. Polling tidak gratis: pada tingkat rendah, melakukan polling permintaan asinkron sekali per detik dapat menghabiskan seluruh kuota permintaan.
Untuk respons 429, patuhi Retry-After. Untuk kesalahan overloaded terkait kapasitas, terapkan exponential backoff dengan jitter dan gunakan daftar fallback yang terdokumentasi hanya ketika produk dapat dengan aman menerima model yang berbeda. Jangan mencoba ulang kesalahan autentikasi, validasi, atau konfigurasi kuota seolah-olah kesalahan tersebut bersifat sementara. Lihat panduan batas laju dan tingkat penggunaan Perplexity untuk ambang batas saat ini dan semantik respons.
Pseudocode untuk kebijakan percobaan ulang yang dibatasi:
for attempt in range(3):
try:
return call_perplexity()
except RateLimitError as error:
wait_seconds = retry_after_or_jittered_backoff(error, attempt)
sleep(wait_seconds)
except TransientCapacityError:
sleep(jittered_backoff(attempt))
raise ServiceTemporarilyUnavailable()
Jaga jumlah percobaan ulang tetap kecil, gunakan tenggat waktu end-to-end, dan buat status fallback pemanggil terlihat. Percobaan ulang yang mengubah permintaan riset lambat menjadi indikator pemuatan selama 90 detik bukanlah keandalan.
4. Catat cukup banyak untuk men-debug biaya, kualitas, dan kebaruan secara bersamaan
Lacak ID permintaan, keluarga endpoint, model, tingkat upaya, daftar alat, waktu hingga token pertama, waktu penyelesaian, dimensi token, jumlah pemanggilan alat, status HTTP, jumlah percobaan ulang, dan klasifikasi kesalahan yang aman. Untuk respons dengan sitasi, lacak jumlah sitasi dan domain sumber. Untuk Search, lacak jumlah kueri dan jumlah hasil.
Ini memberi Anda bukti untuk menjawab pertanyaan seperti: “Apakah latensi meningkat karena kami mengaktifkan pencarian?”, “Tenant mana yang membelanjakan biaya untuk sesi sandbox?”, dan “Apakah fallback meningkatkan ketersediaan tetapi menurunkan cakupan sitasi?” Untuk arsitektur yang lebih umum, lihat panduan gateway API AI dan panduan batas laju LLM.
5. Rencanakan migrasi Sonar jika Anda memiliki kode lama
Panduan migrasi Perplexity saat ini menyatakan bahwa dukungan Sonar Chat Completions berakhir pada 27 September 2026. Panduan tersebut merekomendasikan Agent API untuk proyek baru; permintaan lama sinkron dan streaming sedang dirumuskan ulang secara bertahap, sedangkan permintaan Sonar asinkron tidak lagi didukung. Jika Anda masih memanggil endpoint Sonar, uji adapter Agent API sekarang alih-alih menemukan kerusakan asinkron di produksi. Baca panduan migrasi.
Perplexity API langsung atau gateway multi-model terpisah?
Gunakan integrasi Perplexity AI API langsung ketika fitur bergantung pada Agent, Search, sitasi, tingkat upaya, atau perilaku API yang khusus untuk Perplexity. Ini menjaga kontrak produksi tetap jelas.
Gunakan gateway multi-model terpisah hanya untuk model dan endpoint yang saat ini tercantum sebagai didukung oleh gateway tersebut. Misalnya, Flatkey mendokumentasikan base URL yang kompatibel dengan OpenAI di https://router.flatkey.ai/v1 untuk katalog yang didukungnya dan dasbor penggunaan tingkat permintaan. Direktori model publiknya harus diperiksa secara langsung sebelum Anda mengasumsikan bahwa penyedia atau model tersedia. Mulai dengan panduan cepat Flatkey API.
Untuk tim yang membutuhkan keduanya, gunakan dua klien eksplisit:
| Persyaratan | Batas klien yang direkomendasikan |
|---|---|
| Riset dan sitasi Perplexity yang berbasis web | Klien Agent/Search Perplexity langsung |
| Model non-Perplexity yang didukung dengan satu base URL yang kompatibel dan kontrol penggunaan terkonsolidasi | Klien Flatkey |
| Produk membutuhkan keduanya dalam satu alur kerja | Router tingkat aplikasi dengan adapter bertipe, daftar izin model independen, dan skema peristiwa observabilitas umum |
Jangan rute endpoint Perplexity langsung melalui layanan lain kecuali dokumentasinya saat ini secara eksplisit mendukung rute tersebut. Tujuannya bukan memaksa setiap panggilan melalui satu lapisan; melainkan mempertahankan kapabilitas dan perilaku penagihan yang benar-benar diandalkan fitur Anda.
Daftar periksa peluncuran produksi
- [ ] Setiap fitur telah memilih Agent, Orchestrator, Search, Embeddings, atau Decisions secara sengaja.
- [ ] Kunci API berada di sisi server, dicakup berdasarkan lingkungan, serta tidak ada dalam bundle klien dan log.
- [ ] URL dasar Agent (
/v1) dan URL dasar Orchestrator (/orchestrator/v1) tidak tertukar. - [ ] ID model dan kartu harga langsung divalidasi dalam pemeriksaan rilis.
- [ ] Pencarian web secara eksplisit diaktifkan hanya ketika kebaruan informasi yang dikutip berguna.
- [ ] Respons dengan kutipan mempertahankan metadata sumber dan ID respons.
- [ ] Peristiwa biaya mencakup dimensi token serta jumlah pemanggilan alat atau pencarian.
- [ ]
429mematuhiRetry-After; kegagalan kapasitas sementara menggunakan backoff eksponensial terbatas dengan jitter. - [ ] Polling di-backoff atau diganti dengan perilaku streaming/penyambungan ulang.
- [ ] Pengujian bertahap mencakup kualitas sumber, latensi, biaya, perilaku coba ulang, dan fallback yang terlihat oleh pengguna.
FAQ Perplexity AI API
Apakah Perplexity AI API kompatibel dengan OpenAI SDK?
Ya, tetapi pilih bentuk API yang sesuai. Agent API menggunakan format OpenAI Responses di https://api.perplexity.ai/v1; Orchestrator API menggunakan Chat Completions di https://api.perplexity.ai/orchestrator/v1.
Apakah setiap permintaan Agent API melakukan pencarian web dan menyertakan kutipan?
Tidak. Perplexity mendokumentasikan pencarian web sebagai fitur opt-in. Tambahkan tingkat effort atau alat web_search saat Anda memerlukan output yang berlandaskan web; pertahankan output terstruktur agar aplikasi Anda dapat merender dan mengaudit kutipan.
Berapa biaya Perplexity AI API?
Biayanya bergantung pada surface API, model, penggunaan token, pembacaan cache, token penalaran, dan alat yang dipilih. Gunakan kartu tarif resmi terbaru dan ukur penggunaan permintaan aktual. Permintaan agen dengan pencarian diaktifkan memiliki komponen biaya token model dan alat.
Apa yang harus saya lakukan setelah kesalahan batas laju?
Patuhi Retry-After, atur laju permintaan baru, dan gunakan backoff eksponensial terbatas dengan jitter. Jangan melakukan polling secara agresif; polling Agent API dihitung terhadap batas permintaan bersama organisasi.
Langkah berikutnya
Mulailah dengan satu kasus penggunaan produksi yang sempit: jawaban riset dengan kutipan, fitur pencarian mentah, atau pemanggilan model yang kompatibel dengan Chat Completions. Instrumentasikan sebelum Anda memperluas trafik. Jika bagian lain dari aplikasi Anda juga memerlukan model yang didukung di balik satu klien yang kompatibel dengan OpenAI, jelajahi katalog model Flatkey dan pertahankan batas kliennya secara eksplisit.



