Scraping Dashboard: Metrics, Errors, Speed in Real Time

Note: when your scraping processes millions of requests per day, you're blind without a dashboard. Errors accumulate, proxies go down, and you might not know for an hour. A scraping statistics dashboard solves this: see system health in real time, react to failures within minutes, optimize collectio

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1467
  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1320
  • Website development for BELFINGROUP
    Website development for BELFINGROUP
    1016
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1276
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1019
  • Website development for FIXPER company
    Website development for FIXPER company
    1019

Note: when your scraping processes millions of requests per day, you're blind without a dashboard. Errors accumulate, proxies go down, and you might not know for an hour. A scraping statistics dashboard solves this: see system health in real time, react to failures within minutes, optimize collection speed. We build such custom dashboards tailored to your data sources and infrastructure. With 5+ years in the market and 50+ successful projects, our experience guarantees stability. Get a project estimate in 1 day. Reach out for a consultation to discuss your task.

Key Metrics

Metric Description
Success Rate % of successful requests over period
Requests/min Crawl speed (requests per minute)
Items/hour Data collection speed
Error Rate % of requests with 4xx/5xx errors
Proxy Health % of working proxies in the pool
Queue Depth URL queue length for crawling
Avg Response Time Average source response time

Proxy Failure Solution and Critical Metrics

Picture this: a pool of 200 proxies, 15% of them periodically go down. Without monitoring, you lose up to 30% throughput. We embed the Proxy Health metric into your dashboard: when it drops below 95%, an alert is sent to Telegram. Analytics show that average recovery time drops from 40 to 8 minutes. Additionally, we configure automatic proxy rotation: when health falls below the threshold, the proxy is removed from the pool and its load redistributed to working addresses. This reduces lost requests by 20%. We also track response time and errors per proxy, allowing pinpoint replacement of problematic IPs. In a recent project for an e-commerce aggregator, this lowered the overall error rate from 12% to 3.5% within the first week. Contact our engineers to discuss your metrics.

From the set of metrics, pay special attention to Success Rate and Proxy Health. Success Rate indicates the proportion of successful responses—if it drops below 90%, the source is blocking requests or proxies are overloaded. Proxy Health tracks each proxy's operability: if health drops, the system automatically removes the proxy from rotation. Also important is Avg Response Time—a sharp increase often signals network issues or target server overload. We recommend configuring the dashboard to display all three metrics on the main screen.

Why TimescaleDB for Scraping Metrics?

For time-series data, specialized tools outperform standard PostgreSQL. TimescaleDB is a PostgreSQL extension with automatic time-based partitioning. Queries for weekly or monthly slices run fast even with 10 million rows. In one project, we stored 500 million records—aggregation took under 2 seconds. TimescaleDB also supports data compression, reducing storage size by 5–10 times without performance loss. Compared to plain PostgreSQL, TimescaleDB is 10x faster for time-series queries and saves 70% on storage costs.

# TimescaleDB (PostgreSQL extension) import psycopg2 CREATE TABLE scraper_metrics ( time TIMESTAMPTZ NOT NULL DEFAULT NOW(), scraper_id INTEGER, requests_ok INTEGER DEFAULT 0, requests_fail INTEGER DEFAULT 0, items_scraped INTEGER DEFAULT 0, avg_resp_ms FLOAT, proxy_used TEXT ); SELECT create_hypertable('scraper_metrics', 'time'); CREATE INDEX ON scraper_metrics (scraper_id, time DESC); 

API and Visualization

@app.get('/api/v1/stats/overview') async def get_overview(scraper_id: int, period: str = '24h'): interval = {'1h': '1 hour', '24h': '24 hours', '7d': '7 days'}[period] rows = await db.fetch(f''' SELECT time_bucket('5 minutes', time) AS bucket, SUM(requests_ok) AS ok, SUM(requests_fail) AS fail, SUM(items_scraped) AS items, AVG(avg_resp_ms) AS avg_ms FROM scraper_metrics WHERE scraper_id = $1 AND time > NOW() - INTERVAL '{interval}' GROUP BY bucket ORDER BY bucket ''', scraper_id) return { 'timeline': [dict(r) for r in rows], 'totals': { 'requests': sum(r['ok'] + r['fail'] for r in rows), 'success_rate': sum(r['ok'] for r in rows) / max(sum(r['ok'] + r['fail'] for r in rows), 1), 'items': sum(r['items'] for r in rows), } } 
import { LineChart, Line, XAxis, YAxis, Tooltip, ResponsiveContainer } from 'recharts'; function MetricsChart({ data }: { data: TimelinePoint[] }) { return ( <ResponsiveContainer width="100%" height={300}> <LineChart data={data}> <XAxis dataKey="bucket" tickFormatter={d => format(new Date(d), 'HH:mm')} /> <YAxis /> <Tooltip /> <Line dataKey="ok" stroke="#22c55e" name="Successful" strokeWidth={2} dot={false} /> <Line dataKey="fail" stroke="#ef4444" name="Failed" strokeWidth={2} dot={false} /> </LineChart> </ResponsiveContainer> ); } 

Alerts and Storage Comparison

Sample alert configuration

Threshold success rate < 80% — automatic notification to Telegram with details: which proxy or source failed. Configured for your scenarios. For example, you can set different thresholds for different sources or add escalation via email for repeated failures.

Storage Performance Complexity Suitable for Cost per month (1TB)
TimescaleDB High (auto-partitioning) Medium Time series, up to 10M rows/day $200
InfluxDB Very high Higher (separate stack) Very large volumes $500
PostgreSQL Low (no extensions) Low Small volumes $100 (but 10x slower)

How We Build Your Dashboard: Process

  1. Analysis — We study your data sources and metric requirements. Identify critical KPIs. Estimate data volume and update frequency. Conduct interviews with your team to pinpoint bottlenecks.
  2. Schema design — Choose tools (TimescaleDB, FastAPI, React). Design table structure and API endpoints. Plan for future scalability.
  3. API implementation — Write backend for metric collection and aggregation. Handle up to 10,000 requests/second. Use async workers to minimize latency.
  4. Frontend — Develop interface with charts and alerts. Use Recharts for interactive graphs. Add filters by time and scraper_id.
  5. Testing — Load test up to 1000 requests/second. Fix bottlenecks. Perform UAT with your team.
  6. Deployment — Deploy on your server or cloud. Monitor dashboard performance. Provide operational instructions.

What's Included and Timelines

  • OpenAPI documentation
  • Dashboard source code (backend and frontend)
  • Deployment guide
  • Team training (up to 2 hours)
  • 3-month code warranty

Dashboard with TimescaleDB, REST API, and React visualization: 5–8 working days. We estimate your project in 1 day. By using our dashboard, clients reduce downtime costs by an average of $2,000 per month. Contact us for a consultation to get an architecture proposal for your load. Request a custom estimate in 1 day—send us your details.