Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Orders, item availability, hours and customers of your ChowNow restaurant. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
12 tools Read and write
ChowNow has no MCP server and no API a restaurant can switch on for its own Dashboard (checked 28 Oct 2026). Its Partner API lets approved marketplaces place diner orders, and nothing more. Cotlet runs 12 ChowNow tools hosted, over MCP for agents and REST for scripts, in your own Dashboard login.
| What you need | Partner API | Dashboard by hand | Cotlet |
|---|---|---|---|
| Read your orders | Only orders the partner placed | Yes | Yes |
| Accept an order with a ready time | No | Yes, on the tablet or Dashboard | Yes, after your OK |
| Hide or show a sold-out item | Reads it only | Yes | Yes |
| Change hours, add or remove a closure | Reads them only | Yes | Yes, after your OK |
| Customer list with order counts | No | Yes, in reports | Yes |
| Who can get it | Marketplaces ChowNow approves | Any Dashboard user | Any Dashboard user |
Checked 28 Oct 2026. Sources: ChowNow Developer Portal: Introduction · ChowNow Developer Portal: Getting Access · ChowNow Developer API, OpenAPI spec · ChowNow Help: How to integrate with your Auphan POS
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your ChowNow password, and no order acceptance, hours change or closure goes through until you approve it. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Sign in to the Dashboard once. Create a Cotlet account, open ChowNow in its Cloud Browser, log in to dashboard.chownow.com and press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in the MCP server or connector list of your agent.
Allow the connection. Chat apps send you to a Cotlet sign-in page. Code editors, n8n and scripts take an API key from the console.
ChowNow sits on https://cotlet.dev/mcp/v1 with the other apps of your Cotlet account. If you turn ChowNow on after connecting, refresh the connector and its tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-chownow \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-chownow": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-chownow]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: chownow_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: chownow_write Create a Cotlet API key with access to ChowNow and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect ChowNow in Cotlet and enable it for agents. Account access: Your own ChowNow Dashboard account (access to the location you work on).
curl https://cotlet.dev/api/v1/chownow/locations \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "chownow",
"tool": "list_locations",
"result": {
"locations": [
{
"location_id": "loc_8f2a41",
"name": "Main Street",
"ordering_paused": false
},
{
"location_id": "loc_c91d07",
"name": "Harbor Road",
"ordering_paused": true
}
]
}
} Returns the locations under Headquarters that your account can open, with the ID each other tool needs. A one-location restaurant gets one entry.
Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | List orders of a location, newest first. Use list_orders in your configured business report. |
| Make | HTTP > Make a request | List the items and modifiers of a location with their availability. Use list_menu_items in your configured business report. |
| Python or Node.js | REST API | List current and future temporary closures of a location. Use list_closures in your configured business report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads ChowNow; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
One location per call. Only orders with the status New can be accepted, and the diner gets the ready time.
Returns the locations under Headquarters that your account can open, with the ID each other tool needs. A one-location restaurant gets one entry.
MCP callchownow_read → list_locations
REST endpointGET https://cotlet.dev/api/v1/chownow/locations
No parameters.
{
"locations": [
{
"location_id": "loc_8f2a41",
"name": "Main Street",
"ordering_paused": false
},
{
"location_id": "loc_c91d07",
"name": "Harbor Road",
"ordering_paused": true
}
]
} Returns each order with its number, status, type and total, in the order the Dashboard lists them. Follow next_cursor for older orders. Order details are in get_order.
MCP callchownow_read → list_orders
REST endpointGET https://cotlet.dev/api/v1/chownow/locations/{location_id}/orders
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
| source string | string | chownow for ChowNow Orders, third_party for Third Party Orders. Default chownow. |
| status string | string | Status as the Dashboard shows it in All Statuses, for example New. |
| search string | string | Text to find a specific order, as in the Dashboard search box. |
| cursor string | string | Next page cursor from the previous call. |
{
"location_id": "location_8c41d2"
} {
"orders": [
{
"order_id": "ord_30417",
"number": "30417",
"status": "New",
"type": "pickup",
"total": "42.50"
},
{
"order_id": "ord_30416",
"number": "30416",
"status": "Accepted",
"type": "delivery",
"total": "67.80"
}
],
"next_cursor": null
} Returns the itemized order with modifiers, the customer name and contact information, tips, taxes, discounts and special instructions, as the order page in the Dashboard shows them.
MCP callchownow_read → get_order
REST endpointGET https://cotlet.dev/api/v1/chownow/orders/{order_id}
| Name | Type | Description |
|---|---|---|
| order_id string required | string | Order ID from list_orders. |
{
"order_id": "order_8c41d2"
} {
"order_id": "ord_30417",
"number": "30417",
"status": "New",
"type": "pickup",
"customer": "Dana R.",
"items": [
{
"name": "Salmon Bowl",
"quantity": 2,
"modifiers": [
"No sesame"
]
},
{
"name": "Mango Lassi",
"quantity": 1,
"modifiers": []
}
],
"tip": "5.00",
"total": "42.50",
"instructions": "Please include chopsticks"
} Opens the order, clicks Accept or Cancel, then Accept Order with your time and returns the new status. The diner gets a confirmation with the approximate pickup or delivery time, so the call reaches a customer. Only orders with the status New can be accepted; any other status fails. By default you confirm each call; you can switch that off for this tool.
MCP callchownow_write → accept_order
REST endpointPOST https://cotlet.dev/api/v1/chownow/orders/{order_id}/accept
| Name | Type | Description |
|---|---|---|
| order_id string required | string | Order ID from list_orders. |
| ready_in_minutes integer required | integer | Minutes from now until the order is ready, the custom time of the Accept Order dialog. |
{
"order_id": "order_8c41d2",
"ready_in_minutes": 1
} {
"order_id": "ord_30417",
"status": "Accepted",
"ready_in_minutes": 25
} Overlapping menu hours make ChowNow refuse the change, and nothing is saved. A closure stops ordering until it ends or is removed.
Returns the hours by day for pickup and for delivery, as the Edit Hours page shows them. Menu hours set in the Menu Editor schedule also apply to every platform connected to that menu.
MCP callchownow_read → get_hours
REST endpointGET https://cotlet.dev/api/v1/chownow/locations/{location_id}/hours
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
{
"location_id": "location_8c41d2"
} {
"pickup": [
{
"day": "friday",
"open": "11:00",
"close": "22:00"
}
],
"delivery": [
{
"day": "friday",
"open": "11:30",
"close": "21:30"
}
]
} Writes the new hours on the Edit Hours page and returns them. Menu hours cannot overlap: ChowNow answers with an error when they do, and nothing changes. The new hours decide when diners can order. By default you confirm each call; you can switch that off for this tool.
MCP callchownow_write → update_hours
REST endpointPATCH https://cotlet.dev/api/v1/chownow/locations/{location_id}/hours
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
| order_type string required | string | pickup or delivery. |
| day string required | string | Day of the week in lowercase, for example friday. |
| open string required | string | Opening time, HH:MM. |
| close string required | string | Closing time, HH:MM. |
{
"location_id": "location_8c41d2",
"order_type": "order type",
"day": "day",
"open": "open",
"close": "close"
} {
"order_type": "delivery",
"day": "friday",
"open": "11:30",
"close": "23:00"
} Returns the closures from Settings > Closures. An active closure is a common reason a location stops getting orders, so check this first when orders stop.
MCP callchownow_read → list_closures
REST endpointGET https://cotlet.dev/api/v1/chownow/locations/{location_id}/closures
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
{
"location_id": "location_8c41d2"
} {
"closures": [
{
"closure_id": "clo_552",
"starts_at": "2026-11-26T00:00:00",
"ends_at": "2026-11-27T00:00:00",
"reason": "Thanksgiving"
}
]
} Adds a closure under Settings > Closures. Ordering is suspended for that period, so diners cannot order at the location until it ends or you remove it with remove_closure. By default you confirm each call; you can switch that off for this tool.
MCP callchownow_write → create_closure
REST endpointPOST https://cotlet.dev/api/v1/chownow/locations/{location_id}/closures
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
| starts_at string required | string | Start, ISO date and time in the location time zone. |
| ends_at string required | string | End, ISO date and time in the location time zone. |
| reason string | string | A note for yourself, for example Thanksgiving. |
{
"location_id": "location_8c41d2",
"starts_at": "starts at",
"ends_at": "ends at"
} {
"closure_id": "clo_552",
"starts_at": "2026-11-26T00:00:00",
"ends_at": "2026-11-27T00:00:00",
"reason": "Thanksgiving"
} Deletes the closure under Settings > Closures. Diners can order again when the location hours allow it. By default you confirm each call; you can switch that off for this tool.
MCP callchownow_write → remove_closure
REST endpointDELETE https://cotlet.dev/api/v1/chownow/locations/{location_id}/closures/{closure_id}
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
| closure_id string required | string | Closure ID from list_closures. |
{
"location_id": "location_8c41d2",
"closure_id": "closure_8c41d2"
} {
"closure_id": "clo_552",
"removed": true
} Read only, from the Customer Data report. Diners who opted out are left out.
Returns what the Customer Data report holds: email address, date of the last order and number of orders. Customers who opted out are left out, as in the Dashboard.
MCP callchownow_read → list_customers
REST endpointGET https://cotlet.dev/api/v1/chownow/locations/{location_id}/customers
| Name | Type | Description |
|---|---|---|
| location_id string required | string | Location ID from list_locations. |
| min_orders integer | integer | Only customers with at least this many orders. |
| last_order_before string | string | ISO date. Only customers whose last order is before it. |
| cursor string | string | Next page cursor from the previous call. |
{
"location_id": "location_8c41d2"
} {
"customers": [
{
"name": "Dana R.",
"email": "dana@example.com",
"last_order": "2026-09-14",
"orders": 6
},
{
"name": "Marcus T.",
"email": "marcus@example.com",
"last_order": "2026-08-30",
"orders": 3
}
],
"next_cursor": null
} Your logged-in Dashboard profile, AES-256-GCM, in Finland. Not the password.
The 12 ChowNow tools. No cookie, no partner credentials.
The locations your login opens: orders, menu, hours, customer emails.
Refunds, order cancellations, payouts, billing and account settings.
A code or a new login goes through you. We never type it.
Disable for agents, reset the browser, or change the login's password.
A restaurant group can give the agent a login that opens one location, so a mistake stays there. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.
"Ask ChowNow for Partner API access. Your request is reviewed by our team; it can be approved for sandbox, or declined."
ChowNow keeps code access for partners it vets, and the same page says approved access "can later be revoked". Cotlet uses no partner keys: it works in the Dashboard under your login, the way you would. ChowNow could still read an agent in the Dashboard as automated use, so read its Terms of Use before you connect one.
Your staff accept orders on the same account during service. Let the agent do menu and hours work before you open, and leave the rush to the tablet.
ChowNow redesigned the Dashboard in August 2025, and screens will move again. When one does, the repair is ours and a scheduled run keeps its prompt. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Hide an item | Yes, show it with the same tool |
| Accept an order | No, the diner already has the ready time |
| Change hours | Set the old hours again; diners may have ordered in between |
| Add a closure | Remove it with remove_closure; orders missed meanwhile stay missed |
| Remove a closure | Add it again; orders may already have come in |
4 of 12 tools ask first: accept_order, update_hours, create_closure and remove_closure. set_item_availability runs at once, because hiding a dish messages nobody and one more call shows it again. Switch the wait off per tool for a scheduled run.
An active closure is a common reason a location stops getting orders. When orders go quiet, have the agent run list_closures first.
{
"name": "set_item_availability",
"arguments": {
"location_id": "loc_8f2a41",
"item_id": "itm_1042",
"available": false
}
} curl -X PUT https://cotlet.dev/api/v1/chownow/locations/loc_8f2a41/items/itm_1042/availability \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"available":false}' {
"item_id": "itm_1042",
"name": "Salmon Bowl",
"available": false
} Scripts reach the same tools over REST at /api/v1/chownow, with the same key and price, so a cron job can show yesterday's hidden items again before opening. A call to an order that is no longer New fails and costs nothing. The tools table lists the REST path of each tool.
About $27 a monthfor one restaurant location, 4,660 credits. Your ChowNow plan is billed by ChowNow as before.
| Job | Calls | Credits |
|---|---|---|
| Hide sold-out items, show them next morning | 7 × 30 | 2,100 |
| Check new orders, accept the pickup ones | 4 × 20 | 800 |
| Read a catering order in full | 1 × 8 | 80 |
| Holiday closure, set and checked | 2 × 2 | 40 |
| Change pickup and delivery hours | 3 × 2 | 60 |
| Lapsed regulars for a campaign, weekly | 2 × 4 | 80 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 4,660 |
The month is our example: 7 in 10 US restaurants have a single location, and ChowNow publishes no order counts. The daily sold-out round is the biggest line; a kitchen that rarely runs out pays mostly for the browser. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| ChowNow Partner API | Places and tracks diner orders for a marketplace, hotel concierge or catering tool. | ChowNow approves each partner. No call accepts an order or changes the menu, hours or closures. |
| Apify: Restaurant Menu Pricing Modifiers Scraper | Pulls public menu items, prices and modifiers from ChowNow and other ordering pages, pay per result. | Public menus only, read only; it never opens your Dashboard. |
| Apify: ChowNow Phone Number Scraper | Lead lists of ChowNow restaurants with public phone numbers. | Built for selling to restaurants, not for running one. |
| api-evangelist/chownow | A text profile of what ChowNow exposes, no code. | Docs only. No MCP server for ChowNow exists on GitHub. |
A marketplace that sells ChowNow food should apply for the Partner API. Menu research across many restaurants fits a scraper. Cotlet is for the owner or manager who wants an agent to do the Dashboard work of their own locations.
Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273). It has worked since 2019 and was founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the ChowNow tools to contact@cotlet.dev.
Make a free account at https://cotlet.dev, open ChowNow under Integrations in the console and log in to the ChowNow Dashboard in its Cloud Browser. The trial starts with your first app, and no card is asked.
Sign up at cotlet.dev, log in to ChowNow once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your ChowNow account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in ChowNow: hide sold-out menu items; accept new online orders; close for a holiday. You ask in plain words, and anything that reaches other people waits for your OK first.
Cotlet works in your own Dashboard, so it can do what your plan shows there. ChowNow lists some reports by plan: Order History is under the Hub and Premier plans, and Accounting Data under Pro. list_customers reads the Customer Data report, which ChowNow lists under its Pro reports.
No. The tools accept orders and change menu availability, hours and closures. Refunds, order cancellations, payouts and your account and payment settings stay in ChowNow.
Not for restaurant owners, and the Partner API spec lists none. To catch new orders, run your agent on a schedule, for example list_orders with status New every few minutes during service.
Cotlet works in the ChowNow Dashboard, whatever POS sits behind it. If your POS already syncs stock to ChowNow, change availability in the POS so the two do not overwrite each other.
Only the way in differs. Both carry the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and cron jobs use REST.
No. Cotlet is independent and not affiliated with ChowNow, Inc.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy