pub struct SearchResults {Show 17 fields
pub search_metadata: SearchMetadata,
pub search_parameters: SearchParameters,
pub organic_results: Option<Vec<OrganicResult>>,
pub answer_box: Option<AnswerBox>,
pub knowledge_graph: Option<KnowledgeGraph>,
pub related_searches: Option<Vec<RelatedSearch>>,
pub pagination: Option<Pagination>,
pub ads: Option<Vec<Ad>>,
pub shopping_results: Option<Vec<ShoppingResult>>,
pub local_results: Option<LocalResults>,
pub news_results: Option<Vec<NewsResult>>,
pub video_results: Option<Vec<VideoResult>>,
pub inline_images: Option<Vec<InlineImage>>,
pub inline_videos: Option<Vec<InlineVideo>>,
pub short_videos: Option<Vec<ShortVideo>>,
pub search_information: Option<SearchInformation>,
pub serpapi_pagination: Option<SerpapiPagination>,
}
Expand description
Complete search results from SerpAPI.
This is the main response structure returned by search operations. It contains all the different types of results that Google can return, including organic results, ads, knowledge panels, and more.
§Examples
use serp_sdk::{SerpClient, SearchQuery};
let results = client.search(SearchQuery::new("rust programming")).await?;
// Process organic results
if let Some(organic) = results.organic_results {
for result in organic {
println!("{}: {}", result.title, result.link);
}
}
// Check for knowledge graph
if let Some(kg) = results.knowledge_graph {
println!("Knowledge panel: {}", kg.title);
}
Fields§
§search_metadata: SearchMetadata
Metadata about the search request execution
search_parameters: SearchParameters
Parameters that were used for the search
organic_results: Option<Vec<OrganicResult>>
Main organic search results
answer_box: Option<AnswerBox>
Featured snippet or answer box
knowledge_graph: Option<KnowledgeGraph>
Knowledge graph panel information
Related search suggestions
pagination: Option<Pagination>
Pagination information for multi-page results
ads: Option<Vec<Ad>>
Sponsored advertisements
shopping_results: Option<Vec<ShoppingResult>>
Shopping/product results
local_results: Option<LocalResults>
Local business results
news_results: Option<Vec<NewsResult>>
News article results
video_results: Option<Vec<VideoResult>>
Video search results
inline_images: Option<Vec<InlineImage>>
Inline image results
inline_videos: Option<Vec<InlineVideo>>
Inline video results
short_videos: Option<Vec<ShortVideo>>
Short video results
search_information: Option<SearchInformation>
Search information
serpapi_pagination: Option<SerpapiPagination>
SerpAPI pagination
Trait Implementations§
Source§impl Clone for SearchResults
impl Clone for SearchResults
Source§fn clone(&self) -> SearchResults
fn clone(&self) -> SearchResults
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SearchResults
impl Debug for SearchResults
Source§impl<'de> Deserialize<'de> for SearchResults
impl<'de> Deserialize<'de> for SearchResults
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SearchResults
impl RefUnwindSafe for SearchResults
impl Send for SearchResults
impl Sync for SearchResults
impl Unpin for SearchResults
impl UnwindSafe for SearchResults
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more