
ONE Line Prices
Pricing
$8.00/month + usage

ONE Line Prices
Scrapes shipping prices from ONE Line's e-commerce platform for specified origin, destination, containers, and commodity. Supports authentication via access/refresh tokens or username/password.
0.0 (0)
Pricing
$8.00/month + usage
0
Monthly users
2
Runs succeeded
>99%
Last modified
3 days ago
ONE Line Shipping Price Scraper
Description
The ONE Line Shipping Price Scraper is an Apify Actor that scrapes shipping price data from the ONE Line e-commerce platform (https://ecomm.one-line.com). It retrieves pricing details for specified origin and destination locations, container types, and commodity codes or names. The Actor supports two authentication methods:
- Token-Based Authentication (Priority): Provide
access_token
andrefresh_token
directly for API access. - Username/Password Authentication (Fallback): Use a username and password to log in via Selenium if tokens are unavailable or invalid.
The Actor stores authentication tokens in Apify's key-value store for reuse, refreshes tokens when expired, and handles errors gracefully. It outputs structured data including departure/arrival dates, total price, and detailed freight information (e.g., service codes, charges).
Features
- Supports authentication via tokens or username/password.
- Validates and resolves location and commodity codes.
- Handles multiple container types (DRY 20, DRY 40, DRY 40H) with quantity and weight.
- Provides detailed freight information, including origin/destination charges and transit details.
- Displays data in a table view in the Apify UI.
Prerequisites
To use this Actor, you need:
- An Apify account (sign up at https://console.apify.com).
- Valid ONE Line credentials:
- Access and refresh tokens (preferred), or
- Username and password for login.
- Basic familiarity with the Apify platform for configuring and running Actors.
Input Schema
The Actor expects input with the following fields:
Field Name | Type | Description |
---|---|---|
access_token | string | Access token for ONE Line API authentication (requires refresh_token). |
refresh_token | string | Refresh token for ONE Line API authentication (requires access_token). |
username | string | Username for ONE Line login (requires password, used if tokens are missing). |
password | string | Password for ONE Line login (requires username, used if tokens are missing). |
origin | string | Origin location name or code (e.g., 'dam' or 'EGDAM'). |
destination | string | Destination location name or code (e.g., 'VNCMP' or 'Cai Mep'). |
containers | array | List of container objects with name, quantity, and weight. |
commodity | string | Commodity code (e.g., '091091') or name. |
Notes:
- Either
access_token
andrefresh_token
orusername
andpassword
must be provided. containers
items are objects withname
(string, e.g., "DRY 40"),quantity
(integer), andweight
(integer).
Example Input
Token-Based Authentication
1{ 2 "access_token": "your_access_token", 3 "refresh_token": "your_refresh_token", 4 "origin": "dam", 5 "destination": "VNCMP", 6 "containers": [ 7 {"name": "DRY 40", "quantity": 5, "weight": 9000}, 8 {"name": "DRY 20", "quantity": 1, "weight": 10000} 9 ], 10 "commodity": "091091" 11}
Username/Password Authentication
1{ 2 "username": "your_username", 3 "password": "your_password", 4 "origin": "dam", 5 "destination": "VNCMP", 6 "containers": [ 7 {"name": "DRY 40", "quantity": 5, "weight": 9000}, 8 {"name": "DRY 20", "quantity": 1, "weight": 10000} 9 ], 10 "commodity": "091091" 11}
Output Schema
The Actor outputs an array of shipping price records. Key fields are listed below, with nested freightInfos
fields included for display in the Apify UI table view:
Field Name | Type | Description |
---|---|---|
departureDateEstimated | string | Estimated departure date (YYYY-MM-DD). |
arrivalDateEstimated | string | Estimated arrival date (YYYY-MM-DD). |
totalPrice | number | Total price in USD. |
freightInfos.serviceCode | string | Service code (e.g., "MD1"). |
freightInfos.serviceName | string | Service name (e.g., "MEDITERRANEAN 1"). |
freightInfos.transportName | string | Name of the transport (e.g., "YM WINNER"). |
freightInfos.price | number | Price for this freight service. |
freightInfos.duration | integer | Duration in days. |
freightInfos.status | string | Status of the service (e.g., "Available"). |
freightInfos.numberOfTransits | integer | Number of transits. |
freightInfos.originCharges | array | Charges at origin (array of charge objects). |
freightInfos.destinationCharges | array | Charges at destination (array of charge objects). |
freightInfos.basicOceanFreightCharges | array | Basic ocean freight charges (array of charge objects). |
Notes:
freightInfos
is an array of objects; the table view displays fields from the first item.- Charge fields (
originCharges
, etc.) are arrays of objects with details likechargeCode
,chargeAmount
, andtotalAmountInUSD
.
Example Output
1[ 2 { 3 "departureDateEstimated": "2025-04-27", 4 "arrivalDateEstimated": "2025-06-06", 5 "totalPrice": 3644.32, 6 "freightInfos": [ 7 { 8 "serviceCode": "MD1", 9 "serviceName": "MEDITERRANEAN 1", 10 "transportName": "YM WINDOW", 11 "conveyanceNumber": "043E", 12 "duration": 40, 13 "price": 3644.32, 14 "status": "Available", 15 "vgmCutoff": "2025-04-24 13:00", 16 "docCutoff": "2025-04-23 13:00", 17 "cyCutoff": "2025-04-25 17:00", 18 "portCutoff": "2025-04-25 17:00", 19 "routeType": "TRANSIT", 20 "numberOfTransits": 1, 21 "pudoVas": false, 22 "originCharges": [ 23 { 24 "chargeCode": "CSS", 25 "chargeName": "CARRIER SECURITY SURCHARGE", 26 "chargeAmount": "6", 27 "chargeCurrency": "USD", 28 "exchangeRatio": "1.0", 29 "surchargeCondition": "fixed", 30 "totalAmount": 6, 31 "cargoWeight": "10000", 32 "unit": "KGS", 33 "totalAmountInUSD": 6 34 }, 35 { 36 "chargeCode": "EMS", 37 "chargeName": "EMERGENCY SURCHARGE", 38 "chargeAmount": "250", 39 "chargeCurrency": "USD", 40 "exchangeRatio": "1.0", 41 "surchargeCondition": "fixed", 42 "totalAmount": 250, 43 "cargoWeight": "10000", 44 "unit": "KGS", 45 "totalAmountInUSD": 250 46 }, 47 { 48 "chargeCode": "CSS", 49 "chargeName": "CARRIER SECURITY SURCHARGE", 50 "chargeAmount": "6", 51 "chargeCurrency": "USD", 52 "exchangeRatio": "1.0", 53 "surchargeCondition": "fixed", 54 "totalAmount": 6, 55 "cargoWeight": "9000", 56 "unit": "KGS", 57 "totalAmountInUSD": 6 58 }, 59 { 60 "chargeCode": "EMS", 61 "chargeName": "EMERGENCY SURCHARGE", 62 "chargeAmount": "250", 63 "chargeCurrency": "USD", 64 "exchangeRatio": "1.0", 65 "surchargeCondition": "fixed", 66 "totalAmount": 250, 67 "cargoWeight": "9000", 68 "unit": "KGS", 69 "totalAmountInUSD": 250 70 }, 71 { 72 "chargeCode": "CSS", 73 "chargeName": "CARRIER SECURITY SURCHARGE", 74 "chargeAmount": "6", 75 "chargeCurrency": "USD", 76 "exchangeRatio": "1.0", 77 "surchargeCondition": "fixed", 78 "totalAmount": 6, 79 "cargoWeight": "11000", 80 "unit": "KGS", 81 "totalAmountInUSD": 6 82 }, 83 { 84 "chargeCode": "EMS", 85 "chargeName": "EMERGENCY SURCHARGE", 86 "chargeAmount": "250", 87 "chargeCurrency": "USD", 88 "exchangeRatio": "1.0", 89 "surchargeCondition": "fixed", 90 "totalAmount": 250, 91 "cargoWeight": "11000", 92 "unit": "KGS", 93 "totalAmountInUSD": 250 94 } 95 ], 96 "destinationCharges": [ 97 { 98 "chargeCode": "CMC", 99 "chargeName": "CNTR MAINTENANCE CHARGE", 100 "chargeAmount": "315000", 101 "chargeCurrency": "VND", 102 "exchangeRatio": "0.00003918", 103 "surchargeCondition": "fixed", 104 "totalAmount": 315000, 105 "cargoWeight": "10000", 106 "unit": "KGS", 107 "totalAmountInUSD": 12.34 108 }, 109 { 110 "chargeCode": "CCC", 111 "chargeName": "COLLECTION OF CNTR CLEANING FEE", 112 "chargeAmount": "105000", 113 "chargeCurrency": "VND", 114 "exchangeRatio": "0.00003918", 115 "surchargeCondition": "fixed", 116 "totalAmount": 105000, 117 "cargoWeight": "10000", 118 "unit": "KGS", 119 "totalAmountInUSD": 4.11 120 }, 121 { 122 "chargeCode": "THD", 123 "chargeName": "TERMINAL HANDLING CHARGE (D)", 124 "chargeAmount": "2800000", 125 "chargeCurrency": "VND", 126 "exchangeRatio": "0.00003918", 127 "surchargeCondition": "fixed", 128 "totalAmount": 2800000, 129 "cargoWeight": "10000", 130 "unit": "KGS", 131 "totalAmountInUSD": 109.7 132 }, 133 { 134 "chargeCode": "VVN", 135 "chargeName": "VIETNAM TAX (GENERAL)", 136 "chargeAmount": "216835.6", 137 "chargeCurrency": "VND", 138 "exchangeRatio": "0.00003918", 139 "surchargeCondition": "subject to", 140 "totalAmount": 216835.6, 141 "cargoWeight": "10000", 142 "unit": "KGS", 143 "totalAmountInUSD": 8.49 144 }, 145 { 146 "chargeCode": "CMC", 147 "chargeName": "CNTR MAINTENANCE CHARGE", 148 "chargeAmount": "630000", 149 "chargeCurrency": "VND", 150 "exchangeRatio": "0.00003918", 151 "surchargeCondition": "fixed", 152 "totalAmount": 630000, 153 "cargoWeight": "9000", 154 "unit": "KGS", 155 "totalAmountInUSD": 24.68 156 }, 157 { 158 "chargeCode": "CCC", 159 "chargeName": "COLLECTION OF CNTR CLEANING FEE", 160 "chargeAmount": "210000", 161 "chargeCurrency": "VND", 162 "exchangeRatio": "0.00003918", 163 "surchargeCondition": "fixed", 164 "totalAmount": 210000, 165 "cargoWeight": "9000", 166 "unit": "KGS", 167 "totalAmountInUSD": 8.22 168 }, 169 { 170 "chargeCode": "THD", 171 "chargeName": "TERMINAL HANDLING CHARGE (D)", 172 "chargeAmount": "4500000", 173 "chargeCurrency": "VND", 174 "exchangeRatio": "0.00003918", 175 "surchargeCondition": "fixed", 176 "totalAmount": 4500000, 177 "cargoWeight": "9000", 178 "unit": "KGS", 179 "totalAmountInUSD": 176.31 180 }, 181 { 182 "chargeCode": "VVN", 183 "chargeName": "VIETNAM TAX (GENERAL)", 184 "chargeAmount": "328411.2", 185 "chargeCurrency": "VND", 186 "exchangeRatio": "0.00003918", 187 "surchargeCondition": "subject to", 188 "totalAmount": 328411.2, 189 "cargoWeight": "9000", 190 "unit": "KGS", 191 "totalAmountInUSD": 12.86 192 }, 193 { 194 "chargeCode": "CMC", 195 "chargeName": "CNTR MAINTENANCE CHARGE", 196 "chargeAmount": "630000", 197 "chargeCurrency": "VND", 198 "exchangeRatio": "0.00003918", 199 "surchargeCondition": "fixed", 200 "totalAmount": 630000, 201 "cargoWeight": "11000", 202 "unit": "KGS", 203 "totalAmountInUSD": 24.68 204 }, 205 { 206 "chargeCode": "CCC", 207 "chargeName": "COLLECTION OF CNTR CLEANING FEE", 208 "chargeAmount": "210000", 209 "chargeCurrency": "VND", 210 "exchangeRatio": "0.00003918", 211 "surchargeCondition": "fixed", 212 "totalAmount": 210000, 213 "cargoWeight": "11000", 214 "unit": "KGS", 215 "totalAmountInUSD": 8.22 216 }, 217 { 218 "chargeCode": "THD", 219 "chargeName": "TERMINAL HANDLING CHARGE (D)", 220 "chargeAmount": "4500000", 221 "chargeCurrency": "VND", 222 "exchangeRatio": "0.00003918", 223 "surchargeCondition": "fixed", 224 "totalAmount": 4500000, 225 "cargoWeight": "11000", 226 "unit": "KGS", 227 "totalAmountInUSD": 176.31 228 }, 229 { 230 "chargeCode": "VVN", 231 "chargeName": "VIETNAM TAX (GENERAL)", 232 "chargeAmount": "328411.2", 233 "chargeCurrency": "VND", 234 "exchangeRatio": "0.00003918", 235 "surchargeCondition": "subject to", 236 "totalAmount": 328411.2, 237 "cargoWeight": "11000", 238 "unit": "KGS", 239 "totalAmountInUSD": 12.86 240 }, 241 { 242 "chargeCode": "DOF", 243 "chargeName": "DOC FEE (DEST)", 244 "chargeAmount": "900000", 245 "chargeCurrency": "VND", 246 "exchangeRatio": "0.00003918", 247 "surchargeCondition": "subject to", 248 "totalAmount": 900000, 249 "cargoWeight": "", 250 "unit": "", 251 "totalAmountInUSD": 35.26 252 } 253 ], 254 "basicOceanFreightCharges": [ 255 { 256 "chargeCode": "OFT", 257 "chargeName": "BASIC OCEAN FREIGHT", 258 "chargeAmount": "50", 259 "chargeCurrency": "USD", 260 "exchangeRatio": "1.0", 261 "surchargeCondition": "fixed", 262 "totalAmount": 50, 263 "cargoWeight": "10000", 264 "unit": "KGS", 265 "totalAmountInUSD": 50 266 }, 267 { 268 "chargeCode": "OFT", 269 "chargeName": "BASIC OCEAN FREIGHT", 270 "chargeAmount": "50", 271 "chargeCurrency": "USD", 272 "exchangeRatio": "1.0", 273 "surchargeCondition": "fixed", 274 "totalAmount": 50, 275 "cargoWeight": "9000", 276 "unit": "KGS", 277 "totalAmountInUSD": 50 278 }, 279 { 280 "chargeCode": "OFT", 281 "chargeName": "BASIC OCEAN FREIGHT", 282 "chargeAmount": "50", 283 "chargeCurrency": "USD", 284 "exchangeRatio": "1.0", 285 "surchargeCondition": "fixed", 286 "totalAmount": 50, 287 "cargoWeight": "11000", 288 "unit": "KGS", 289 "totalAmountInUSD": 50 290 } 291 ], 292 "departures": [ 293 { 294 "transportType": "Ocean Vessel", 295 "transportName": "YM WINDOW", 296 "departureDateEstimated": "2025-04-27 18:00", 297 "departureTerminal": "DAMIETTA, EGYPT (DAMIETTA CONTAINER TERMINAL)", 298 "arrivalDateEstimated": "2025-05-30 08:00", 299 "arrivalTerminal": "SINGAPORE (PSA CORPORATION LIMITED)", 300 "departureLoc": "EGDAM", 301 "arrivalLoc": "SGSIN", 302 "transitTimeInHrs": 782 303 }, 304 { 305 "transportType": "Ocean Vessel", 306 "transportName": "ONE COMPETENCE", 307 "departureDateEstimated": "2025-06-04 18:00", 308 "departureTerminal": "SINGAPORE (PSA CORPORATION LIMITED)", 309 "arrivalDateEstimated": "2025-06-06 09:30", 310 "arrivalTerminal": "CAI MEP (TCIT (TAN CANG CAIMEP INTL TERMINAL))", 311 "departureLoc": "SGSIN", 312 "arrivalLoc": "VNCMT", 313 "transitTimeInHrs": 40 314 } 315 ], 316 "arrival": { 317 "transportType": "Ocean Vessel", 318 "transportName": "ONE COMPETENCE", 319 "departureDateEstimated": "2025-06-04 18:00", 320 "departureTerminal": "SINGAPORE (PSA CORPORATION LIMITED)", 321 "arrivalDateEstimated": "2025-06-06 09:30", 322 "arrivalTerminal": "CAI MEP (TCIT (TAN CANG CAIMEP INTL TERMINAL))", 323 "departureLoc": "SGSIN", 324 "arrivalLoc": "VNCMT", 325 "transitTimeInHrs": 40 326 }, 327 "arrivalPod": { 328 "transportType": "Ocean Vessel", 329 "transportName": "ONE COMPETENCE", 330 "departureDateEstimated": "2025-06-04 18:00", 331 "departureTerminal": "SINGAPORE (PSA CORPORATION LIMITED)", 332 "arrivalDateEstimated": "2025-06-06 09:30", 333 "arrivalTerminal": "CAI MEP (TCIT (TAN CANG CAIMEP INTL TERMINAL))", 334 "departureLoc": "SGSIN", 335 "arrivalLoc": "VNCMT", 336 "transitTimeInHrs": 40 337 } 338 } 339 ] 340} 341]
Usage
-
Access the Actor:
- Find the Actor in the Apify Store or deploy it from your Apify account.
-
Configure Input:
- In the Apify UI, go to the Actor's input tab.
- Provide either:
access_token
andrefresh_token
, orusername
andpassword
.
- Specify
origin
,destination
,containers
, andcommodity
as shown in the example input, using names or codes
-
Run the Actor:
- Click "Run" in the Apify UI or use the Apify API to execute the Actor.
- Monitor logs for authentication status and price fetching progress.
-
View Results:
- Check the dataset tab in the Apify UI for the scraped price data.
- The table view displays key fields (e.g.,
departureDateEstimated
,totalPrice
,freightInfos.serviceCode
). - Download the full dataset in JSON, CSV, or other formats for detailed analysis.
Troubleshooting
-
Authentication Errors:
- Ensure valid
access_token
andrefresh_token
or correctusername
andpassword
.
- Ensure valid
Pricing
Pricing model
RentalTo use this Actor, you have to pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage.
Free trial
1 day
Price
$8.00