INNER CODE UNIT · Python
ScrapeRequest
georgekhananaev/google-reviews-scraper-pro · api_server.py:242
class ScrapeRequest(BaseModel):
"""Request model for starting a scrape job"""
url: HttpUrl = Field(..., description="Google Maps URL to scrape")
headless: Optional[bool] = Field(None, description="Run Chrome in headless mode")
sort_by: Optional[str] = Field(None, description="Sort order: newest, highest, lowest, relevance")
scrape_mode: Optional[str] = Field(None, description="Scrape mode: new_only, update, or full")
stop_threshold: Optional[int] = Field(None, description="Consecutive matched batches before stopping")
max_reviews: Optional[int] = Field(None, description="Max reviews to scrape (0 = unlimited)")
max_scroll_attempts: Optional[int] = Field(None, description="Max scroll iterations")
scroll_idle_limit: Optional[int] = Field(None, description="Max idle iterations with zero new cards")
download_images: Optional[bool] = Field(None, description="Download images from reviews")
use_s3: Optional[bool] = Field(None, description="Upload images to S3")
custom_params: Optional[Dict[str, Any]] = Field(
None, max_length=64, description="Custom parameters (max 64 keys)"
)
date_filter: Optional[DateFilterRequest] = Field(
None, description="Optional date-range filter (issue #19)"
)