src.data.providers.serpapi¶
SerpAPI provider implementation for Google Trends data.
Module Contents¶
- class src.data.providers.serpapi.SerpAPIProvider(api_key: str, max_retries: int = 3, retry_delay: int = 5, timeout: int = 30)[source]¶
Bases:
src.data.providers.base.DataProviderSerpAPI implementation for fetching Google Trends data.
- fetch_trends(queries: List[str], geo: str, date_range: str, **kwargs) Dict[str, Any][source]¶
Fetch Google Trends data via SerpAPI.
- Parameters:
queries – List of search queries (1-5)
geo – Geographic region code (e.g., ‘GB’, ‘US’)
date_range – Date range (e.g., ‘today 12-m’, ‘today 5-y’)
**kwargs – Additional parameters
- Returns:
Parsed API response containing interest_over_time data
- Raises:
APIError – If request fails
RateLimitError – If rate limit exceeded
InvalidResponseError – If response is invalid
- src.data.providers.serpapi.create_provider(api_key: str, **options) SerpAPIProvider[source]¶
Factory function to create SerpAPI provider.
- Parameters:
api_key – SerpAPI key
**options – Provider options (max_retries, retry_delay, timeout)
- Returns:
Configured SerpAPIProvider instance