Tonitor is a powerful monitoring tool designed to help Pokémon TCG collectors compete with scalpers when purchasing limited-edition and high-demand Pokémon cards from Target.com.
Scalpers use bots and automation tools to purchase high-demand Pokémon products the moment they become available, making it nearly impossible for genuine collectors to get them at retail prices. Tonitor levels the playing field by:
- Real-time stock monitoring: Continuously checks Target.com inventory for specific Pokémon products
- Anti-bot evasion: Uses sophisticated browser fingerprinting techniques to avoid detection
- Proxy support: Distributes requests across multiple IP addresses to prevent rate limiting
- Instant notifications: Alerts you the moment your desired Pokémon products come in stock
- Monitors Target.com inventory using product TCINs (Target's product IDs)
- Automatically rotates between browser fingerprints to avoid bot detection
- Supports proxy rotation to prevent IP bans and rate limits
- Auto-adjusts request rates based on Target's server response
- Outputs stock status as JSON for easy integration with notification systems
- Go 1.24.2 or later
git clone https://github.com/yourneighborhoodchef/tonitor.git
cd tonitor
go build -o tonitor ./cmd/tonitor
You can also integrate tonitor directly into your Go applications:
go get github.com/yourneighborhoodchef/tonitor
package main
import (
"fmt"
"time"
"github.com/yourneighborhoodchef/tonitor/internal/headers"
"github.com/yourneighborhoodchef/tonitor/internal/monitor"
)
func main() {
// Initialize header profiles for anti-detection
headers.InitProfilePool(15000)
// Set up monitoring parameters
tcin := "50516598" // Target product ID
delayMs := 3500 // 3.5 seconds between checks
workers := 3 // Number of concurrent workers
fmt.Printf("Monitoring TCIN %s with %d second intervals using %d workers\n",
tcin, delayMs/1000, workers)
// Start monitoring - this will run indefinitely
monitor.MonitorProduct(tcin, time.Duration(delayMs)*time.Millisecond, workers)
}
./tonitor <TCIN> [delay_ms] [proxy_list]
TCIN
: Target's product ID for the Pokémon card product you want to monitordelay_ms
: Delay between checks in milliseconds (default: 30000)proxy_list
: Comma-separated list of proxy URLs (optional)
# Monitor Pokémon TCG Elite Trainer Box with TCIN 83449367
./tonitor 83449367 15000 http://user:pass@proxy1.example.com,http://user:pass@proxy2.example.com
./tonitor -h
tonitor/
├── cmd/
│ └── tonitor/ # Main application entry point
│ └── main.go
├── internal/
│ ├── client/ # HTTP client with anti-detection features
│ │ ├── http.go
│ │ └── stock.go
│ ├── headers/ # Browser fingerprint generation
│ │ └── generator.go
│ ├── logging/ # Logging utilities
│ │ └── logger.go
│ ├── monitor/ # Core monitoring logic
│ │ ├── monitor.go
│ │ └── types.go
│ └── ratelimit/ # Rate limiting implementation
│ └── tokenbucket.go
├── go.mod
├── go.sum
└── README.md
- Find the TCIN for Pokémon products by viewing the product page URL on Target.com (A-XXXXXXXX)
- Use multiple proxies to avoid rate limiting
- Set up notifications by piping the output to a Discord/Telegram bot
- Be ready to purchase immediately when an in-stock notification appears
Please use this tool responsibly. Tonitor is designed to help collectors compete with scalpers, not to deplete inventory unfairly. Only monitor products you genuinely intend to purchase.
This software is provided for educational purposes only. Users are responsible for complying with Target's terms of service and all applicable laws when using this software.