Grubhub · Schema
PosMerchantData
Summary information about a merchant. This entity will be expanded over time.
Food DeliveryRestaurantMarketplaceOnline OrderingPoint-of-SaleLogisticsLast Mile DeliveryMenu ManagementHospitalityLocal CommerceDelivery
Properties
| Name | Type | Description |
|---|---|---|
| merchant_id | string | The Grubhub or third-party provided external ID for the merchant. Corresponds to a single location. |
| merchant_uuid | string | The UUID of the merchant. |
| name | string | The display name of the merchant. |
| account_status | object | |
| address | object | |
| service_type | string | Merchant configuration for providing food to diner. This can be one of the following: - "PICKUP" - Merchant supports pickup only orders. - "DELIVERY" - Merchant supports delivery only orders. - "DELIV |
| fulfillment_info | object | |
| order_processing_info | object | |
| order_taking_info | object | |
| diner_pickup_instructions | object | |
| merchant_status_by_order_type | object | Merchant status by order type (e.g., STANDARD, CATERING, GROUP). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/grubhub/main/json-schema/grubhub-posmerchantdata-schema.json",
"title": "PosMerchantData",
"x-generated": "2026-09-17",
"x-method": "derived",
"x-source": "openapi/grubhub-merchant-data-openapi.yml#/components/schemas/PosMerchantData",
"type": "object",
"properties": {
"merchant_id": {
"type": "string",
"description": "The Grubhub or third-party provided external ID for the merchant. Corresponds to a single location."
},
"merchant_uuid": {
"type": "string",
"description": "The UUID of the merchant.",
"format": "uuid"
},
"name": {
"type": "string",
"description": "The display name of the merchant."
},
"account_status": {
"$ref": "#/$defs/PosAccountStatus"
},
"address": {
"$ref": "#/$defs/Address"
},
"service_type": {
"type": "string",
"description": "Merchant configuration for providing food to diner. This can be one of the following: - \"PICKUP\" - Merchant supports pickup only orders. - \"DELIVERY\" - Merchant supports delivery only orders. - \"DELIVERY AND PICKUP\" - Merchant supports both delivery and pickup orders."
},
"fulfillment_info": {
"$ref": "#/$defs/PosMerchantFulfillmentInfo"
},
"order_processing_info": {
"$ref": "#/$defs/OrderProcessingInfo"
},
"order_taking_info": {
"$ref": "#/$defs/OrderTakingInfo"
},
"diner_pickup_instructions": {
"$ref": "#/$defs/DinerPickUpInstructions"
},
"merchant_status_by_order_type": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Merchant status by order type (e.g., STANDARD, CATERING, GROUP)."
},
"description": "Merchant status by order type (e.g., STANDARD, CATERING, GROUP)."
}
},
"description": "Summary information about a merchant. This entity will be expanded over time.",
"$defs": {
"Address": {
"required": [
"county_id",
"locality",
"market",
"postal_code",
"region",
"street_address"
],
"type": "object",
"properties": {
"street_address": {
"type": "string",
"description": "Street address line 1"
},
"street_address2": {
"type": "string",
"description": "Street address line 2"
},
"locality": {
"type": "string",
"description": "City, town, village or any variant thereof"
},
"region": {
"type": "string",
"description": "State, province or any variant thereof. 2 digit ISO code for US states.",
"example": "AL"
},
"postal_code": {
"type": "string",
"description": "ISO standard postal code, varies per country"
},
"county": {
"type": "string",
"description": "County, parish or any variant thereof"
},
"county_id": {
"type": "integer",
"description": "The unique identifier for the county this merchant is located in",
"format": "int32"
},
"country": {
"type": "string",
"description": "Country, territory or any variant thereof",
"deprecated": true
},
"region_code": {
"type": "string",
"description": "2 letter country ISO 3166-1 code",
"example": "US"
},
"market": {
"type": "string",
"description": "The market that this merchant is enrolled within",
"deprecated": true
},
"market_id": {
"type": "integer",
"description": "The id of the market that this merchant is enrolled within",
"format": "int32",
"deprecated": true
},
"time_zone": {
"type": "string",
"description": "A human readable description of what time zone this address is in"
},
"geo_location": {
"$ref": "#/$defs/GeoLocation"
},
"confidence_rating": {
"type": "string",
"description": "How confident geocoder is that this address is accurate"
},
"confirmed_address": {
"type": "boolean",
"description": "Whether the address has been confirmed to be accurate"
}
},
"description": "The address of the physical location for a merchant."
},
"DeliveryArea": {
"required": [
"fee_cents",
"geometry",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id for this DeliveryArea (Zone)",
"format": "uuid"
},
"name": {
"type": "string",
"description": "A name for the delivery zone"
},
"fee_cents": {
"minimum": 0,
"type": "integer",
"description": "The delivery cost for this delivery zone, in cents",
"format": "int32"
},
"zone_type": {
"type": "string",
"description": "They type of delivery zone (i.e. Diner or Catering). Defaults to Diner",
"deprecated": true,
"enum": [
"CATERING",
"DINER"
]
},
"geometry": {
"type": "string",
"description": "GeoJSON String representing the geometry of the delivery area"
},
"stats": {
"$ref": "#/$defs/DeliveryAreaStats"
}
},
"description": "Delivery area configuration settings."
},
"DeliveryAreaStats": {
"type": "object",
"properties": {
"area": {
"type": "number",
"description": "Area in square miles. READ_ONLY",
"readOnly": true
},
"approximate_radius": {
"type": "number",
"description": "Approximate Radius in miles. READ_ONLY",
"readOnly": true
},
"height": {
"type": "number",
"description": "Height in miles. READ_ONLY",
"readOnly": true
},
"width": {
"type": "number",
"description": "Width in miles. READ_ONLY",
"readOnly": true
}
},
"description": "Various Calculations about a DeliveryArea, Filled automatically. All units are in miles/square miles."
},
"DinerPickUpInstructions": {
"type": "object",
"properties": {
"offers_curbside_pickup": {
"type": "boolean",
"description": "Describes whether merchant is opted in to curbside pickup or not."
},
"contact_phone": {
"type": "string",
"description": "Means of contacting a merchant when picking up curbside."
},
"curbside_instructions": {
"type": "string",
"description": "An additional information a merchant can optionally provide to curbside pickup diners."
}
},
"description": "Contains diner pickup instructions for a merchant."
},
"GeoLocation": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"description": "Latitude coordinate",
"format": "double"
},
"lng": {
"type": "number",
"description": "Longitude coordinate",
"format": "double"
}
},
"description": "Latitude and longitude coordinates for a location."
},
"OrderProcessingInfo": {
"type": "object",
"properties": {
"scheduled_orders": {
"type": "boolean",
"description": "Whether or not the merchant is opt-in scheduled ordering."
},
"pos_integrated": {
"type": "boolean",
"description": "Whether or not the merchant is pos integrated."
}
},
"description": "Contains order processing info of a merchant."
},
"OrderTakingInfo": {
"type": "object",
"properties": {
"managed_delivery": {
"type": "boolean",
"description": "Whether or not the merchant is managed delivery enabled."
},
"special_instructions_disabled": {
"type": "boolean",
"description": "Describes whether this merchant has disabled special ordering instructions or not."
},
"driver_pickup_instructions": {
"type": "string",
"description": "Describes how a delivery driver should pick up orders from merchant."
}
},
"description": "Contains order taking info for a merchant."
},
"PosAccountStatus": {
"type": "object",
"properties": {
"merchant_status": {
"type": "string",
"description": "The merchant's current status concerning account creation or ability to receive orders in a machine-readable format",
"deprecated": true
},
"merchant_status_descriptor": {
"type": "string",
"description": "The merchant's current status concerning account creation or ability to receive orders in a human-readable format",
"deprecated": true
},
"pos_merchant_status": {
"type": "string",
"description": "The merchant's current status concerning account creation or ability to receive orders (online/offline)"
},
"reason": {
"type": "string",
"description": "Reason explaining why the merchant has a given status"
},
"holds_active_account": {
"type": "boolean",
"description": "Whether or not this merchant should be regarded as holding an active account with GrubHub"
},
"accepting_phone_orders": {
"type": "boolean",
"description": "Whether or not this merchant is currently capable of receiving orders by phone",
"deprecated": true
},
"accepting_online_orders": {
"type": "boolean",
"description": "Whether or not this merchant is currently capable of receiving orders that have been transmitted online",
"deprecated": true
},
"merchant_status_comments": {
"type": "string",
"description": "The reason that this merchant is in the status it is in, typically reserved for merchants not conducting business"
}
},
"description": "The current state of the merchant with regards to work flow and how they are conducting business."
},
"PosDeliveryFee": {
"type": "object",
"properties": {
"value": {
"type": "integer",
"description": "The value of the fee applied for a service, in percentage of total order value or US dollars.",
"format": "int32"
},
"type": {
"type": "string",
"description": "Whether or not a fee value is applied as a percentage of order value or a whole amount of US dollars. Possible values are FLAT or PERCENT",
"enum": [
"FLAT",
"PERCENT"
]
}
},
"description": "A fee that is applied to a merchant for the delivery service."
},
"PosEstimates": {
"type": "object",
"properties": {
"pickup_estimate_minutes": {
"type": "integer",
"description": "Default number of minutes that this merchant requires between confirming an order and it being ready for pickup, if applicable.",
"format": "int32"
},
"delivery_estimate_minutes": {
"type": "integer",
"description": "Default number of minutes that this merchant requires between confirming an order and completion of delivery, if applicable.",
"format": "int32"
}
},
"description": "Pickup and delivery estimates."
},
"PosMerchantFulfillmentInfo": {
"type": "object",
"properties": {
"pos_estimates": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/PosEstimates"
},
"description": "The merchant's pickup and delivery estimates."
},
"delivery_fee": {
"$ref": "#/$defs/PosDeliveryFee"
},
"delivery_minimum": {
"type": "number",
"description": "The minimum dollar value a merchant requires for an order to be eligible for delivery.",
"format": "double"
},
"active_delivery_areas": {
"type": "array",
"description": "A list of delivery areas including the delivery fee for each zone.",
"items": {
"$ref": "#/$defs/DeliveryArea"
}
}
},
"description": "Contains pickup and delivery info for a merchant."
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/grubhub-posmerchantdata"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
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.