We extract bus schedules, fare tiers, seat availability, and route metadata from Primera Plus. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Schedules & Routes objects from primera-plus.com.mx. All fields typed and schema-versioned.
"route_id": "PP-MEX-GDL-0830", "origin_city": "Mexico City", "origin_terminal": "Terminal Norte", "dest_city": "Guadalajara", "departure_time": "2026-10-14T08:30:00-06:00", "arrival_time": "2026-10-14T15:45:00-06:00"
| # | route_id | origin_city | origin_terminal | dest_city | dest_terminal | departure_time |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Pricing & Fares objects from primera-plus.com.mx. All fields typed and schema-versioned.
"route_id": "PP-MEX-GDL-0830", "base_fare": 1250.0, "final_price": 1125.0, "internet_discount_pct": 10, "inapam_fare": 625.0, "currency": "MXN"
| # | route_id | base_fare | internet_discount_pct | final_price | currency | student_fare |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Seat Availability objects from primera-plus.com.mx. All fields typed and schema-versioned.
"route_id": "PP-MEX-GDL-0830", "total_seats": 30, "available_seats": 12, "occupied_seats": 18, "window_seats_available": 4, "timestamp": "2026-10-12T09:14:00Z"
| # | route_id | bus_id | total_seats | available_seats | occupied_seats | seat_map_url |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Terminals & Stops objects from primera-plus.com.mx. All fields typed and schema-versioned.
"terminal_id": "TERM-MEX-NTE", "terminal_name": "Terminal Central de Autobuses del Norte", "city": "Mexico City", "state": "CDMX", "latitude": 19.4792, "longitude": -99.1411
| # | terminal_id | terminal_name | city | state | address | latitude |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Bus Fleet & Amenities objects from primera-plus.com.mx. All fields typed and schema-versioned.
"bus_type": "Irizar i8", "class_name": "Ejecutivo", "has_wifi": true, "has_ac": true, "has_restroom": true, "capacity": 30
| # | bus_type | class_name | seat_pitch_cm | has_wifi | has_ac | has_screens |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Primera Plus scraper handles every layer of the booking platform: schedule listings, dynamic pricing grids, seat maps, and terminal intelligence - with JavaScript rendering and session management built in.
Capture origins, destinations, departure times, arrival times, and total travel durations across all active routes.
Extract base fares, internet purchase discounts, and final ticket prices in MXN. Timestamped per crawl.
Collect specific pricing tiers including INAPAM (senior), student, and child discounted rates.
Analyse exact bus layouts to determine total capacity, occupied seats, and available window or aisle options.
Extract exact terminal names, addresses, and geolocations for every origin and destination.
Identify the exact fleet type assigned to a route, including Wi-Fi availability, AC, and individual screen setups.
Map intermediate stops and segment durations for long-haul journeys across central Mexico.
Requests routed through Mexican residential proxy pools to bypass regional access restrictions.
Monitor critical routes at sub-hourly intervals to track rapid changes in seat availability during peak seasons.
Run continuous pipelines that only emit records when schedules or prices shift, reducing downstream processing.
Brief in. Clean data out.
Provide origin-destination pairs, terminal lists, or date ranges. We design the extraction schema together.
We configure Scrapy and Playwright crawlers, proxy rotation, session management, and CAPTCHA handling.
Schema validation, null-rate checks, price-outlier detection, and sample schedules before full launch.
JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Travel aggregators heavily protect their pricing data. Here is how we stay resilient and why teams choose managed infrastructure over DIY.
Primera Plus restricts high-volume traffic from foreign data centres. Our crawlers use Mexican residential ISP proxies with realistic browser fingerprints and randomised request timing to maintain access.
Seat selection maps and dynamic pricing grids rely heavily on client-side rendering. We run full Playwright browser sessions to trigger the necessary XHR requests and hydrate the DOM before extraction.
Search queries on Primera Plus generate temporary session tokens. We maintain active cookie jars and automatically refresh expired tokens to ensure multi-step extractions complete successfully.
Travel booking interfaces update frequently. Our selector strategy uses multiple fallback chains per field, combining CSS selectors, XPath, and API payload interception to prevent pipeline breakages.
Every run emits structured logs to our observability stack. We alert on null-rate spikes, missing routes, and coverage drops, responding before you notice.
Other Mexican bus operators track Primera Plus fare adjustments to optimise their own pricing strategies.
Online travel agencies integrate structured schedule data into their booking portals to offer comprehensive ground transport options.
Analysts monitor seat fill rates against time-to-departure to model demand elasticity and optimise revenue.
Transport planners identify high-demand, low-supply corridors by tracking sold-out frequencies across specific times.
Tour operators combine real-time bus ticket availability with hotel inventory for all-inclusive travel packages.
Mobility researchers model passenger flow volumes across central Mexico using schedule density and capacity data.
"Primera Plus operates the primary ground transport arteries of central Mexico. Capturing their schedule and pricing data requires navigating strict session controls and dynamic seat maps."
Extracting reliable bus data goes beyond simple HTTP requests. Primera Plus employs session tokens, CAPTCHAs, and complex JavaScript rendering for seat selection. DataFlirt manages the residential proxies and browser automation required to deliver clean transport data, allowing your engineering team to focus on analytics rather than pipeline maintenance.
Everything supported by our primera-plus.com.mx scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration and deduplication. Playwright handles JavaScript rendering, session tokens, and XHR interception for seat maps.
We maintain pools of residential ISP proxies specifically targeting Mexican regions to prevent IP blocks and ensure continuous access.
Pipelines run on AWS Lambda and ECS. Airflow handles scheduling and dependency management. All state stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About primera-plus.com.mx scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available schedule and pricing information is generally permissible. DataFlirt targets only public, non-authenticated transport data. We do not extract personal passenger data, circumvent authentication walls, or violate privacy regulations.
We use Playwright to manage active browser sessions, intercepting and refreshing necessary authentication tokens automatically to ensure multi-step extractions complete without failure.
Yes. We can configure high-frequency polling pipelines that monitor specific high-demand routes at sub-hourly intervals, parsing the seat map graphics to return available versus occupied counts.
Yes, our extraction schema includes all available fare tiers, separating base fares from internet discounts, INAPAM rates, and student pricing.
Real-time streaming pipelines achieve sub-15-minute latency for tracked routes. Full schedule refreshes across all origin-destination pairs typically complete within a 4-hour window.
Yes. Primera Plus heavily throttles traffic from foreign data centres. We route all requests through our Mexican residential proxy pools to ensure consistent access and avoid geoblocking.
Our packages start at a defined list of origin-destination pairs with daily delivery. For comprehensive network extraction or sub-hourly polling, we price based on volume and delivery frequency.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a full schedule dump or continuous price monitoring across thousands of Mexican bus routes - we scope, build, and operate the pipeline. Tell us what you need.