Search in documentation
ctrl+4K
Modules
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Solutions

Merchant

Manage your store, configure operations, and monitor status in real time using the Merchant API.
The Merchant module provides a complete API to integrate, configure, and monitor stores on the iFood platform. With it, you can:
  • Discover stores — List and get details of all stores linked to your token
  • Monitor status — Check real-time availability and identify issues
  • Manage operations — Configure delivery, takeout, and dine-in
  • Control hours — Set operating hours per operation
  • Pause temporarily — Create interruptions without changing schedules
  • Generate QR codes — Facilitate driver check-in at Groceries stores
Developers build dashboards for store managers to oversee multiple locations:
  • List all stores in a single panel
  • Monitor status of each unit
  • Enable/disable operations quickly
  • Configure special hours for events
Autonomous systems that monitor and react to conditions:
  • Pause automatically when demand spikes
  • Reopen after resolving issues
  • Adjust hours for special days
  • Alert managers about persistent ERROR status
Sync data between old systems and iFood:
  • Import hours from POS systems
  • Sync availability status
  • Manage multiple stores in bulk
  1. Authenticate — Get your Bearer token
  2. Discover — List stores with GET /merchants
  3. Monitor — Check status with GET /merchants/{merchantId}/status
  4. Control — Configure operations, hours, and pauses
  5. Homologate — Validate your integration before going live
Include your Bearer token in every request:
curl --location 'https://merchant-api.ifood.com.br/merchant/v1.0/merchants' \
  --header 'Authorization: Bearer YOUR_TOKEN'
Receive your token during onboarding — it determines which stores you can access.
The Merchant API allows 1000 requests per second across all endpoints.
  • Implement exponential backoff when receiving 429 Too Many Requests
  • Distribute requests across multiple stores
  • Use polling with minimum 30-second intervals per store
See Rate Limiting Documentation for details.
All successful responses return 200 or 201:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Pizzaria Central",
  "status": "AVAILABLE",
  "createdAt": "2024-01-15T10:30:00"
}
Errors return code and message:
{
  "code": "UNAUTHORIZED",
  "message": "Invalid or expired token",
  "details": {}
}
Was this page helpful?
Rate your experience in the new Developer portal: