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")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…