# USDA Farmers Market Directory Scraper (`crawlerbros/usda-farmers-market-directory-scraper`) Actor

Scrape the USDA National Farmers Market Directory - market names, full addresses, GPS coordinates, operating season, products sold, accepted payment methods (SNAP/WIC/credit/debit), and contact/social links. Search by U.S. state or by city/ZIP + radius.

- **URL**: https://apify.com/crawlerbros/usda-farmers-market-directory-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## USDA Farmers Market Directory Scraper

Scrape the **USDA National Farmers Market Directory** — the official government listing of farmers markets across all 50 U.S. states, DC, and U.S. territories. Get market names, full addresses, GPS coordinates, operating season, products sold, accepted payment methods (SNAP/EBT, WIC, credit/debit, cash), delivery/pickup options, day-by-day schedules, and contact/social links. No login, no cookies, no proxy required.

### What this actor does

- **Search by state** — pull every farmers market in any of the 50 states, DC, or U.S. territories in one run
- **Search by location + radius** — search around a city, ZIP code, or address within 1–250 miles
- **Filter by product** — only return markets that sell a given product (e.g. "Honey", "Eggs")
- **Filter by payment method** — Cash, Debit/Credit card, Mobile payments, Checks, Barter, Volunteer Work (matches ALL selected)
- **Filter by food assistance program** — SNAP/EBT, WIC, WIC Farmers Market Program, Senior Farmers Market Nutrition Program, state/regional Match Program (matches ALL selected)
- **Filter by delivery option** — curbside pickup, local pickup, home delivery (matches ALL selected)
- **Filter by production/practice method** — Organic (USDA Certified or practicing), Non-GMO, Grass Fed, Kosher, Halal, and 9 more (matches ALL selected)
- **Filter by operating day** — only return markets open on any of the selected days of the week
- **Filter by operating month** — only return markets open during any of the selected months
- **Filter to markets currently open for the season**
- **Optional deep enrichment** — day-by-day schedule, number of vendors, production/practice methods, online-order methods
- Empty fields are always omitted — every returned field is real, non-fabricated data

### Output per farmers market

- `marketId`, `name`, `description`
- `season` — operating season (e.g. "Year-round", "May to October")
- `products[]` — products sold (e.g. "Fresh vegetables", "Honey", "Eggs")
- `streetAddress`, `city`, `state`, `zipCode`, `fullAddress`
- `latitude`, `longitude`
- `distanceMiles` — only present for location+radius searches
- `contactName`, `contactEmail`, `contactPhone`
- `websiteUrl`, `facebookUrl`, `twitterUrl`, `instagramUrl`, `pinterestUrl`, `youtubeUrl`, `blogUrl`
- `imageUrl` — market photo, when the market has uploaded one (generic stock placeholders are omitted)
- `lastUpdated` — when USDA last verified this listing
- `sourceUrl` — canonical USDA Local Food Portal listing page

#### With "Include detailed enrichment" enabled (default on)

- `acceptedPaymentMethods[]`, `fnapPrograms[]`
- `productionMethods[]` — e.g. "Certified Organic", "Non-Certified, but Practicing Organic"
- `onlineOrderMethods[]`, `pickupDeliveryOptions[]`
- `schedule[]` — day-by-day operating hours and notes
- `numberOfVendors`
- `additionalNotes` — free-text market description

- `recordType: "farmersMarket"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `locationState` | select | `California` | U.S. state/territory to search. Takes priority over `location`. |
| `location` | string | – | City, ZIP code, or address to search around (ignored if `locationState` is set) |
| `radiusMiles` | int | `30` | Search radius in miles (1–250), used with `location` |
| `keyword` | string | – | Only return markets whose name/description contains this text |
| `products` | string | – | Only return markets that sell this product |
| `acceptedPaymentMethods` | array | `[]` | Only return markets accepting ALL selected payment methods (always matched exactly, regardless of `includeDetails`) |
| `fnapPrograms` | array | `[]` | Only return markets in ALL selected food-assistance programs (always matched exactly, regardless of `includeDetails`) |
| `deliveryMethods` | array | `[]` | Only return markets offering ALL selected delivery/pickup options (always matched exactly, regardless of `includeDetails`) |
| `productionMethods` | array | `[]` | Only return markets whose vendors follow ALL selected production/practice methods, e.g. Organic, Non-GMO (always matched exactly, regardless of `includeDetails`) |
| `operationDays` | array | `[]` | Only return markets open on ANY of the selected days of the week (always matched exactly, regardless of `includeDetails`) |
| `operationMonths` | array | `[]` | Only return markets open during ANY of the selected months (always matched exactly, regardless of `includeDetails`) |
| `currentSeasonOnly` | bool | `false` | Only return markets currently open for the season |
| `includeDetails` | bool | `true` | Include extra enrichment fields in the output. Turning this off omits those fields (leaner/faster output) but never affects filter accuracy. |
| `maxItems` | int | `50` | Maximum markets to return (1–2000) |

At least one of `locationState` or `location` must be provided.

#### Example: every farmers market in Vermont

```json
{
  "locationState": "Vermont",
  "maxItems": 500
}
````

#### Example: markets near a ZIP code that accept SNAP

```json
{
  "location": "78701",
  "radiusMiles": 25,
  "fnapPrograms": ["SNAP"]
}
```

#### Example: markets selling honey that take mobile payments

```json
{
  "locationState": "Oregon",
  "products": "Honey",
  "acceptedPaymentMethods": ["Mobile payments"]
}
```

### Use cases

- **Local-food discovery apps** — power a farmers-market finder with official USDA data
- **SNAP/WIC outreach** — identify markets in a region that accept food assistance programs
- **Agricultural research** — analyze market density, products, and seasonality by state
- **Local business directories** — enrich food/farm business listings with verified market data
- **Nonprofit & government reporting** — track USDA-registered farmers market coverage by geography

### FAQ

**What's the data source?** The USDA Agricultural Marketing Service's National Farmers Market Directory, served via the USDA Local Food Portal (usdalocalfoodportal.com) — the same public directory embedded at [ams.usda.gov/local-food-directories/farmersmarkets](https://www.ams.usda.gov/local-food-directories/farmersmarkets).

**Do I need an API key or login?** No — the directory is a public USDA dataset with no auth requirements.

**Why does `distanceMiles` sometimes not appear?** It's only calculated for `location` + `radiusMiles` searches, which have a geocoded search center. State-wide searches (`locationState`) return the entire state without a distance reference point.

**Why is `imageUrl` sometimes missing?** Not every market has uploaded a photo. When a market has no photo, USDA's directory shows a generic stock placeholder image — this actor omits that placeholder rather than returning a non-market-specific stock photo.

**Do `acceptedPaymentMethods`/`fnapPrograms`/`deliveryMethods`/`productionMethods` need "Include detailed enrichment" for exact ALL-of matching?** No. Those fields only exist on each market's detail page, and the underlying USDA search API's own server-side filter for them is unreliable (near-exact-match only, not true ALL-of), so whenever you set any of these filters, the actor always fetches each candidate market's detail page and applies a true ALL-of check itself -- regardless of the separate `includeDetails` toggle. `includeDetails` only controls whether the extra enrichment fields (accepted payment methods, FNAP programs, etc.) also appear in the output; turn it off for a leaner export without losing any filter accuracy.

**Do `operationDays`/`operationMonths` also need "Include detailed enrichment" for reliable ANY-of matching?** No, for the same reason as above: the USDA search API's own day/month filter only matches a market whose entire stored schedule is an exact match for the selected values, silently excluding most multi-day/multi-month markets, so the actor always checks each market's own detail-page schedule/season text for a genuine ANY-of match whenever these filters are set, regardless of `includeDetails`.

**Can I combine `locationState` and `location`?** `locationState` always takes priority when both are set; the underlying USDA search only supports one search-center mode at a time.

**How fresh is the data?** Market operators self-report and update their listings; `lastUpdated` reflects the date USDA's directory last recorded a change for that market.

**Why does enabling "Include detailed enrichment" make the run slower?** It fetches one extra detail page per market to extract payment methods, schedule, and vendor count. Disable it for a leaner export of just the core address/contact fields -- note this does NOT skip the detail fetch (and is NOT faster) for a run that also sets any payment/FNAP/production/delivery/day/month filter, since those filters require the detail page to be fetched for correct matching regardless of this toggle.

### Limitations

- `usdalocalfoodportal.com`'s load balancer returns `403` to requests without a standard browser `User-Agent` header (e.g. a bare `curl` request with no headers). This applies uniformly to every URL on the domain — market photos, source listing pages, and market websites hosted there — and is not specific to this actor. Any normal browser or HTTP client that sends a standard `User-Agent` (as this actor does) receives a normal `200` response.

# Actor input Schema

## `locationState` (type: `string`):

Return every farmers market in this state or territory. Takes priority over `location` when both are set. Leave blank to search by `location` + `radiusMiles` instead.

## `location` (type: `string`):

Search around a city ("Austin, TX"), ZIP code ("78701"), or street address, combined with `radiusMiles`. Ignored when `locationState` is set.

## `radiusMiles` (type: `integer`):

Radius around `location` to search, in miles. Only applies when `locationState` is blank.

## `keyword` (type: `string`):

Only return markets whose name or description contains this text (case-insensitive substring match).

## `products` (type: `string`):

Only return markets that list this product among what they sell, e.g. "Honey", "Fresh vegetables", "Eggs".

## `acceptedPaymentMethods` (type: `array`):

Only return markets that accept ALL of the selected payment methods.

## `fnapPrograms` (type: `array`):

Only return markets that participate in ALL of the selected food & nutrition assistance programs. True ALL-of matching is always enforced against each market's detail page, even with "Include detailed enrichment" off (that toggle only controls whether extra enrichment fields also appear in the output).

## `deliveryMethods` (type: `array`):

Only return markets that offer ALL of the selected delivery/pickup options. True ALL-of matching is always enforced against each market's detail page, even with "Include detailed enrichment" off (that toggle only controls whether extra enrichment fields also appear in the output).

## `productionMethods` (type: `array`):

Only return markets whose vendors follow ALL of the selected production/practice methods (e.g. Organic, Non-GMO, Kosher). True ALL-of matching is always enforced against each market's detail page, even with "Include detailed enrichment" off (that toggle only controls whether extra enrichment fields also appear in the output).

## `operationDays` (type: `array`):

Only return markets that operate on ANY of the selected days of the week. True ANY-of matching is always enforced by checking each market's own detail-page schedule, even with "Include detailed enrichment" off (that toggle only controls whether extra enrichment fields also appear in the output).

## `operationMonths` (type: `array`):

Only return markets that operate during ANY of the selected months. True ANY-of matching is always enforced by checking each market's own detail-page season text, even with "Include detailed enrichment" off (that toggle only controls whether extra enrichment fields also appear in the output).

## `currentSeasonOnly` (type: `boolean`):

Only return markets that are currently open for their operating season.

## `includeDetails` (type: `boolean`):

Include extra fields in the output: accepted payment methods, FNAP programs, production methods, online-order/delivery options, day-by-day schedule, and vendor count. Turning this off omits those fields from the output for a leaner/faster run, but does not affect the accuracy of any payment/FNAP/production/delivery/day/month filter you set -- those are always matched correctly regardless of this toggle.

## `maxItems` (type: `integer`):

Maximum number of farmers market records to return.

## Actor input object example

```json
{
  "locationState": "California",
  "radiusMiles": 30,
  "acceptedPaymentMethods": [],
  "fnapPrograms": [],
  "deliveryMethods": [],
  "productionMethods": [],
  "operationDays": [],
  "operationMonths": [],
  "currentSeasonOnly": false,
  "includeDetails": true,
  "maxItems": 10
}
```

# Actor output Schema

## `farmersMarkets` (type: `string`):

Dataset containing all scraped farmers market records.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locationState": "California",
    "radiusMiles": 30,
    "acceptedPaymentMethods": [],
    "fnapPrograms": [],
    "deliveryMethods": [],
    "productionMethods": [],
    "operationDays": [],
    "operationMonths": [],
    "currentSeasonOnly": false,
    "includeDetails": true,
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/usda-farmers-market-directory-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locationState": "California",
    "radiusMiles": 30,
    "acceptedPaymentMethods": [],
    "fnapPrograms": [],
    "deliveryMethods": [],
    "productionMethods": [],
    "operationDays": [],
    "operationMonths": [],
    "currentSeasonOnly": False,
    "includeDetails": True,
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/usda-farmers-market-directory-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locationState": "California",
  "radiusMiles": 30,
  "acceptedPaymentMethods": [],
  "fnapPrograms": [],
  "deliveryMethods": [],
  "productionMethods": [],
  "operationDays": [],
  "operationMonths": [],
  "currentSeasonOnly": false,
  "includeDetails": true,
  "maxItems": 10
}' |
apify call crawlerbros/usda-farmers-market-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/usda-farmers-market-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "USDA Farmers Market Directory Scraper",
        "description": "Scrape the USDA National Farmers Market Directory - market names, full addresses, GPS coordinates, operating season, products sold, accepted payment methods (SNAP/WIC/credit/debit), and contact/social links. Search by U.S. state or by city/ZIP + radius.",
        "version": "1.0",
        "x-build-id": "d2AWnHmIIPXjusVIB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~usda-farmers-market-directory-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-usda-farmers-market-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~usda-farmers-market-directory-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-usda-farmers-market-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~usda-farmers-market-directory-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-usda-farmers-market-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "locationState": {
                        "title": "U.S. state / territory",
                        "enum": [
                            "Alabama",
                            "Alaska",
                            "American Samoa",
                            "Arizona",
                            "Arkansas",
                            "Baker Island",
                            "California",
                            "Colorado",
                            "Connecticut",
                            "Delaware",
                            "District of Columbia",
                            "Federated States of Micronesia",
                            "Florida",
                            "Georgia",
                            "Guam",
                            "Hawaii",
                            "Howland Island",
                            "Idaho",
                            "Illinois",
                            "Indiana",
                            "Iowa",
                            "Jarvis Island",
                            "Johnston Atoll",
                            "Kansas",
                            "Kentucky",
                            "Kingman Reef",
                            "Louisiana",
                            "Maine",
                            "Marshall Islands",
                            "Maryland",
                            "Massachusetts",
                            "Michigan",
                            "Midway Islands",
                            "Minnesota",
                            "Mississippi",
                            "Missouri",
                            "Montana",
                            "Navassa Island",
                            "Nebraska",
                            "Nevada",
                            "New Hampshire",
                            "New Jersey",
                            "New Mexico",
                            "New York",
                            "North Carolina",
                            "North Dakota",
                            "Northern Mariana Islands",
                            "Ohio",
                            "Oklahoma",
                            "Oregon",
                            "Palau",
                            "Palmyra Atoll",
                            "Pennsylvania",
                            "Puerto Rico",
                            "Rhode Island",
                            "South Carolina",
                            "South Dakota",
                            "Tennessee",
                            "Texas",
                            "U.S. Minor Outlying Islands",
                            "U.S. Virgin Islands",
                            "Utah",
                            "Vermont",
                            "Virginia",
                            "Wake Island",
                            "Washington",
                            "West Virginia",
                            "Wisconsin",
                            "Wyoming"
                        ],
                        "type": "string",
                        "description": "Return every farmers market in this state or territory. Takes priority over `location` when both are set. Leave blank to search by `location` + `radiusMiles` instead."
                    },
                    "location": {
                        "title": "City, ZIP code, or address",
                        "type": "string",
                        "description": "Search around a city (\"Austin, TX\"), ZIP code (\"78701\"), or street address, combined with `radiusMiles`. Ignored when `locationState` is set."
                    },
                    "radiusMiles": {
                        "title": "Search radius (miles)",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Radius around `location` to search, in miles. Only applies when `locationState` is blank.",
                        "default": 30
                    },
                    "keyword": {
                        "title": "Market name keyword",
                        "type": "string",
                        "description": "Only return markets whose name or description contains this text (case-insensitive substring match)."
                    },
                    "products": {
                        "title": "Products sold",
                        "type": "string",
                        "description": "Only return markets that list this product among what they sell, e.g. \"Honey\", \"Fresh vegetables\", \"Eggs\"."
                    },
                    "acceptedPaymentMethods": {
                        "title": "Accepted payment methods",
                        "type": "array",
                        "description": "Only return markets that accept ALL of the selected payment methods.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Cash",
                                "Debit card",
                                "Mobile payments",
                                "Commercial Checks",
                                "Personal Checks",
                                "Barter",
                                "Volunteer Work"
                            ],
                            "enumTitles": [
                                "Cash",
                                "Debit card / Credit card",
                                "Online / Mobile payments",
                                "Commercial Checks / Accounts",
                                "Personal Checks",
                                "Barter",
                                "Volunteer Work"
                            ]
                        },
                        "default": []
                    },
                    "fnapPrograms": {
                        "title": "Food & nutrition assistance programs",
                        "type": "array",
                        "description": "Only return markets that participate in ALL of the selected food & nutrition assistance programs. True ALL-of matching is always enforced against each market's detail page, even with \"Include detailed enrichment\" off (that toggle only controls whether extra enrichment fields also appear in the output).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "SNAP",
                                "WIC",
                                "WIC Farmers Market Program",
                                "Senior Farmers Market Nutrition Program",
                                "Match Program"
                            ],
                            "enumTitles": [
                                "SNAP / EBT",
                                "WIC",
                                "WIC Farmers Market Program",
                                "Senior Farmers Market Nutrition Program",
                                "State/regional Match Program"
                            ]
                        },
                        "default": []
                    },
                    "deliveryMethods": {
                        "title": "Delivery / pickup options",
                        "type": "array",
                        "description": "Only return markets that offer ALL of the selected delivery/pickup options. True ALL-of matching is always enforced against each market's detail page, even with \"Include detailed enrichment\" off (that toggle only controls whether extra enrichment fields also appear in the output).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "curbside",
                                "local",
                                "home"
                            ],
                            "enumTitles": [
                                "On-site / curbside pickup",
                                "Pick up at local community/business",
                                "Delivery to customer's home"
                            ]
                        },
                        "default": []
                    },
                    "productionMethods": {
                        "title": "Production / practice methods",
                        "type": "array",
                        "description": "Only return markets whose vendors follow ALL of the selected production/practice methods (e.g. Organic, Non-GMO, Kosher). True ALL-of matching is always enforced against each market's detail page, even with \"Include detailed enrichment\" off (that toggle only controls whether extra enrichment fields also appear in the output).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "USDA Certified",
                                "Practicing Organic",
                                "Naturally Grown",
                                "Good Agricultural Practices",
                                "No antibiotics",
                                "Non-GMO",
                                "No hormones",
                                "No pesticides",
                                "Grass Fed",
                                "Pasture-raised",
                                "Humane treatment of animals",
                                "Fair labor practices",
                                "Kosher",
                                "Halal"
                            ],
                            "enumTitles": [
                                "Organic (USDA Certified)",
                                "Non-Certified, but Practicing Organic",
                                "Certified \"Naturally Grown\"",
                                "Good Agricultural Practices (GAP)-Certified",
                                "No antibiotics",
                                "Non-GMO",
                                "No hormones",
                                "No pesticides",
                                "Grass Fed",
                                "Pasture-raised/free-range animals",
                                "Humane treatment of animals",
                                "Fair labor practices, living wage, fair trade",
                                "Kosher",
                                "Halal"
                            ]
                        },
                        "default": []
                    },
                    "operationDays": {
                        "title": "Operating days",
                        "type": "array",
                        "description": "Only return markets that operate on ANY of the selected days of the week. True ANY-of matching is always enforced by checking each market's own detail-page schedule, even with \"Include detailed enrichment\" off (that toggle only controls whether extra enrichment fields also appear in the output).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Sunday",
                                "Monday",
                                "Tuesday",
                                "Wednesday",
                                "Thursday",
                                "Friday",
                                "Saturday"
                            ],
                            "enumTitles": [
                                "Sunday",
                                "Monday",
                                "Tuesday",
                                "Wednesday",
                                "Thursday",
                                "Friday",
                                "Saturday"
                            ]
                        },
                        "default": []
                    },
                    "operationMonths": {
                        "title": "Operating months",
                        "type": "array",
                        "description": "Only return markets that operate during ANY of the selected months. True ANY-of matching is always enforced by checking each market's own detail-page season text, even with \"Include detailed enrichment\" off (that toggle only controls whether extra enrichment fields also appear in the output).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "January",
                                "February",
                                "March",
                                "April",
                                "May",
                                "June",
                                "July",
                                "August",
                                "September",
                                "October",
                                "November",
                                "December"
                            ],
                            "enumTitles": [
                                "January",
                                "February",
                                "March",
                                "April",
                                "May",
                                "June",
                                "July",
                                "August",
                                "September",
                                "October",
                                "November",
                                "December"
                            ]
                        },
                        "default": []
                    },
                    "currentSeasonOnly": {
                        "title": "Currently open for the season only",
                        "type": "boolean",
                        "description": "Only return markets that are currently open for their operating season.",
                        "default": false
                    },
                    "includeDetails": {
                        "title": "Include detailed enrichment",
                        "type": "boolean",
                        "description": "Include extra fields in the output: accepted payment methods, FNAP programs, production methods, online-order/delivery options, day-by-day schedule, and vendor count. Turning this off omits those fields from the output for a leaner/faster run, but does not affect the accuracy of any payment/FNAP/production/delivery/day/month filter you set -- those are always matched correctly regardless of this toggle.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max markets to return",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Maximum number of farmers market records to return.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
