Connect Bubble to Freightos for instant freight rate quotes across ocean, air, and truck carriers using the API Connector with a Private API key header. The most important caveat: Freightos API access is not self-service on all account tiers — contact your Freightos account representative to confirm API credentials are enabled before spending time on the Bubble setup. Port codes must be exact 5-character UN/LOCODE strings — build a dropdown selector rather than free text to prevent silent empty-results errors.
| Fact | Value |
|---|---|
| Tool | Freightos |
| Category | Productivity |
| Method | Bubble API Connector |
| Difficulty | Advanced |
| Time required | 2–3 hours |
| Last updated | July 2026 |
Freightos + Bubble: instant freight quotes inside your logistics platform
Freightos solves a problem that has historically required weeks of phone calls and email chains: getting instant, comparable freight rate quotes across ocean, air, and truck carriers for a specific cargo shipment. Its API brings that capability into any application — including Bubble apps built for freight brokers, importers, and logistics teams.
The integration pattern is straightforward once credentials are in place: a POST request with origin/destination port codes and cargo details returns an array of carrier options with itemized pricing. But there are two important considerations for Bubble founders before writing the first API call.
First, **API access is not self-service for all Freightos account tiers.** Unlike consumer APIs where you sign up and immediately get credentials, Freightos API access may require account-level enablement through your account manager. Attempting to call the API without confirmed enablement returns a 401 or 403 regardless of your API key format.
Second, **port codes are unforgiving.** Freightos uses 5-character UN/LOCODE identifiers for origins and destinations — `CNSHA` for Shanghai, `USLAX` for Los Angeles. A single typo or format deviation (a hyphen, lowercase letter, or 4-character code) returns a 400 error or empty results with no helpful message. Building a searchable dropdown with pre-validated port codes is essential for a functional Bubble UI.
Once those two considerations are addressed, the Freightos API provides significant value in a Bubble logistics platform: real-time rate comparison across multiple carriers and modes, booking initiation, and (on supported plans) freight status tracking.
Integration method
Uses Bubble's API Connector with a Private API key header to call the Freightos REST API server-side for freight rate queries and freight booking workflows.
Prerequisites
- A Freightos account with API access confirmed — not all plan tiers include API access; contact your Freightos account representative or visit dev.freightos.com to request API credentials before starting the Bubble setup
- Freightos API credentials provided by your account representative: API key, organization ID, and confirmed base URL and header name (these may vary by account configuration)
- The API Connector plugin installed in your Bubble app (Plugins tab → Add plugins → search 'API Connector' by Bubble)
- A list of UN/LOCODE port codes for the trade lanes your platform serves — 5-character codes such as CNSHA (Shanghai), USLAX (Los Angeles), DEHAM (Hamburg). A curated list prevents input errors.
Step-by-step guide
Confirm Freightos API access and gather your credentials
Before opening Bubble's API Connector, confirm that your Freightos account has API access enabled. This is the step that catches most Bubble-Freightos integration attempts before they start: depending on your Freightos plan tier, API credentials may not be automatically available. Contact your Freightos account manager or email the developer support team through dev.freightos.com. Request: 1. Confirmation that API access is enabled on your account 2. Your API key (may be labeled as API token, access key, or similar) 3. Your Freightos organization ID (required in rate request bodies) 4. The exact header name for API authentication — likely `X-API-Key` or `Authorization`, but verify against your specific documentation 5. The base URL for your account — production is typically `https://api.freightos.com` but sandbox/staging URLs are provided separately 6. Any sandbox credentials and test endpoints for development If you have a Freightos enterprise account, your credentials may include a dedicated tenant URL rather than the shared API endpoint. Always use the credentials exactly as provided — do not assume the header name or base URL based on convention. While waiting for credentials, proceed with Step 2 to set up the API Connector structure so you're ready to configure and test as soon as credentials arrive.
Pro tip: Ask your Freightos account rep for both sandbox and production credentials at the same time. Developing against sandbox prevents real booking costs during testing. The sandbox base URL and credentials are typically different from production.
Expected result: You have confirmed API access from Freightos, received your API key, organization ID, exact header name, and base URL. You're ready to configure Bubble's API Connector.
Configure the API Connector with a Private API key header
In your Bubble editor, click 'Plugins' in the left sidebar → 'Add plugins' → search 'API Connector' (by Bubble) → Install. Click 'API Connector' in your plugins list → 'Add another API.' Name it 'Freightos.' Set the 'API Root URL' to the base URL provided with your credentials (for example, `https://api.freightos.com`). If you received a sandbox URL, start with that. Under 'Shared headers,' click 'Add a shared header.' Use the exact header name from your Freightos documentation — this is likely `X-API-Key` with your API key as the value, or `Authorization` with `Bearer <key>` or just the raw key. The exact format depends on your account configuration — verify with your account rep if unsure. Critically: check the **'Private'** checkbox on the API key header. This keeps the key server-side in Bubble's API Connector and prevents it from appearing in browser network requests. Also add a Content-Type header: key `Content-Type`, value `application/json`. This is needed for POST rate requests. To test the connection before building the full rate request, add a simple GET call. Name it 'Health Check' or 'Get Account Info.' Ask your Freightos rep which endpoint can be used to verify credentials — a simple GET that returns account or carrier information without requiring a rate query. Initialize this call to confirm the connection is working before proceeding.
1{2 "api_name": "Freightos",3 "base_url": "https://api.freightos.com",4 "note": "Verify base_url with your Freightos account rep — may differ by account configuration",5 "shared_headers": [6 {7 "key": "X-API-Key",8 "value": "<private: your_freightos_api_key>",9 "private": true,10 "note": "Verify exact header name with Freightos docs — may be Authorization or another name"11 },12 {13 "key": "Content-Type",14 "value": "application/json"15 }16 ]17}Pro tip: If you're unsure which header name Freightos expects, try `X-API-Key` first (the most common pattern for API key authentication). If that returns 401, check your account documentation for `Authorization: Bearer <key>` or `API-Key: <key>` alternatives.
Expected result: The Freightos API Connector is configured with the correct Private header. A health check or simple GET call initializes successfully, confirming your API credentials are valid and the connection is working.
Build a port code selector UI with UN/LOCODE validation
Before building the rate request call, set up the port code input UI in your Bubble app. This is critical: Freightos requires exact 5-character UN/LOCODE port codes for origin and destination. A free-text input will result in typos that cause silent failures — empty results with no error message. Create a Bubble Option Set called 'Port Codes.' Add entries for each port in your platform's trade lanes. Each entry should have: a `Display` name ('Shanghai (CNSHA)'), a `Code` field (Text, value: 'CNSHA'), a `Country` field (Text), and a `Mode` field (e.g., 'Ocean', 'Air', 'Truck') indicating which freight modes serve this port. Common high-volume ports to include: - Asia origin: CNSHA (Shanghai), CNNGB (Ningbo), CNSZX (Shenzhen), CNCAN (Guangzhou), KRPUS (Busan) - US destination: USLAX (Los Angeles), USNYC (New York), USLGB (Long Beach), USSEA (Seattle), USHOU (Houston) - Europe: DEHAM (Hamburg), NLRTM (Rotterdam), GBFXT (Felixstowe), BEANR (Antwerp) - Air: your airline cargo gateway airports use the same LOCODE format In your Bubble page, add two Dropdown elements: 'Origin Port' and 'Destination Port.' Set their type to 'Port Codes' (your Option Set). Display as `Code's Display name`. This gives users a searchable dropdown with friendly names while providing the exact 5-character code for the API call. The selected dropdown's `Code` field is what you pass to the Freightos API — this guarantees the format is always correct.
1{2 "option_set": "Port Codes",3 "fields": [4 { "name": "display", "type": "text", "example": "Shanghai (CNSHA)" },5 { "name": "code", "type": "text", "example": "CNSHA" },6 { "name": "country", "type": "text", "example": "CN" },7 { "name": "mode", "type": "text", "example": "Ocean" }8 ],9 "sample_entries": [10 { "display": "Shanghai (CNSHA)", "code": "CNSHA", "country": "CN", "mode": "Ocean" },11 { "display": "Los Angeles (USLAX)", "code": "USLAX", "country": "US", "mode": "Ocean" },12 { "display": "Hamburg (DEHAM)", "code": "DEHAM", "country": "DE", "mode": "Ocean" },13 { "display": "Ningbo (CNNGB)", "code": "CNNGB", "country": "CN", "mode": "Ocean" },14 { "display": "New York (USNYC)", "code": "USNYC", "country": "US", "mode": "Ocean" }15 ]16}Pro tip: Start with the 20–30 most common port pairs for your specific market. You can expand the Option Set later. A shorter, accurate list is far better than a comprehensive list with errors — the wrong code causes completely silent failures.
Expected result: Your Bubble page has Origin Port and Destination Port dropdowns backed by an Option Set of validated UN/LOCODE codes. Users see friendly names ('Shanghai (CNSHA)') and the selected code value is always in the correct format.
Build the freight rate request call
Add the rate request call to your API Connector. Click 'Add a call,' name it 'Get Freight Rates,' set method to POST, and set the path to the rate endpoint from your Freightos documentation (typically `/rates`, `/quote`, or `/shipments/rates` — verify with your account rep). Set the body type to 'JSON body.' The rate request body structure specifies origin, destination, cargo details, and your organization. Verify the exact field names against your Freightos API documentation — the structure below is a common pattern but field names may vary by account configuration: Set 'Use as' to 'Action.' Click 'Initialize call.' You'll need to provide: - A valid origin UN/LOCODE (e.g., `CNSHA`) - A valid destination UN/LOCODE (e.g., `USLAX`) - Realistic cargo dimensions (weight in kg, volume in CBM for ocean; weight in kg for air) - Your organization ID from your Freightos credentials A successful response returns an array of carrier rate objects. Each object typically includes: carrier name, transport mode (ocean/air/truck), transit days, origin charges, freight charges, destination charges, and total cost. Bubble auto-detects these fields after a successful Initialize call. Note Bubble's 30-second workflow timeout: freight rate queries can take 10–25 seconds for multi-carrier LCL or air searches. Add a loading state (show a spinner, disable the 'Get Rates' button) when the workflow starts, and clear it when results are returned.
1{2 "call_name": "Get Freight Rates",3 "method": "POST",4 "path": "/rates",5 "note": "Verify exact path with Freightos account documentation",6 "body": {7 "origin": {8 "locationCode": "<dynamic: origin port code — e.g., CNSHA>"9 },10 "destination": {11 "locationCode": "<dynamic: destination port code — e.g., USLAX>"12 },13 "cargo": {14 "type": "<dynamic: FCL | LCL | AIR>",15 "totalWeight": {16 "value": "<dynamic: weight in kg>",17 "unit": "KG"18 },19 "totalVolume": {20 "value": "<dynamic: volume in CBM>",21 "unit": "CBM"22 }23 },24 "organizationId": "<your_freightos_org_id>"25 },26 "note_verify_fields": "Field names and structure vary by Freightos account configuration — verify against your API documentation"27}Pro tip: Ask your Freightos account rep for a sample rate request and a sample response for your account configuration. The exact body structure and response field names are account-specific in Freightos — having a working example from them eliminates guesswork and debugging time.
Expected result: The 'Get Freight Rates' call initializes successfully with test port codes and cargo data. Bubble detects an array of carrier rate objects with price breakdowns and transit days. The call is ready to use in a Bubble workflow.
Display carrier options in a Repeating Group and add booking
Now build the rate display UI. Add a Repeating Group to your page. Set its data source to the result of the 'Get Freight Rates' API call (run as a data source, or save results to a 'Freight Rate' data type in Bubble's database after the workflow runs). If saving to database: create a 'Freight Rate' data type with fields: `carrier_name` (Text), `transport_mode` (Text), `transit_days` (Number), `origin_charges` (Number), `freight_charges` (Number), `destination_charges` (Number), `total_cost` (Number), `currency` (Text), `rate_id` (Text), `quote_id` (Text), `expires_at` (Date). After the 'Get Freight Rates' call, run a workflow step that creates Freight Rate records from the response array. Sort the repeating group by `total_cost ascending`. Inside the Repeating Group cell, add text elements showing: - Carrier name and logo (if available in the response) - Transport mode badge (Ocean / Air / Truck) - Total cost formatted as currency - Breakdown: origin + freight + destination charges - Estimated transit days - A 'Select' or 'Book' button Add a Privacy rule on Freight Rate: restrict visibility to the user who initiated the quote query. Freight pricing is commercially sensitive — don't expose one customer's rate quotes to another. For booking: add a POST call named 'Book Shipment' using the selected rate's quote or rate ID. The booking endpoint and body structure are specific to your Freightos configuration — request this from your account rep along with the rate request documentation. Add the booking call with the rate ID as a dynamic parameter, triggered by the 'Book' button on the selected rate row. RapidDev's team has built freight procurement tools on Bubble integrating with carrier APIs and freight marketplaces. If your platform requires complex multi-leg or multi-mode booking flows, a free scoping call at rapidevelopers.com/contact can help plan the architecture.
Pro tip: Rate quotes from Freightos may have a validity window (rates are only guaranteed for a certain period). Store the quote expiry timestamp and show a 'Rate expired — refresh' message if the user takes too long to select. This prevents bookings at outdated rates.
Expected result: The Repeating Group shows returned carrier options sorted by total cost. Each row displays carrier name, transport mode, cost breakdown, and transit days. A 'Book' button triggers the booking workflow with the selected rate's ID.
Handle Bubble's 30-second timeout and add loading states
Freight rate queries — particularly for LCL (Less than Container Load) or multi-carrier air searches — can take 10–25 seconds as Freightos polls multiple carrier systems for live rates. Bubble's workflow timeout is 30 seconds. If the Freightos API takes longer than 30 seconds to respond, the Bubble workflow fails without returning results. To handle this gracefully, implement a loading state pattern: 1. Add a custom state to your page: `is_loading_rates` (boolean), initially false. 2. When the 'Get Rates' button is clicked: first set `is_loading_rates` to true. This state controls the visibility of a loading spinner group and disables the 'Get Rates' button. 3. Run the API call as the next workflow step. 4. After the API call (whether success or failure): set `is_loading_rates` to false. If Freightos offers an asynchronous rate request pattern (submit a quote request, receive a quote ID, poll for results), this is more resilient than synchronous calls in Bubble. A Backend Workflow (paid Bubble plan) can poll for rate results every 3–5 seconds and update Bubble's database when complete — removing the 30-second constraint. Ask your Freightos account rep whether the rate API is synchronous (waits for all carrier responses before returning) or asynchronous (returns a quote ID for polling). If asynchronous, implement a Backend Workflow polling loop using Bubble's 'Schedule API Workflow' action to check for rate results every few seconds. For faster response times, narrow the carrier selection (if Freightos allows filtering by specific carriers or modes) to reduce the number of rate sources queried per request.
1{2 "loading_state_pattern": {3 "custom_state": "is_loading_rates (boolean)",4 "on_button_click": [5 "Set state is_loading_rates = true",6 "Run API: Get Freight Rates (with params)",7 "Create Freight Rate records from response",8 "Set state is_loading_rates = false"9 ],10 "ui_conditions": [11 "Loading spinner: visible when is_loading_rates is true",12 "Get Rates button: disabled when is_loading_rates is true",13 "Rates repeating group: visible when is_loading_rates is false"14 ]15 },16 "timeout_note": "Bubble's workflow timeout is 30 seconds. If Freightos takes longer, consider async rate request pattern with Backend Workflow polling (paid plan required)."17}Pro tip: Add a user-visible message during loading: 'Getting live rates from carriers... (this may take up to 30 seconds).' Setting realistic expectations prevents users from thinking the app is broken during the rate-fetching delay.
Expected result: A loading spinner appears immediately when 'Get Rates' is clicked and disappears when rates are returned. The button is disabled during the query to prevent duplicate requests. If Freightos takes longer than 30 seconds, the workflow fails gracefully with an error message rather than leaving the app in a stuck state.
Common use cases
Freight Rate Calculator for Importers
Build a Bubble rate calculator where importers enter their cargo details (origin, destination, weight, volume, cargo type) and immediately see a comparison of ocean, air, and truck freight options with full cost breakdowns. The importer selects their preferred carrier and initiates a booking request — all within your Bubble platform.
Build a Bubble page with port-of-origin and port-of-destination dropdowns (using a curated list of top trade lane UN/LOCODE pairs), weight and volume input fields, a cargo type selector (FCL/LCL/air), and a 'Get Rates' button that calls the Freightos API and displays returned carrier options in a sortable repeating group with total cost, transit days, and carrier name per row.
Copy this prompt to try it in Bubble
Freight Procurement Portal for Logistics Brokers
Build a Bubble portal for freight brokers who manage multiple client shipments. Each shipment record stores origin, destination, cargo specs, and the selected carrier. The broker queries Freightos rates for each pending shipment, compares options across carriers, selects the best rate, and marks the shipment as booked — all in one Bubble interface without switching between tools.
Create a Bubble freight broker dashboard where brokers see pending shipments, click 'Get Rates' per shipment to fetch Freightos quotes, compare rates in a side panel, click 'Book' on their selected carrier, and the shipment record updates with the carrier name, estimated transit days, and total cost.
Copy this prompt to try it in Bubble
Embedded Freight Cost Estimator in E-Commerce Checkout
For e-commerce businesses shipping internationally, add a freight cost estimator to the checkout or quotation step that shows realistic freight costs based on the order's weight and destination country. Use Freightos rates for large B2B orders shipping by sea or air; reserve parcel carriers for smaller consumer orders.
Add a Bubble checkout step that shows freight rate estimates from Freightos when the order weight exceeds 50kg, displaying ocean and air freight options with transit times so the buyer can choose their preferred shipping mode before confirming the order.
Copy this prompt to try it in Bubble
Troubleshooting
API returns 401 or 403 even with what appears to be a valid API key
Cause: Freightos API access may not be enabled on your account tier. Unlike self-service APIs where credentials immediately work, Freightos API access requires account-level enablement. A 403 specifically indicates the credentials are recognized but lack API access permission.
Solution: Contact your Freightos account manager and specifically ask them to confirm that API access is enabled on your account and that your API key is authorized for the rate and booking endpoints. Ask them to verify the exact header name — using `X-API-Key` when the expected header is `Authorization` (or vice versa) causes authentication failures. Do not proceed with Bubble development until you have a confirmed working API call from Freightos support.
Rate request returns a 400 Bad Request or empty results with no error explanation
Cause: The most common cause is an invalid UN/LOCODE port code — a typo, wrong format (e.g., using a hyphen: 'CN-SHA' instead of 'CNSHA'), lowercase letters, or a 3-letter airport code instead of a 5-character LOCODE. Another cause is incorrect cargo field names or units if the request body doesn't match Freightos's expected structure.
Solution: Verify all port codes are exactly 5 uppercase characters (e.g., `CNSHA`, not `cn-sha`, `CNSHA1`, or `SHA`). Use the Option Set dropdown approach (Step 3) rather than free text. Check cargo weight units (KG not LBS unless Freightos docs specify otherwise) and volume units (CBM for ocean). Compare your request body field names character-by-character against the sample request from your Freightos documentation.
Initialize call returns 'There was an issue setting up your call'
Cause: The Initialize call requires a real successful API response to detect field structure. If the credentials or endpoint are incorrect, the initialization fails. Also, an Initialize call against a sandbox endpoint that requires specific test data formats will fail if real-looking cargo data isn't provided.
Solution: First confirm the base URL and header are correct by testing the health check endpoint (Step 2). Then provide realistic cargo data for the Initialize call: use a confirmed valid port pair (CNSHA → USLAX), realistic weight (500 kg), and volume (2.5 CBM). Avoid using 0 for any numeric field — many APIs reject zero-value cargo parameters. Ask your Freightos rep for a sample curl request that they confirm returns valid rate results in your environment.
The workflow times out after 30 seconds with no rate results returned
Cause: Freightos may take longer than 30 seconds to collect rates from all carriers for certain trade lanes, particularly for LCL consolidation or multi-carrier air searches. Bubble's workflow timeout terminates the call before results arrive.
Solution: First, ask your Freightos account rep whether an asynchronous rate API is available for your account — submit a quote request, receive a quote ID, then poll for results. If yes, implement a Backend Workflow polling loop (paid Bubble plan). If only synchronous is available, try filtering rate requests to fewer carriers or modes (ocean only, not all modes) to reduce response time. Add a user-facing loading message with the 30-second timeout expectation set explicitly.
Backend Workflow for Freightos shipping status webhooks is not receiving events
Cause: Freightos shipping status webhooks require Backend Workflows (API Workflows) which are only available on paid Bubble plans. Additionally, webhook delivery may need to be configured separately with your Freightos account representative.
Solution: Upgrade to a Bubble paid plan to enable Backend Workflows. Then go to Settings → API → enable 'This app exposes a Workflow API' and create a Backend Workflow to receive webhook POSTs. Contact your Freightos account rep to provide them the Backend Workflow endpoint URL (`https://yourapp.bubbleapps.io/api/1.1/wf/{name}`) and request that they configure webhook delivery to that URL for your account.
Best practices
- Confirm API access with your Freightos account representative before writing a single line of Bubble configuration. A 401 or 403 from an un-enabled account is indistinguishable from a configuration error — verifying access saves hours of debugging.
- Use an Option Set for port code selection rather than free-text inputs. UN/LOCODE errors (wrong format, typos, lowercase) return empty results or 400 errors with no helpful message. A curated dropdown with validated codes eliminates this entire class of errors.
- Mark the Freightos API key header as Private in Bubble's API Connector. Freight rate data and carrier pricing are commercially sensitive — the API key must stay server-side.
- Add a loading state (spinner + disabled button) immediately when the rate request workflow starts. Freight rate queries can take 10–25 seconds. Without a loading indicator, users click 'Get Rates' multiple times, sending duplicate API calls.
- Add Bubble Data Privacy rules on the Freight Rate data type. Carrier pricing quotes are commercially sensitive — restrict visibility to the user who initiated the quote query. The default Bubble setting makes all records visible to any logged-in user.
- Develop against the Freightos sandbox environment before switching to production. Sandbox rate results are simulated and don't involve real carrier pricing or booking costs. Request sandbox credentials from your account rep at the same time as production credentials.
- For Backend Workflow-based shipping status webhooks (paid Bubble plan), work with your Freightos account rep to configure webhook delivery to your specific endpoint URL. Freightos webhook configuration is typically done account-side rather than through self-service settings.
Alternatives
Shippo covers domestic and international parcel shipping (USPS, UPS, FedEx, DHL) with immediate self-service API access — no account rep required. Freightos covers freight for cargo too large for parcel carriers: ocean containers, air cargo pallets, and truck shipments measured in CBM and MT rather than pounds and inches. Different cargo types, different carrier networks.
DHL's API covers DHL Express for international parcels and DHL freight for larger shipments, but only across DHL's own carrier network. Freightos aggregates hundreds of carriers across ocean, air, and truck modes — better for multi-carrier rate comparison; DHL API is better for DHL-specific services or when you have a DHL contract with negotiated rates.
FedEx API provides direct access to FedEx Express, FedEx Freight, and FedEx Ground with FedEx-specific features and negotiated account rates. Freightos gives access to many carriers through one API for rate comparison. Use FedEx API when FedEx-specific features or a FedEx account contract are required; use Freightos for multi-carrier freight comparison.
Frequently asked questions
Why can't I find Freightos API credentials in my account dashboard?
Freightos API access is not self-service on all account tiers. Unlike most APIs where you create a key in the dashboard immediately after signup, Freightos API credentials may need to be provisioned by your account manager. Contact your Freightos account representative or reach out through dev.freightos.com to request API access. This is the #1 reason the Freightos integration fails before a single API call is made.
What is a UN/LOCODE and where do I find port codes?
UN/LOCODE (United Nations Code for Trade and Transport Locations) is the 5-character identifier used for ports worldwide. The first two characters are the country code (CN, US, DE) and the last three identify the specific location (SHA for Shanghai, LAX for Los Angeles). The full UN/LOCODE database is searchable at unece.org/trade/cefact/unlocode-code-list-country-and-territory. For your Bubble app, build a curated Option Set with the specific ports relevant to your trade lanes — don't expose the full database.
What is the difference between FCL, LCL, and air freight in Freightos?
FCL (Full Container Load) is when your cargo fills an entire shipping container — you pay for the whole container. LCL (Less than Container Load) is when your cargo shares a container with other shippers — you pay per CBM or weight. Air freight moves cargo by air — faster than ocean but significantly more expensive per kg. Freightos provides rates for all three modes; your Bubble UI should let users select the appropriate mode based on their cargo size and urgency.
Does Bubble need a paid plan for the Freightos integration?
The core rate-query workflow — API Connector calls to Freightos — works on Bubble's free plan. A paid Bubble plan is required if you want to receive Freightos shipping status webhooks (which need Backend Workflows) or if you implement asynchronous rate polling using scheduled Backend Workflows. For Bubble apps that only query rates and initiate bookings, the free plan is sufficient.
Why do freight rate queries take so long compared to other API calls?
Freight rate queries involve Freightos polling multiple carrier systems in real time to collect live rates. Each carrier system may have its own response time, and aggregate results from dozens of carriers take longer to compile than a simple database lookup. For the most complete rate comparison, allow up to 30 seconds. Narrowing the query (for example, requesting only ocean rates rather than all modes) typically returns results faster.
Can I use Freightos to track shipments after booking?
Shipment tracking availability depends on your Freightos account configuration and the carriers involved. Some Freightos plans include tracking APIs that can be called with your booking reference to retrieve status updates. Ask your Freightos account rep whether tracking is available for your account, and request the tracking endpoint documentation if so. For tracking via Bubble Backend Workflows (real-time status webhooks), a paid Bubble plan is required.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation