Starken APIstarken.cl ↗
Access Starken Chile's flat shipping rates, 2000+ localities, branch locations with hours, and quote session UUIDs via 4 structured API endpoints.
What is the Starken API?
The Starken Chile API exposes 4 endpoints covering the full reference dataset needed to build shipping integrations against Starken's platform. get_simple_rates returns Tarifa Simple rate tables in Chilean pesos across all zone tiers and delivery types, while get_locations returns over 2,000 localities grouped by region with service level and payment method details. get_branches provides branch locations with operating hours, coordinates, and dimension limits.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/29a575f3-9cc1-4d94-aaac-0498c483e731/get_simple_rates' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace starken-cl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Starken Chile Shipping SDK — rates, locations, branches, quotes."""
from parse_apis.starken_chile_shipping_api import Starken, ServiceUnavailable
client = Starken()
# Fetch the full rate matrix — one call, no params needed.
rates = client.ratematrixes.get()
print(f"Delivery types: {rates.delivery_types}")
print(f"Zone tiers: {rates.zones}")
print(f"Package sizes: {rates.package_sizes}")
# List branches with pickup capability (bounded).
for branch in client.branches.list(limit=5):
print(f"Branch: {branch.name}, City: {branch.city}, Pickup: {branch.pickup}")
# List shipping locations (bounded).
for loc in client.locations.list(limit=3):
print(f"Location: {loc.city} ({loc.comuna}), Agency: {loc.description}, Mini: {loc.service_level_mini}")
# Create a fresh quote session.
try:
session = client.quotesessions.create()
print(f"Quote UUID: {session.uuid_user}, Created: {session.created_at}")
except ServiceUnavailable as exc:
print(f"Service unavailable: {exc}")
print("exercised: ratematrixes.get / branches.list / locations.list / quotesessions.create")
Get simple flat shipping rates (Tarifa Simple) for all combinations of delivery type, zone tier, destination area, and package size. Returns pricing in Chilean pesos. Two delivery types (sucursal for branch pickup, domicilio for home delivery), four zone tiers (persona/colina/montana/cordillera reflecting volume discounts), four destination areas (misma_ciudad/norte/centro_sur/austral), and four package sizes (xs/s/m/l). No parameters required — returns the full rate matrix in one call.
No input parameters required.
{
"type": "object",
"fields": {
"zones": "Array of zone tier strings (persona, colina, montana, cordillera)",
"raw_data": "Original API response data with the same structure",
"package_sizes": "Array of package size strings (xs, s, m, l)",
"rates_by_zone": "Object with keys 'sucursal' and 'domicilio', each containing arrays of rate objects organized by zone tier and destination",
"delivery_types": "Array of delivery type strings (sucursal, domicilio)"
},
"sample": {
"data": {
"zones": [
"persona",
"colina",
"montana",
"cordillera"
],
"raw_data": {
"sucursal": [
{
"persona": [
{
"misma_ciudad": {
"l": 7250,
"m": 6570,
"s": 5780,
"xs": 4270
}
}
]
}
]
},
"package_sizes": [
"xs",
"s",
"m",
"l"
],
"rates_by_zone": {
"sucursal": [
{
"persona": [
{
"misma_ciudad": {
"l": 7250,
"m": 6570,
"s": 5780,
"xs": 4270
}
},
{
"norte": {
"l": 24990,
"m": 20300,
"s": 12860,
"xs": 7280
}
}
]
}
],
"domicilio": [
{
"persona": [
{
"misma_ciudad": {
"l": 7630,
"m": 6920,
"s": 6090,
"xs": 4500
}
}
]
}
]
},
"delivery_types": [
"sucursal",
"domicilio"
]
},
"status": "success"
}
}About the Starken API
Rate and Zone Data
get_simple_rates returns a structured breakdown of Starken's Tarifa Simple flat rates. The response includes rates_by_zone, an object with sucursal (branch pickup) and domicilio (home delivery) keys, each containing arrays of rate objects organized by zone tier — persona, colina, montana, and cordillera. The package_sizes and delivery_types arrays let you enumerate all valid combinations without guessing the schema. All prices are in Chilean pesos.
Locality and Region Coverage
get_locations returns the full list of Starken-served localities in Chile. The total_locations field confirms the count on each response, and by_region groups locations by region ID for easier filtering. Each location object includes id, agency_code, description, city, comuna, delivery_type, and service tier flags (mini, big, giga). This endpoint is the right starting point for validating whether a destination is serviceable before quoting.
Branch Locations
get_branches returns a flattened list of all Starken branches. Each branch object includes id, code, name, address, coordinates, region, city, comuna, type, and horarios — a structured schedule of operating hours by day. Dimension limits are also included, which matters when checking whether an oversized package can be dropped off at a given location. total_branches gives the count for the current response.
Quote Session UUID
get_quote_uuid generates a fresh UUID v4 session identifier returned in the uuid_user field, along with created_at (ISO 8601 timestamp) and last_request (null for a new session). This UUID is the entry point for initiating a quote flow against Starken's platform.
The Starken API is a managed, monitored endpoint for starken.cl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when starken.cl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official starken.cl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display Tarifa Simple shipping costs on a Chilean e-commerce checkout by zone and package size
- Validate whether a customer's destination comuna is serviceable before accepting an order
- Build a branch locator showing operating hours and coordinates for Starken pickup points
- Filter locations by service tier (mini/big/giga) to surface only relevant delivery options for large parcels
- Pre-populate region and locality dropdowns in a shipping form using the structured by_region data
- Check dimension limits per branch before routing oversized shipments to a specific Starken location
- Initiate a quote session programmatically by fetching a UUID before calling downstream Starken quote flows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Starken have an official developer API?+
What does get_locations return beyond just a list of place names?+
agency_code, city, comuna, delivery_type (sucursal or domicilio), accepted payment methods, and service tier flags indicating whether the locality supports mini, big, or giga shipment sizes. Locations are also grouped under by_region keyed by region ID, so you can filter by region without post-processing the full flat list.Can I get a real-time price quote for a specific origin-destination pair?+
get_simple_rates and provides a quote session UUID via get_quote_uuid, but does not expose a parameterized origin-to-destination quote endpoint that returns a live calculated price. You can fork it on Parse and revise to add that missing endpoint.Does the API return shipment tracking or order status information?+
How fresh is the branch and locality data?+
get_branches and get_locations return the full dataset in a single response, so total_branches and total_locations reflect the complete current count on each call.