99 Minutos website screenshot

99 Minutos

99minutos (99 Minutos) is a Latin American last-mile logistics and delivery platform serving ecommerce businesses across Mexico, Chile, Colombia and Peru. It offers express parcel delivery (envios99), full-truck-load and drayage freight (freight99), fulfillment and warehousing (fulfill99) and custom logistics operations (tailor99), backed by a network of pickup/delivery points (Punto99). Its public REST API v3 lets developers resolve addresses to reusable location ids, quote shipping rates and coverage, create/confirm orders (including multibox), print PDF and ZPL labels, track shipments and subscribe to real-time status webhooks. Authentication is OAuth2 client-credentials that returns a bearer JWT. Surfaced as a 500 Global portfolio company and enriched by the API Evangelist pipeline from the provider's own developer portal.

99 Minutos publishes 9 APIs on the APIs.io network, including coverage API, documents API, locations API, and 6 more. Tagged areas include Company, Logistics, Last Mile Delivery, Shipping, and E-Commerce.

The 99 Minutos catalog on APIs.io includes 1 event-driven AsyncAPI specification.

99 Minutos’ developer surface includes documentation, API reference, getting-started guide, support, engineering blog, signup flow, authentication, and 26 more developer resources.

44.9/100 developing ▬ flat Agent 36/100 agent ready saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
1 APIs
CompanyLogisticsLast Mile DeliveryShippingE-CommerceFulfillmentFreightTrackingWebhookLatin AmericaMexico

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/99-minutos: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 9

Individual APIs this provider publishes, each with its own machine-readable definition.

99 Minutos coverage API

The coverage API from 99 Minutos — 1 operation(s) for coverage.

99 Minutos documents API

The documents API from 99 Minutos — 2 operation(s) for documents.

99 Minutos locations API

The locations API from 99 Minutos — 3 operation(s) for locations.

99 Minutos oauth API

The oauth API from 99 Minutos — 1 operation(s) for oauth.

99 Minutos Orders API

The Orders API from 99 Minutos — 5 operation(s) for orders.

99 Minutos shipments API

The shipments API from 99 Minutos — 3 operation(s) for shipments.

99 Minutos shipping-rates API

The shipping-rates API from 99 Minutos — 5 operation(s) for shipping-rates.

99 Minutos super-geocoding API

The super-geocoding API from 99 Minutos — 1 operation(s) for super-geocoding.

99 Minutos webhooks API

The webhooks API from 99 Minutos — 3 operation(s) for webhooks.

Scroll for all 9

Open Collections 10

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Scroll for all 10

Rate Limits 1

Documented rate limits and quota policies.

99 Minutos Rate Limits

1 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

99 Minutos Authentication

http · 1 scheme

SECURITY

99 Minutos Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

99 Minutos Trust Center

ISO 27001

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

99 Minutos Agentic Access

29 operations · 16 acting

29 operations · 16 acting

AGENTIC

Resources

Get Started 5

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 5

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 4

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: 99-minutos
name: 99 Minutos
description: 99minutos (99 Minutos) is a Latin American last-mile logistics and delivery platform serving ecommerce businesses
  across Mexico, Chile, Colombia and Peru. It offers express parcel delivery (envios99), full-truck-load and drayage freight
  (freight99), fulfillment and warehousing (fulfill99) and custom logistics operations (tailor99), backed by a network of
  pickup/delivery points (Punto99). Its public REST API v3 lets developers resolve addresses to reusable location ids, quote
  shipping rates and coverage, create/confirm orders (including multibox), print PDF and ZPL labels, track shipments and subscribe
  to real-time status webhooks. Authentication is OAuth2 client-credentials that returns a bearer JWT. Surfaced as a 500 Global
  portfolio company and enriched by the API Evangelist pipeline from the provider's own developer portal.
url: https://raw.githubusercontent.com/api-evangelist/99-minutos/refs/heads/main/apis.yml
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source:
  - authentication
  - rate-limits
  - security
  - sandbox
  generated: '2026-09-03'
  method: derived
image: https://www.99minutos.com/_next/static/media/logo_99minutos.230a642b.svg
x-type: company
x-source: vc-portfolio
x-backed-by:
- 500-global
x-tier: enriched
x-tier-reason: portfolio-lead
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-08-08'
tags:
- Company
- Logistics
- Last Mile Delivery
- Shipping
- E-Commerce
- Fulfillment
- Freight
- Tracking
- Webhook
- Latin America
- Mexico
tags_raw:
- Company
- Logistics
- Last Mile Delivery
- Shipping
- Ecommerce
- Fulfillment
- Freight
- Tracking
- Webhooks
- Latin America
- Mexico
apis:
- aid: 99-minutos:99-minutos-coverage-api
  name: 99 Minutos coverage API
  description: The coverage API from 99 Minutos — 1 operation(s) for coverage.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Coverage
  tags_raw:
  - coverage
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-coverage-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-documents-api
  name: 99 Minutos documents API
  description: The documents API from 99 Minutos — 2 operation(s) for documents.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Documents
  tags_raw:
  - documents
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-documents-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-locations-api
  name: 99 Minutos locations API
  description: The locations API from 99 Minutos — 3 operation(s) for locations.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Locations
  tags_raw:
  - locations
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-locations-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-oauth-api
  name: 99 Minutos oauth API
  description: The oauth API from 99 Minutos — 1 operation(s) for oauth.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Authentication
  tags_raw:
  - oauth
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-oauth-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-orders-api
  name: 99 Minutos Orders API
  description: The Orders API from 99 Minutos — 5 operation(s) for orders.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Order
  tags_raw:
  - Orders
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-orders-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-shipments-api
  name: 99 Minutos shipments API
  description: The shipments API from 99 Minutos — 3 operation(s) for shipments.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Shipments
  tags_raw:
  - shipments
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-shipments-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-shipping-rates-api
  name: 99 Minutos shipping-rates API
  description: The shipping-rates API from 99 Minutos — 5 operation(s) for shipping-rates.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - shipping-rates
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-shipping-rates-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-super-geocoding-api
  name: 99 Minutos super-geocoding API
  description: The super-geocoding API from 99 Minutos — 1 operation(s) for super-geocoding.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - super-geocoding
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-super-geocoding-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
- aid: 99-minutos:99-minutos-webhooks-api
  name: 99 Minutos webhooks API
  description: The webhooks API from 99 Minutos — 3 operation(s) for webhooks.
  humanURL: https://developers.99minutos.com/
  baseURL: https://delivery.99minutos.com
  tags:
  - Webhook
  tags_raw:
  - webhooks
  properties:
  - type: OpenAPI
    url: openapi/99-minutos-webhooks-api-openapi.yml
  - type: Conventions
    url: conventions/99-minutos-conventions.yml
  - type: ErrorCatalog
    url: errors/99-minutos-problem-types.yml
  - type: Lifecycle
    url: lifecycle/99-minutos-lifecycle.yml
  - type: Sandbox
    url: sandbox/99-minutos-sandbox.yml
  - type: DataModel
    url: data-model/99-minutos-data-model.yml
  - type: Webhooks
    url: asyncapi/99-minutos-webhooks.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- type: CapabilityMap
  url: capabilities/99-minutos-capability-edges.yml
  name: 99 Minutos Business Capability Map
- type: DeveloperPortal
  url: https://developers.99minutos.com/
- type: Documentation
  url: https://developers.99minutos.com/
- type: APIReference
  url: https://developers.99minutos.com/reference/
- type: GettingStarted
  url: https://developers.99minutos.com/recipes/autenticarse-login
- type: Support
  url: https://www.99minutos.com/preguntas-frecuentes/
- type: Blog
  url: https://www.99minutos.com/blog/
- type: GitHubOrganization
  url: https://github.com/99minutos
- type: SignUp
  url: https://envios.99minutos.com/developers
- type: TermsOfService
  url: https://www.99minutos.com/terminos-y-condiciones
- type: PrivacyPolicy
  url: https://www.99minutos.com/politicas-de-privacidad
- type: Compliance
  url: https://security.99minutos.com/
- type: TrustCenter
  url: security/99-minutos-trust-center.yml
- type: DomainSecurity
  url: security/99-minutos-domain-security.yml
- type: Authentication
  url: authentication/99-minutos-authentication.yml
- type: Conventions
  url: conventions/99-minutos-conventions.yml
- type: ErrorCatalog
  url: errors/99-minutos-problem-types.yml
- type: Lifecycle
  url: lifecycle/99-minutos-lifecycle.yml
- type: Sandbox
  url: sandbox/99-minutos-sandbox.yml
- type: Webhooks
  url: asyncapi/99-minutos-webhooks.yml
- type: X-MCPServerCandidate
  url: mcp/99-minutos-mcp.yml
  note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
    from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
    correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- type: AgentSkill
  url: skills/_index.yml
- type: Packages
  url: packages/99-minutos-packages.yml
- type: Conformance
  url: conformance/99-minutos-conformance.yml
- type: DataModel
  url: data-model/99-minutos-data-model.yml
- type: Overlay
  url: overlays/99-minutos-api-v3-overlay.yaml
- type: LLMsTxt
  url: llms/99-minutos-llms.txt
- type: WellKnown
  url: well-known/99-minutos-well-known.yml
- type: AgenticAccess
  url: agentic-access/99-minutos-agentic-access.yml
- type: Website
  url: https://99minutos.com
- type: RateLimits
  url: rate-limits/99-minutos-rate-limits.yml
- type: ChangeLog
  url: https://developers.99minutos.com/release-notes
- type: Login
  url: https://auth.99minutos.com/
x-enrichment:
  date: '2026-07-19'
  status: backfilled
  pass: local-v1
  note: backfilled from .gitignore signal + verified work evidence
x-merged-from:
- 99minutos

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/99-minutos"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/99-minutos/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/99-minutos/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.