Skip to content

Python scraper for TickPick.com event listings using ScrapingAnt API

Notifications You must be signed in to change notification settings

kami4ka/tickpick-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TickPick Scraper

A Python scraper for extracting event listings from TickPick.com using the ScrapingAnt web scraping API.

Features

  • Scrapes event listings from TickPick.com across multiple categories
  • Supports NBA, NFL, MLB, NHL teams and concerts
  • Extracts comprehensive event details:
    • Event title (game matchup or artist name)
    • Date and time
    • Venue name and location
    • Ticket price (starting from)
    • Hot Event indicator
    • Category
  • Handles JavaScript "View More" pagination via click simulation
  • Exports data to CSV and JSON formats
  • Deduplicates events automatically
  • Uses CSS selectors for reliable extraction

Prerequisites

Note: The ScrapingAnt free plan has a concurrency limit of 1 thread. For higher throughput, consider upgrading to a paid plan.

Installation

  1. Clone this repository:
git clone https://github.com/kami4ka/tickpick-scraper.git
cd tickpick-scraper
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set your ScrapingAnt API key:
export SCRAPINGANT_API_KEY="your_api_key_here"

Usage

Basic Usage

Scrape events from default categories (Lakers and Bad Bunny):

python main.py

Command Line Options

python main.py [OPTIONS]

Options:
  --category TEXT          Scrape a specific category only
  --categories TEXT...     Scrape multiple specific categories
  --all-categories         Scrape all available categories
  --pages N                Number of 'View More' clicks per category (default: 3)
  -o, --output PATH        Output CSV file path (default: output/tickpick_events.csv)
  --json                   Also export to JSON format
  -v, --verbose            Enable verbose output
  --api-key TEXT           ScrapingAnt API key (or set SCRAPINGANT_API_KEY env var)
  --list-categories        List available categories and exit

Examples

Scrape with verbose output:

python main.py --verbose

Scrape a specific category:

python main.py --category nba/los-angeles-lakers-tickets --verbose

Scrape multiple categories:

python main.py --categories nba/los-angeles-lakers-tickets nba/golden-state-warriors-tickets --verbose

Scrape all available categories:

python main.py --all-categories --verbose

Scrape with more pagination clicks:

python main.py --pages 5 --verbose

Export to both CSV and JSON:

python main.py --json -o output/events.csv

List available categories:

python main.py --list-categories

Available Categories

NBA Teams

  • nba/los-angeles-lakers-tickets - Los Angeles Lakers
  • nba/golden-state-warriors-tickets - Golden State Warriors
  • nba/boston-celtics-tickets - Boston Celtics
  • nba/new-york-knicks-tickets - New York Knicks
  • nba/chicago-bulls-tickets - Chicago Bulls
  • nba/miami-heat-tickets - Miami Heat

NFL Teams

  • nfl/dallas-cowboys-tickets - Dallas Cowboys
  • nfl/new-england-patriots-tickets - New England Patriots
  • nfl/green-bay-packers-tickets - Green Bay Packers

MLB Teams

  • mlb/new-york-yankees-tickets - New York Yankees
  • mlb/los-angeles-dodgers-tickets - Los Angeles Dodgers

NHL Teams

  • nhl/new-york-rangers-tickets - New York Rangers
  • nhl/boston-bruins-tickets - Boston Bruins

Concerts

  • concerts/bad-bunny-tickets - Bad Bunny
  • concerts/taylor-swift-tickets - Taylor Swift
  • concerts/beyonce-tickets - Beyonce
  • concerts/drake-tickets - Drake
  • concerts/the-weeknd-tickets - The Weeknd

Output Format

CSV Fields

Field Description Example
title Event name/matchup Lakers vs. Hawks
date Event date Jan 13
time Day and time Tue 7:30 pm
venue Venue name Crypto.com Arena
location City, State Los Angeles, CA
price Ticket price From $31+
is_hot Hot event indicator True/False
event_url Category URL https://www.tickpick.com/nba/...
category Category name Los Angeles Lakers
scraped_at Timestamp 2026-01-10T10:30:00Z

Sample Output

title,date,time,venue,location,price,is_hot,event_url,category,scraped_at
Lakers vs. Hawks,Jan 13,Tue 7:30 pm,Crypto.com Arena,Los Angeles, CA,From $31+,False,https://www.tickpick.com/nba/los-angeles-lakers-tickets/,Los Angeles Lakers,2026-01-10T10:30:00Z

Project Structure

TickPickScraper/
├── config.py          # Configuration settings and categories
├── models.py          # Event and EventCollection data classes
├── utils.py           # Utility functions for parsing
├── scraper.py         # Main scraper class
├── main.py            # CLI entry point
├── requirements.txt   # Python dependencies
├── .gitignore         # Git ignore patterns
├── output/            # Output directory for scraped data
│   └── .gitkeep
└── README.md          # This file

How It Works

The scraper fetches event listing pages from TickPick.com using ScrapingAnt's browser rendering capability with residential proxies.

Each event card contains:

  • Event title (game matchup or performer name)
  • Date and time
  • Venue and location
  • Starting ticket price
  • Hot Event badge (optional)

The scraper:

  1. Navigates to the category's event listing page
  2. Uses JavaScript snippets to click "View More" button multiple times
  3. Parses the HTML to extract event data using CSS selectors
  4. Deduplicates events based on title, date, and venue
  5. Exports to CSV/JSON format

Each "View More" click typically loads 10-20 more events. Use the --pages option to control how many times to click.

License

MIT License

Disclaimer

This scraper is for educational purposes only. Please respect TickPick.com's terms of service and rate limits when using this tool. Always ensure your scraping activities comply with applicable laws and website policies.

About

Python scraper for TickPick.com event listings using ScrapingAnt API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages