INNER CODE UNIT · Python
DateFilterRequest
georgekhananaev/google-reviews-scraper-pro · api_server.py:233
class DateFilterRequest(BaseModel):
"""Optional date-range filter for scrape jobs (issue #19)."""
after: Optional[str] = Field(None, description="ISO date; include reviews on/after")
before: Optional[str] = Field(None, description="ISO date; include reviews on/before")
mode: Optional[str] = Field(None, description="post_filter (default) or early_stop")
on_unparseable_date: Optional[str] = Field(None, description="include (default) or exclude")
timezone: Optional[str] = Field(None, description="IANA timezone (default UTC)")
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")