Skip to main content
Glama

Facebook local listings

facebook_listings
Read-onlyIdempotent

Search Facebook Marketplace US active listings near a ZIP code or point, up to about 24 rows. Prices are seller asks. No sold search. Results are cached for 15 minutes. Each completed search costs 1 request, cache hits included; failed searches are free. Docs: https://soldgraph.com/docs/api/facebook-listings

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesSearch keywords, 1–200 characters, as you'd type them into the marketplace's search box. Be specific: model, size, grade, edition.
latNoLatitude of the search center in decimal degrees. Use with lon instead of zip. Rounded to 4 decimals (about 11 m).
lonNoLongitude of the search center in decimal degrees. Use with lat.
zipNoFive-digit US ZIP code to search around. Send zip, or both lat and lon. Unknown ZIP codes, and places more than 75 miles from any Facebook Marketplace city, return 422.
pageNoAlways 1. Facebook serves one page per search, so there is no page 2. Optional.
sortNoFacebook ranking, newest listed first, or asking price low to high or high to low. Sorted searches return up to 24 rows; best match often returns about 15.best_match
fieldsNosummary keeps the fields most agents need; full returns every field the API returns.summary
radiusNoSearch radius in miles, 1 to 100. Default is Facebook's own, about 40 miles. Rows whose city is farther than the radius plus 10 miles are dropped.
deliveryNoOnly listings offering local pickup, or only listings that ship.
conditionNoOne condition, or several separated by commas, such as used_like_new,used_good.
max_priceNoHighest price, in whole units of the country's currency (US dollars for us). Optional. You can send it without min_price.
min_priceNoLowest price, in whole units of the country's currency (US dollars for us). Optional. Must not be more than max_price. You can send it without max_price.
days_since_listedNoOnly listings posted in the last 1, 7 or 30 days.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld/idempotent annotations: result cap (~24 rows), seller-ask price semantics, 15-minute cache, and a concrete billing model ('1 request per completed search, cache hits included; failed searches are free'). An agent can predict both cost and freshness before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, front-loaded with what/how/limits, then behavior, then cost, then docs. Every clause carries decision-relevant information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, no-output-schema tool it covers scope, row caps, caching, billing, and a docs link. The main remaining gap is return-shape guidance (what a row contains, and when 'full' vs 'summary' matters functionally), though the fields enum in the schema partly covers this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds interpretation the schema lacks: prices are asking prices (not sold), result counts vary by sort (24 vs ~15 for best_match), and the docs link. It stops short of describing the lat/lon vs zip mutual exclusion already spelled out in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource+scope: search Facebook Marketplace US active listings near a ZIP or point. The 'active' qualifier and 'No sold search' cleanly separate it from sold-price siblings like ebay_sold/mercari_sold without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context (location-scoped active listing search) plus an explicit exclusion ('No sold search'), which is the key selection axis against the sold/aggregate siblings. It does not, however, name the alternative tools (e.g. facebook_item for a single listing, the *_sold tools) the way a 5 would.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.