Shiply Freight Marketplace Scraper
Pricing
from $11.00 / 1,000 shiply listings
Shiply Freight Marketplace Scraper
Extract public Shiply freight listings with routes, distance, quote counts, urgency, and listing URLs for carrier and logistics research.
Pricing
from $11.00 / 1,000 shiply listings
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Free-plan limit: Apify free-plan runs can return at most 5 dataset records per run from this Actor, even if you request more.
Collect public transport-job listings from Shiply country marketplaces into a stable dataset for carrier prospecting, lane research, demand monitoring, and logistics analysis. The Actor reads public search-result pages; it does not log in, place quotes, message users, or access private delivery details.
What it extracts
Each dataset item represents one unique public Shiply listing.
| Field | Meaning |
|---|---|
listingId | Stable ID from the public listing URL |
title | Item or shipment title |
listingUrl | Public Shiply listing link |
country | Selected Shiply marketplace |
origin, destination | Public route endpoints shown in search |
distance, distanceUnit | Numeric route distance and mi/km unit |
postedAtText | Source date or relative posting time, when shown |
quotesCount | Number of providers quoting, when shown |
isUrgent, isFeatured | Marketplace status flags |
thumbnailUrl | Search-result thumbnail, when present |
sourcePageUrl, scrapedAt | Provenance and UTC collection time |
Nullable fields remain null when Shiply does not show them. The Actor never invents missing locations, dates, quotes, or images.
When to use it
- Carriers and dispatch teams: watch public jobs on preferred Shiply marketplaces.
- Freight brokers: identify public lane demand and quoting activity.
- Market analysts: compare origins, destinations, mileage, and listing volume over time.
- Data teams: schedule bounded snapshots and export JSON, CSV, Excel, XML, or RSS from Apify.
- AI agents: call the Actor through Apify MCP and consume the declared dataset schema.
Do not use this Actor to access private Shiply account data, accepted-job addresses, messages, customer contact details, or login-only listing details. It does not submit quotes or bypass CAPTCHAs.
Input
| Field | Default | Purpose |
|---|---|---|
countries | ["uk"] | One or more Shiply country presets: UK, US, Canada, Australia, India, Germany, France, Spain, Italy, Brazil, or Mexico |
startUrls | [] | Optional public Shiply /search or /listings/search URLs |
maxResults | 50 | Hard cap on unique dataset rows and result-event cost |
maxPagesPerSearch | 5 | Pagination cap for every selected search |
maxConcurrency | 2 | Simultaneous browser pages, capped at 5 |
requestDelayMillis | 1000 | Polite per-request delay in milliseconds |
proxyConfiguration | Apify Proxy | Network route configuration |
Small Canada run:
{"countries": ["ca"],"maxResults": 10,"maxPagesPerSearch": 1,"maxConcurrency": 1,"requestDelayMillis": 1000}
Multiple marketplaces:
{"countries": ["uk", "us", "ca"],"maxResults": 100,"maxPagesPerSearch": 3}
Custom public search page:
{"countries": [],"startUrls": [{ "url": "https://www.shiply.com/ca/listings/search" }],"maxResults": 25}
Example output
{"listingId": "9NKNEB3D9","title": "Dodge Charger","listingUrl": "https://www.shiply.com/ca/transport/Dodge-Charger/9NKNEB3D9","country": "Canada","origin": "Calgary, Alberta, T2G","destination": "Ottawa, Ontario, K1P","distance": 3487,"distanceUnit": "km","postedAtText": null,"quotesCount": 3,"isUrgent": true,"isFeatured": false,"thumbnailUrl": null,"sourcePageUrl": "https://www.shiply.com/ca/search","scrapedAt": "2026-08-28T10:00:00.000Z"}
The OUTPUT key-value record classifies the run as DATA, EMPTY, BLOCKED, REJECTED, or FAILED and reports delivered rows, event counters, challenge pages, failed requests, warnings, and completion time. Diagnostics stay out of the listing dataset so exports remain homogeneous.
Pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
apify-default-dataset-item | FREE: $0.015; BRONZE: $0.014; SILVER: $0.013; GOLD: $0.011; PLATINUM: $0.011; DIAMOND: $0.011 | Shiply listing — One unique, schema-valid public Shiply marketplace listing written to the default dataset. |
apify-actor-start | $0.005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.
Reliability and failure behavior
Shiply currently protects public search pages with Cloudflare. The Actor uses a real browser, coherent cookies and sessions, bounded retries, a configurable delay, and Apify Proxy support. It detects challenge pages instead of parsing them as empty data. A blocked run writes no fabricated records and no result events, then points to OUTPUT for diagnostics.
Pagination follows Shiply's 25-result offsets (/25, /50, and so on). Records are deduplicated by marketplace and listing ID before writing. A page-count signal is used when available; otherwise pagination continues only after a full 25-row page. Concurrency, retry count, pages, and results are bounded to avoid loops and unexpected spend.
Public markup, availability, and bot controls can change. If a country preset changes its public route, provide the current public search page through startUrls and report the preset issue with the run ID. Lowering concurrency and using a proxy geography aligned with the marketplace can improve reliability, but this Actor will not solve CAPTCHAs or defeat an access control.
API and MCP
Run through the Apify API with run-sync-get-dataset-items, schedule it in Console, connect webhooks, or add the Actor to Apify MCP. Inputs and outputs use stable field names and explicit nullability so agents can route calls and interpret empty versus blocked outcomes.
Example JavaScript client call:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/shiply-com-freight-marketplace-scraper').call({countries: ['ca'],maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Legal and privacy
This unofficial Actor is not affiliated with or endorsed by Shiply Ltd. Collect only public data you are authorized to use. Review Shiply's current terms, robots directives, and applicable laws before running at scale. Respect privacy, database rights, GDPR/UK GDPR, CCPA, contractual restrictions, and deletion obligations. Do not use results for spam, harassment, unlawful profiling, or attempts to identify or contact private individuals. Locations are reproduced only at the public precision Shiply displays.
For support, include the Apify run ID, redacted input, expected marketplace, and whether OUTPUT.outcome was EMPTY, BLOCKED, or FAILED.