Expand description
Rust client library for Kagi Search and Universal Summarizer APIs
This crate provides a simple, async client for interacting with Kagi’s APIs:
- Search API for web search results
- Universal Summarizer API for content summarization
References:
- https://help.kagi.com/kagi/api/search.html
- https://help.kagi.com/kagi/api/summarizer.html
- https://help.kagi.com/kagi/api/fastgpt.html
- https://help.kagi.com/kagi/api/enrich.html
§Example
use kagiapi::{KagiClient, SummaryType, SummarizerEngine};
#[tokio::main]
async fn main() -> Result<(), kagiapi::Error> {
let client = KagiClient::new("your-api-key");
// Search the web
let results = client.search("rust programming", Some(10)).await?;
for result in results.data {
if result.result_type == 0 {
let title = result.title.as_deref().unwrap_or("No title");
let url = result.url.as_deref().unwrap_or("No URL");
println!("{}: {}", title, url);
}
}
// Summarize content
let summary = client.summarize(
"https://example.com/article",
Some(SummarizerEngine::Cecil),
Some(SummaryType::Summary),
None
).await?;
println!("Summary: {}", summary.output);
Ok(())
}Structs§
- Enrich
Response - Fast
GptData - Fast
GptMeta - Fast
GptReference - Fast
GptResponse - Kagi
Client - Search
Meta - Search
Response - Search
Result - Summary
Data - Summary
Meta - Summary
Response - Thumbnail