San Francisco Mobile Food Facility Permits (DataSF)
datasfsocrata/sf-mobile-food-permits
Rows from the City and County of San Francisco's mobile food facility permits dataset: applicant, facility type (truck or push cart), address, block and lot, permit number and status, food items sold, coordinates, received date and expiration date. Returns up to 50 rows per call; narrow them with a SoQL where clause on any column, for example status or facilitytype. Every value comes back as a string. City and County of San Francisco data (DataSF) as served by Eden Engine, not an official City product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
City and County of San Francisco (DataSF)
Data from the City and County of San Francisco, published on the DataSF open data portal (data.sf.gov) under the Open Data Commons Public Domain Dedication and License (PDDL 1.0), the licence each of these datasets declares in its portal metadata (read 2026-10-20). No credit is required; credit offered as a courtesy: City and County of San Francisco, DataSF. Served by Eden Engine; not an official City and County of San Francisco product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "datasfsocrata/sf-mobile-food-permits" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "datasfsocrata/sf-mobile-food-permits" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "datasfsocrata/sf-mobile-food-permits", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "datasfsocrata/sf-mobile-food-permits", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many rows to return, 1 to 50. Required."
},
"order": {
"type": "string",
"maxLength": 200,
"description": "Optional SoQL ordering, for example expirationdate DESC. Leave out for the portal's default order."
},
"where": {
"type": "string",
"maxLength": 500,
"description": "Optional SoQL filter on any column, for example status = 'APPROVED' AND facilitytype = 'Truck'. Column names are those of the returned rows. Leave out for no filter."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Rows to skip, for reading further pages in the order given by `order`. Leave out to start at the first row."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"objectid"
],
"properties": {
"x": {
"type": "string",
"description": "State plane X coordinate."
},
"y": {
"type": "string",
"description": "State plane Y coordinate."
},
"cnn": {
"type": "string",
"description": "Street segment identifier."
},
"lot": {
"type": "string",
"description": "Assessor lot."
},
"block": {
"type": "string",
"description": "Assessor block."
},
"permit": {
"type": "string",
"description": "Permit number."
},
"status": {
"type": "string",
"description": "Permit status, for example APPROVED or REQUESTED."
},
"address": {
"type": "string",
"description": "Permitted address."
},
"blocklot": {
"type": "string",
"description": "Block and lot together."
},
"latitude": {
"type": "string",
"description": "Latitude as a string."
},
"location": {
"type": "object",
"description": "Location with latitude and longitude strings.",
"additionalProperties": true
},
"objectid": {
"type": "string",
"description": "Object identifier."
},
"received": {
"type": "string",
"description": "Date the application was received, YYYYMMDD."
},
"schedule": {
"type": "string",
"description": "Link to the permit's schedule report."
},
"applicant": {
"type": "string",
"description": "Permit applicant."
},
"fooditems": {
"type": "string",
"description": "Food items sold, separated by colons."
},
"longitude": {
"type": "string",
"description": "Longitude as a string."
},
"priorpermit": {
"type": "string",
"description": "1 when a prior permit exists."
},
"facilitytype": {
"type": "string",
"description": "Facility type, for example Truck or Push Cart."
},
"expirationdate": {
"type": "string",
"description": "When the permit expires."
}
},
"description": "One mobile food facility permit. Columns beyond those listed, including computed region columns, pass through unchanged.",
"additionalProperties": true
},
"description": "One entry per row; empty when the filter matches nothing."
}
},
"description": "The rows the portal returned, in the portal's order.",
"additionalProperties": false
}