shinnslist API reference

270 signals · 116 live · 82 degraded · 72 pending

Generated from packages/signal-registry/registry.v1.json + docs/ADAPTER-QUEUE.md + docs/API-KEYS.md. Regenerate: node scripts/gen-docs.mjs

Honest-status promise. Live, degraded, and pending badges come straight from docs/ADAPTER-QUEUE.md — the build's own archive records. Degraded and pending adapters return their exact reasons in the unavailable field. Nothing is fabricated: if there is no free, no-key source for a signal, it says so instead of inventing a number.

Base URLs

Tiers & quotas

TierSignalsIntel / dayReq / min
anonall 1465/day2/min
freeall 14625/day10/min
proall 1461000/day60/min

Send the key as x-api-key header (preferred) or ?key=. No key = anonymous path (5/day per IP). A tools/call counts as one intel call against the same daily quota; server/discover and tools/list are free. pro issuance is reserved for the payments track.

MCP quickstart (agent builders)

POST JSON-RPC 2.0 to https://shinnslist.com/api/mcp. tools/list serves seven task tools (find_parcels, town_stats, check_parcel, list_coverage, list_signals, explain_grading, run_signal); every signal below is also reachable as a tools/call name (the mcp tool id) or through run_signal. The endpoint speaks MCP 2026-07-28 (stateless: server/discover, params._meta) and answers the legacy initialize handshake too, so Claude, ChatGPT and other clients connect; no session ids. Every result carries a resultType. Setup and shapes: mcp for agent builders.

server/discover
{"jsonrpc":"2.0","id":1,"method":"server/discover"}
tools/list
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{"_meta":{"protocolVersion":"2026-07-28"}}}
tools/call
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"well-depth-drill-cost","arguments":{"lat":37.5407,"lng":-77.4360},"_meta":{"protocolVersion":"2026-07-28"}}}

Error codes: -32700 parse error · -32600 invalid request · -32601 unknown method/tool · -32602 invalid params · -32001 invalid API key · -32002 rate limited · -32003 daily quota exceeded · -32004 signal not entitled · -32005 outside Colorado and Virginia. No streaming — synchronous JSON-RPC only.

Hot band — build-first signals 25

Best Value Number #1

PENDING

The headline number: max(wholesale flip value, buy-and-hold value) for any parcel, with the 'why' signals attached. One number that answers 'what is this property worth TO ME'…

signal_id: best_value_number mcp tool: best-value-number
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"best-value-number","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "best_value_number",
  "catalog_number": 1,
  "title": "Best Value Number",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rent Potential Calculator #2

DEGRADED

Estimates achievable rent for any parcel from local comps, bedroom count and market data. Underwrites a buy-and-hold deal in seconds instead of an afternoon of rent research.…

signal_id: rent_potential_calculator mcp tool: rent-potential-calculator
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rent-potential-calculator","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rent_potential_calculator",
  "catalog_number": 2,
  "title": "Rent Potential Calculator",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Nl Dream Property #14

DEGRADED

NL = not listed. Dream-property fit scored on off-market parcels only. Checklist is caller-supplied; UNKNOWN until defined.

signal_id: nl_dream_property mcp tool: nl-dream-property
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"nl-dream-property","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "nl_dream_property",
  "catalog_number": 14,
  "title": "Nl Dream Property",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

On Market Deal Score #18

DEGRADED

Scores listed properties for deal quality in under 3 minutes - the 'reject fast' filter Reddit investors begged for. Triage the MLS instead of drowning in it.

signal_id: on_market_deal_score mcp tool: on-market-deal-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"on-market-deal-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "on_market_deal_score",
  "catalog_number": 18,
  "title": "On Market Deal Score",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Virtual Driving For Dollars #31

DEGRADED

AI drive-bys: street-view plus imagery distress scoring without burning gas. Every distress tell in D4D, automated and scaled to whole counties.

signal_id: virtual_driving_for_dollars mcp tool: virtual-driving-for-dollars
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"virtual-driving-for-dollars","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "virtual_driving_for_dollars",
  "catalog_number": 31,
  "title": "Virtual Driving For Dollars",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Code Violation X Tall Grass #32

DEGRADED

Code violations joined with overgrown-lot imagery - the visual confirm on the paper distress. When the city file and the photo agree, it's real.

signal_id: code_violation_x_tall_grass mcp tool: code-violation-x-tall-grass
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"code-violation-x-tall-grass","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "code_violation_x_tall_grass",
  "catalog_number": 32,
  "title": "Code Violation X Tall Grass",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Life Event Distress #34

DEGRADED

Divorce, death, job-loss signals per parcel - motivation has a timeline, and timing is the whole game. Talk to people when life forces the sale, not after.

signal_id: life_event_distress mcp tool: life-event-distress
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"life-event-distress","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "life_event_distress",
  "catalog_number": 34,
  "title": "Life Event Distress",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Tax Delinquency Early Warning #36

LIVE

Tax delinquency before it becomes a lien - the earliest public distress signal there is. Adapter already built (Phase B); this is first-mover territory.

signal_id: tax_delinquency_early_warning mcp tool: tax-delinquency-early-warning
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"tax-delinquency-early-warning","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "tax_delinquency_early_warning",
  "catalog_number": 36,
  "title": "Tax Delinquency Early Warning",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Foreclosure Nod Join #43

PENDING

Notice-of-default filings joined to parcel data plus owner contact info. The pre-foreclosure list, already skip-traced. Adapter built (Phase B).

signal_id: foreclosure_nod_join mcp tool: foreclosure-nod-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"foreclosure-nod-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "foreclosure_nod_join",
  "catalog_number": 43,
  "title": "Foreclosure Nod Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Probate Preprobate X Parcel #44

PENDING

Probate and pre-probate filings tied to parcels with real property - heirs who inherited a house they don't want. Adapter built (Phase B).

signal_id: probate_preprobate_x_parcel mcp tool: probate-preprobate-x-parcel
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"probate-preprobate-x-parcel","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "probate_preprobate_x_parcel",
  "catalog_number": 44,
  "title": "Probate Preprobate X Parcel",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Absentee Entity High Equity #45

PENDING

Absentee owners with high equity - the mailer sweet spot. They don't live there, they own it free and clear, and a letter might be the nudge. This is James's $100 mailer list.

signal_id: absentee_entity_high_equity mcp tool: absentee-entity-high-equity
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"absentee-entity-high-equity","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "absentee_entity_high_equity",
  "catalog_number": 45,
  "title": "Absentee Entity High Equity",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Skip Trace Osint Cheap #47

DEGRADED

Free/cheap owner skip tracing from public OSINT sources - the engine under everything. Every keeper business that needs an owner's phone number runs on this. Build it for James…

signal_id: skip_trace_osint_cheap mcp tool: skip-trace-osint-cheap
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"skip-trace-osint-cheap","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "skip_trace_osint_cheap",
  "catalog_number": 47,
  "title": "Skip Trace Osint Cheap",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Fsbo Zip Agent #58

PENDING

FSBO sellers by zip matched to hungry listing agents. The agent gets the listing; the seller gets representation. Matchmaker economics.

signal_id: fsbo_zip_agent mcp tool: fsbo-zip-agent
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"fsbo-zip-agent","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "fsbo_zip_agent",
  "catalog_number": 58,
  "title": "Fsbo Zip Agent",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Craigslist Fsbo #62

PENDING

Craigslist FSBO scrape - flagged ToS risk, clean chain or skip. If the data can't be sourced cleanly, this one stays off.

signal_id: craigslist_fsbo mcp tool: craigslist-fsbo
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"craigslist-fsbo","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "craigslist_fsbo",
  "catalog_number": 62,
  "title": "Craigslist Fsbo",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Vacant Nod Zombie #145

DEGRADED

Vacant plus notice-of-default equals zombie foreclosures nobody's tracking - the owner left, the bank hasn't finished. The most abandoned deals in the market.

signal_id: vacant_nod_zombie mcp tool: vacant-nod-zombie
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"vacant-nod-zombie","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "vacant_nod_zombie",
  "catalog_number": 145,
  "title": "Vacant Nod Zombie",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Code Lien Foreclosure #146

DEGRADED

Code liens that can actually foreclose - the lien nobody watches until it's too late. Cities foreclose quietly; this listens.

signal_id: code_lien_foreclosure mcp tool: code-lien-foreclosure
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"code-lien-foreclosure","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "code_lien_foreclosure",
  "catalog_number": 146,
  "title": "Code Lien Foreclosure",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Early Change Motivation Score #147

PENDING

Early behavioral changes predicting seller motivation - the first derivative of distress. Catch the turn before the listing.

signal_id: early_change_motivation_score mcp tool: early-change-motivation-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"early-change-motivation-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "early_change_motivation_score",
  "catalog_number": 147,
  "title": "Early Change Motivation Score",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Fresh Verified Distress Stack #148

PENDING

Fresh, verified, stacked distress - the answer to 'no more garbage lists.' Every record re-pulled, every signal confirmed, nothing stale.

signal_id: fresh_verified_distress_stack mcp tool: fresh-verified-distress-stack
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"fresh-verified-distress-stack","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "fresh_verified_distress_stack",
  "catalog_number": 148,
  "title": "Fresh Verified Distress Stack",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Parcel Buildability Score #149

DEGRADED

Can you actually build on it? Zoning, slope, access, utilities, wetlands - the buildability answer before the architect bills you. Land is only cheap if you can use it.

signal_id: parcel_buildability_score mcp tool: parcel-buildability-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"parcel-buildability-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "parcel_buildability_score",
  "catalog_number": 149,
  "title": "Parcel Buildability Score",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Investor Concentration Index #153

DEGRADED

How investor-saturated an area is - avoid the feeding frenzy, or join it with eyes open. When everyone's a buyer, be careful; when no one is, be brave.

signal_id: investor_concentration_index mcp tool: investor-concentration-index
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"investor-concentration-index","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "investor_concentration_index",
  "catalog_number": 153,
  "title": "Investor Concentration Index",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Boundary Surplus Land #168

DEGRADED

Boundary and survey surplus - land the records say exists but the maps don't show. James's Allenspark case is signal #168 in the flesh: old deeds, wrong lines, missing acres.

signal_id: boundary_surplus_land mcp tool: boundary-surplus-land
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"boundary-surplus-land","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "boundary_surplus_land",
  "catalog_number": 168,
  "title": "Boundary Surplus Land",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Data Center Land Siting #169

LIVE

Data-center-suitable land: power, fiber, water, zoning in one screen. AI needs somewhere to live, and land near substations is the new beachfront.

signal_id: data_center_land_siting mcp tool: data-center-land-siting
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"data-center-land-siting","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "data_center_land_siting",
  "catalog_number": 169,
  "title": "Data Center Land Siting",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Distress Stack Conviction Score #185

DEGRADED

Stacked distress distilled to a conviction score - how sure are we, on a scale. The 'should I call this owner' number. From the web combination analysis.

signal_id: distress_stack_conviction_score mcp tool: distress-stack-conviction-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"distress-stack-conviction-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "distress_stack_conviction_score",
  "catalog_number": 185,
  "title": "Distress Stack Conviction Score",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Offmarket Probability Engine #186

PENDING

Probability a parcel trades off-market soon - the highest-ROI prediction in the catalog. From the web analysis: the closest thing to seeing the future.

signal_id: offmarket_probability_engine mcp tool: offmarket-probability-engine
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"offmarket-probability-engine","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "offmarket_probability_engine",
  "catalog_number": 186,
  "title": "Offmarket Probability Engine",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Tired Landlord Composite #199

PENDING

The tired-landlord composite - the #1 ROI signal in the catalog (86.4). Evictions, violations, turnover, neglect and age fused into one 'this landlord is done' score. From James's…

signal_id: tired_landlord_composite mcp tool: tired-landlord-composite
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"tired-landlord-composite","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "tired_landlord_composite",
  "catalog_number": 199,
  "title": "Tired Landlord Composite",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Moderate band 73

Water Rights Well #6

LIVE

Maps water rights and well data onto parcels: who owns the water under the land, and what it's worth. In the West, water can be worth more than the dirt. The Phase-B retrofit…

signal_id: water_rights_well mcp tool: water-rights-well
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-rights-well","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_rights_well",
  "catalog_number": 6,
  "title": "Water Rights Well",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Census Flip Tract #7

LIVE

Flags census tracts flipping from distressed to appreciating - early gentrification detection before the headlines. Buy the dip in the neighborhood, not just the house.

signal_id: census_flip_tract mcp tool: census-flip-tract
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"census-flip-tract","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "census_flip_tract",
  "catalog_number": 7,
  "title": "Census Flip Tract",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Micro Trend Radar #8

LIVE

Catches hyperlocal price and demand micro-trends before they show up in county-level data. Street-level momentum, not metro averages.

signal_id: micro_trend_radar mcp tool: micro-trend-radar
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"micro-trend-radar","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "micro_trend_radar",
  "catalog_number": 8,
  "title": "Micro Trend Radar",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Boom Town Follower #9

DEGRADED

Tracks where boom-town spillover demand heads next - the towns next in line when the hot market gets too expensive. Second-order growth investing for real estate.

signal_id: boom_town_follower mcp tool: boom-town-follower
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"boom-town-follower","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "boom_town_follower",
  "catalog_number": 9,
  "title": "Boom Town Follower",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Cost To Activate Gap #11

DEGRADED

Estimates what it costs to make a dead parcel productive versus what it's worth after activation. The gap is the opportunity - or the warning.

signal_id: cost_to_activate_gap mcp tool: cost-to-activate-gap
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"cost-to-activate-gap","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "cost_to_activate_gap",
  "catalog_number": 11,
  "title": "Cost To Activate Gap",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Keep One Wall Tax #13

DEGRADED

Flags parcels where keeping one wall (remodel vs new-build tax treatment) saves serious property tax. An obscure tax rule worth five figures on the right deal.

signal_id: keep_one_wall_tax mcp tool: keep-one-wall-tax
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"keep-one-wall-tax","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "keep_one_wall_tax",
  "catalog_number": 13,
  "title": "Keep One Wall Tax",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Per Parcel Real Costs #17

DEGRADED

True all-in cost per parcel: taxes, insurance, utilities, HOA, maintenance. The number that kills bad deals before they start - most investors underestimate holding costs.

signal_id: per_parcel_real_costs mcp tool: per-parcel-real-costs
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"per-parcel-real-costs","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "per_parcel_real_costs",
  "catalog_number": 17,
  "title": "Per Parcel Real Costs",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Zoning Arbitrage #20

DEGRADED

Finds parcels where current use sits below highest-and-best zoning use - rezoning upside hiding in plain sight. Buy the zoning, get the land for free.

signal_id: zoning_arbitrage mcp tool: zoning-arbitrage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"zoning-arbitrage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "zoning_arbitrage",
  "catalog_number": 20,
  "title": "Zoning Arbitrage",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mislisted Sqft #21

PENDING

Catches listings with wrong square footage - mispriced by bad data. A 200-sqft error at $200/sqft is a $40,000 mistake someone else made for you.

signal_id: mislisted_sqft mcp tool: mislisted-sqft
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mislisted-sqft","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mislisted_sqft",
  "catalog_number": 21,
  "title": "Mislisted Sqft",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Storage Yard Siting #22

DEGRADED

Scores parcels for RV/boat/contractor storage-lot viability: acreage, access, zoning, rates. The site-selection engine behind the storage play.

signal_id: storage_yard_siting mcp tool: storage-yard-siting
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"storage-yard-siting","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "storage_yard_siting",
  "catalog_number": 22,
  "title": "Storage Yard Siting",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Unpermitted To Sweat Equity #35

DEGRADED

Unpermitted work flagged as sweat-equity discount plays - the market punishes what a contractor can fix. Buy the violation, cure it, keep the spread.

signal_id: unpermitted_to_sweat_equity mcp tool: unpermitted-to-sweat-equity
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"unpermitted-to-sweat-equity","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "unpermitted_to_sweat_equity",
  "catalog_number": 35,
  "title": "Unpermitted To Sweat Equity",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

OpenFEMA Flood Buyout #37

LIVE

FEMA buyout-zone parcels - where the government will pay to take the problem property. Buyout programs create motivated sellers with a guaranteed buyer.

signal_id: openfema_flood_buyout mcp tool: openfema-flood-buyout
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"openfema-flood-buyout","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "openfema_flood_buyout",
  "catalog_number": 37,
  "title": "OpenFEMA Flood Buyout",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Burn Scar / Fire Channel #38

LIVE

Burn-scar and fire-channel mapping - post-fire value plays on one side, risk pricing on the other. Fire changes land value; this measures how.

signal_id: burn_scar_fire_channel mcp tool: burn-scar-fire-channel
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"burn-scar-fire-channel","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "burn_scar_fire_channel",
  "catalog_number": 38,
  "title": "Burn Scar / Fire Channel",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

AMI Smart Meter Vacancy #39

PENDING

Smart-meter data patterns that reveal vacancy - a dark meter doesn't lie. Occupancy intelligence without knocking on doors.

signal_id: ami_smart_meter_vacancy mcp tool: ami-smart-meter-vacancy
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ami-smart-meter-vacancy","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "ami_smart_meter_vacancy",
  "catalog_number": 39,
  "title": "AMI Smart Meter Vacancy",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Water Shutoff Utility Lien #40

PENDING

Water shutoffs as the distress tell - nobody fakes a shutoff. One of the highest-conviction vacancy/distress signals in the catalog.

signal_id: water_shutoff_utility_lien mcp tool: water-shutoff-utility-lien
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-shutoff-utility-lien","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_shutoff_utility_lien",
  "catalog_number": 40,
  "title": "Water Shutoff Utility Lien",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Eviction Cluster Multifamily #41

DEGRADED

Eviction clusters flag troubled multifamily - buy the building, fix the management, keep the upside. Distress at the property level, not the unit level.

signal_id: eviction_cluster_multifamily mcp tool: eviction-cluster-multifamily
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"eviction-cluster-multifamily","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "eviction_cluster_multifamily",
  "catalog_number": 41,
  "title": "Eviction Cluster Multifamily",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Pre Agent Sell Mode #57

DEGRADED

Owners behaving like they're about to list - but haven't yet. Beat the listing, skip the bidding war, talk to the owner first.

signal_id: pre_agent_sell_mode mcp tool: pre-agent-sell-mode
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"pre-agent-sell-mode","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "pre_agent_sell_mode",
  "catalog_number": 57,
  "title": "Pre Agent Sell Mode",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Three Percent Mortgage Buyers List #60

DEGRADED

Owners locked into ~3% mortgages - they won't sell conventionally, which makes them creative-finance prospects. The lock-in effect is the opportunity.

signal_id: three_percent_mortgage_buyers_list mcp tool: three-percent-mortgage-buyers-list
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"three-percent-mortgage-buyers-list","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "three_percent_mortgage_buyers_list",
  "catalog_number": 60,
  "title": "Three Percent Mortgage Buyers List",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Stale 90Day X Assumable Buyers #61

DEGRADED

90-day stale listings crossed with assumable-loan buyers - stale sellers meet rate-locked buyers. Two problems solving each other.

signal_id: stale_90day_x_assumable_buyers mcp tool: stale-90day-x-assumable-buyers
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"stale-90day-x-assumable-buyers","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "stale_90day_x_assumable_buyers",
  "catalog_number": 61,
  "title": "Stale 90Day X Assumable Buyers",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Assumable / Seller Finance Flag #66

DEGRADED

Flags assumable loans and seller-finance-friendly parcels - the creative-finance inventory. James's mantra as a filter.

signal_id: assumable_seller_finance_flag mcp tool: assumable-seller-finance-flag
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"assumable-seller-finance-flag","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "assumable_seller_finance_flag",
  "catalog_number": 66,
  "title": "Assumable / Seller Finance Flag",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Turnkey STR Meter #68

DEGRADED

How turnkey a parcel is for short-term rental: furnishing, regulation, demand in one read. The STR go/no-go gauge.

signal_id: turnkey_str_meter mcp tool: turnkey-str-meter
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"turnkey-str-meter","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "turnkey_str_meter",
  "catalog_number": 68,
  "title": "Turnkey STR Meter",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

STR Attached Home Premium #69

PENDING

The premium attached homes (duplex/townhome) command as STRs - the asset class inside the asset class. Not all STRs are houses.

signal_id: str_attached_home_premium mcp tool: str-attached-home-premium
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"str-attached-home-premium","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "str_attached_home_premium",
  "catalog_number": 69,
  "title": "STR Attached Home Premium",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Dscr Projected Income List #70

DEGRADED

DSCR-loan-ready parcels with projected income - the buy box for DSCR lenders, pre-built. Debt follows data.

signal_id: dscr_projected_income_list mcp tool: dscr-projected-income-list
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"dscr-projected-income-list","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "dscr_projected_income_list",
  "catalog_number": 70,
  "title": "Dscr Projected Income List",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Project 100 Zip Leads #77

PENDING

100-zip lead-gen projects - batch list building at county scale. For operators who think in territories, not addresses.

signal_id: project_100_zip_leads mcp tool: project-100-zip-leads
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"project-100-zip-leads","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "project_100_zip_leads",
  "catalog_number": 77,
  "title": "Project 100 Zip Leads",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Verified Seller Landing #78

PENDING

Verified-seller landing pages - proof the seller is real before the buyer wires anything. Trust infrastructure for off-market deals.

signal_id: verified_seller_landing mcp tool: verified-seller-landing
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"verified-seller-landing","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "verified_seller_landing",
  "catalog_number": 78,
  "title": "Verified Seller Landing",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Train On Recent Sales #91

PENDING

The model retrains on recent sales - freshness as a feature, not a chore. Stale models lie; this one updates.

signal_id: train_on_recent_sales mcp tool: train-on-recent-sales
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"train-on-recent-sales","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "train_on_recent_sales",
  "catalog_number": 91,
  "title": "Train On Recent Sales",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rental Apartment Junk Filter #137

LIVE

Filters junk out of rental and apartment listings - scams, bait-and-switch, duplicates removed. The rental search that respects your time.

signal_id: rental_apartment_junk_filter mcp tool: rental-apartment-junk-filter
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rental-apartment-junk-filter","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rental_apartment_junk_filter",
  "catalog_number": 137,
  "title": "Rental Apartment Junk Filter",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Amenity Qol Score #138

LIVE

Amenity plus quality-of-life score per parcel - walkability, parks, coffee, quiet. The soft factors, hardcoded.

signal_id: amenity_qol_score mcp tool: amenity-qol-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"amenity-qol-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "amenity_qol_score",
  "catalog_number": 138,
  "title": "Amenity Qol Score",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Stalled Permit Distress #150

DEGRADED

Permits gone cold signal distress - money ran out mid-project, and the half-built dream is for sale. The flipper's favorite tell.

signal_id: stalled_permit_distress mcp tool: stalled-permit-distress
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"stalled-permit-distress","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "stalled_permit_distress",
  "catalog_number": 150,
  "title": "Stalled Permit Distress",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Heir Property Fractional #151

PENDING

Fractional heir ownership - tangled title, scattered heirs, motivated sellers. Complexity is the discount; patience is the strategy.

signal_id: heir_property_fractional mcp tool: heir-property-fractional
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"heir-property-fractional","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "heir_property_fractional",
  "catalog_number": 151,
  "title": "Heir Property Fractional",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Vacant Land Owner Distress Join #154

PENDING

Vacant land joined to owner distress - the owner doesn't want the lot and life just gave them a reason to sell it. Land wholesaling's bread and butter.

signal_id: vacant_land_owner_distress_join mcp tool: vacant-land-owner-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"vacant-land-owner-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "vacant_land_owner_distress_join",
  "catalog_number": 154,
  "title": "Vacant Land Owner Distress Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Holder Mix Map #155

DEGRADED

Owner-occupant vs investor vs institutional mix per area - know who your neighbors (and competitors) are. Markets have personalities; this draws them.

signal_id: holder_mix_map mcp tool: holder-mix-map
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"holder-mix-map","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "holder_mix_map",
  "catalog_number": 155,
  "title": "Holder Mix Map",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Property Condition Risk Score #156

PENDING

Condition risk per parcel - what the roof, the foundation and the deferred maintenance really mean for your money. Underwrite the building, not the photos.

signal_id: property_condition_risk_score mcp tool: property-condition-risk-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"property-condition-risk-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "property_condition_risk_score",
  "catalog_number": 156,
  "title": "Property Condition Risk Score",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Listing Truth Gap #157

PENDING

Listing claims versus reality - the lie detector. 'Cozy' means small, 'as-is' means run, and this one checks the math.

signal_id: listing_truth_gap mcp tool: listing-truth-gap
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"listing-truth-gap","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "listing_truth_gap",
  "catalog_number": 157,
  "title": "Listing Truth Gap",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Institutional Owner Entity Resolution #158

DEGRADED

Resolves which LLCs are really one institution - the ownership behind the shell companies. Know who actually owns the block.

signal_id: institutional_owner_entity_resolution mcp tool: institutional-owner-entity-resolution
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"institutional-owner-entity-resolution","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "institutional_owner_entity_resolution",
  "catalog_number": 158,
  "title": "Institutional Owner Entity Resolution",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hoa Superpriority Lien #161

DEGRADED

HOA super-priority liens - the lien that can wipe out a mortgage in some states. Small balance, nuclear priority. Know it before you bid.

signal_id: hoa_superpriority_lien mcp tool: hoa-superpriority-lien
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hoa-superpriority-lien","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hoa_superpriority_lien",
  "catalog_number": 161,
  "title": "Hoa Superpriority Lien",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Commercial Listing Staleness Score #162

LIVE

How stale a commercial listing is - staleness is leverage. A listing sitting 400 days isn't priced; it's waiting.

signal_id: commercial_listing_staleness_score mcp tool: commercial-listing-staleness-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"commercial-listing-staleness-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "commercial_listing_staleness_score",
  "catalog_number": 162,
  "title": "Commercial Listing Staleness Score",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Gold Stream Prospecting #163

LIVE

Gold and prospecting data per parcel, from James's notes - mineral romance meets parcel data. Grandma's beach-house money started with rocks like these.

signal_id: gold_stream_prospecting mcp tool: gold-stream-prospecting
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"gold-stream-prospecting","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "gold_stream_prospecting",
  "catalog_number": 163,
  "title": "Gold Stream Prospecting",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Waterfall Build Site #164

LIVE

Waterfall parcels scored as build sites - the view is priceless, but the build has to pencil. Dream plus engineering.

signal_id: waterfall_build_site mcp tool: waterfall-build-site
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"waterfall-build-site","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "waterfall_build_site",
  "catalog_number": 164,
  "title": "Waterfall Build Site",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rehab Cost Estimator #167

DEGRADED

AI rehab-cost estimate per parcel from photos, comps and cost data - the number flippers argue about, computed. From the Reddit harvest: the single most requested tool.

signal_id: rehab_cost_estimator mcp tool: rehab-cost-estimator
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rehab-cost-estimator","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rehab_cost_estimator",
  "catalog_number": 167,
  "title": "Rehab Cost Estimator",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Wildfire Insurance Mitigation #170

DEGRADED

Wildfire mitigation status translated to insurance pricing - defensible space as dollars. In the WUI, mitigation is a financial product.

signal_id: wildfire_insurance_mitigation mcp tool: wildfire-insurance-mitigation
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"wildfire-insurance-mitigation","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "wildfire_insurance_mitigation",
  "catalog_number": 170,
  "title": "Wildfire Insurance Mitigation",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Derelict Utilities Knockdown #171

DEGRADED

Derelict buildings with live utilities - the cheapest knockdown-rebuilds in the market. The sewer tap alone can be worth more than the structure.

signal_id: derelict_utilities_knockdown mcp tool: derelict-utilities-knockdown
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"derelict-utilities-knockdown","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "derelict_utilities_knockdown",
  "catalog_number": 171,
  "title": "Derelict Utilities Knockdown",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hot Spring Property Play #172

DEGRADED

Hot-spring parcels - wellness tourism meets geothermal reality. Soak-driven demand is recession-resistant; the supply is fixed by geology.

signal_id: hot_spring_property_play mcp tool: hot-spring-property-play
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hot-spring-property-play","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hot_spring_property_play",
  "catalog_number": 172,
  "title": "Hot Spring Property Play",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Seasonal Water Temporal #173

DEGRADED

Seasonal water via historical imagery - what the listing hides, the satellites remember. That 'year-round creek' was a ditch in August.

signal_id: seasonal_water_temporal mcp tool: seasonal-water-temporal
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"seasonal-water-temporal","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "seasonal_water_temporal",
  "catalog_number": 173,
  "title": "Seasonal Water Temporal",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bedroom Add Arbitrage #176

LIVE

Parcels where adding a bedroom unlocks disproportionate value - the appraisal math of one more door. Bedrooms are the highest-ROI square footage there is.

signal_id: bedroom_add_arbitrage mcp tool: bedroom-add-arbitrage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bedroom-add-arbitrage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bedroom_add_arbitrage",
  "catalog_number": 176,
  "title": "Bedroom Add Arbitrage",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Lot Split Subdivision Potential #177

PENDING

Lot-split and subdivision potential - one parcel becomes two (or ten). The oldest wealth trick in real estate, found by algorithm.

signal_id: lot_split_subdivision_potential mcp tool: lot-split-subdivision-potential
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"lot-split-subdivision-potential","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "lot_split_subdivision_potential",
  "catalog_number": 177,
  "title": "Lot Split Subdivision Potential",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Adu Duplex Eligibility #178

PENDING

ADU and duplex eligibility per parcel - where you can legally add a door. One extra unit can double a property's income; the zoning decides if you may.

signal_id: adu_duplex_eligibility mcp tool: adu-duplex-eligibility
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"adu-duplex-eligibility","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "adu_duplex_eligibility",
  "catalog_number": 178,
  "title": "Adu Duplex Eligibility",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

STR Lease Arbitrage Absentee #179

PENDING

Absentee-owned STR arbitrage - lease it, list it, keep the spread. The owner's vacancy is the operator's inventory.

signal_id: str_lease_arbitrage_absentee mcp tool: str-lease-arbitrage-absentee
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"str-lease-arbitrage-absentee","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "str_lease_arbitrage_absentee",
  "catalog_number": 179,
  "title": "STR Lease Arbitrage Absentee",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Military Assumable Loan #183

DEGRADED

VA assumable-loan opportunities near bases - PCS moves create assumable inventory. From James's notes: the military moves, the rate stays.

signal_id: military_assumable_loan mcp tool: military-assumable-loan
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"military-assumable-loan","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "military_assumable_loan",
  "catalog_number": 183,
  "title": "Military Assumable Loan",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hyperlocal Catalyst Monitor #184

LIVE

Hyperlocal catalysts - new employer, new road, new school - before prices move. From James's notes: buy the announcement, not the aftermath.

signal_id: hyperlocal_catalyst_monitor mcp tool: hyperlocal-catalyst-monitor
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hyperlocal-catalyst-monitor","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hyperlocal_catalyst_monitor",
  "catalog_number": 184,
  "title": "Hyperlocal Catalyst Monitor",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Assumable Equity Arbitrage #187

DEGRADED

Equity arbitrage on assumable loans - low rate plus trapped equity equals spread. From the web analysis.

signal_id: assumable_equity_arbitrage mcp tool: assumable-equity-arbitrage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"assumable-equity-arbitrage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "assumable_equity_arbitrage",
  "catalog_number": 187,
  "title": "Assumable Equity Arbitrage",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Teardown Option Value #188

DEGRADED

Teardown option value - land value minus demolition. From the web analysis: sometimes the house is just packaging.

signal_id: teardown_option_value mcp tool: teardown-option-value
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"teardown-option-value","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "teardown_option_value",
  "catalog_number": 188,
  "title": "Teardown Option Value",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Water Value Stack #189

DEGRADED

Stacked water value - rights plus well plus features, one number. From the web analysis: water is an asset class.

signal_id: water_value_stack mcp tool: water-value-stack
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-value-stack","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_value_stack",
  "catalog_number": 189,
  "title": "Water Value Stack",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

STR Regulatory Arbitrage Map #190

DEGRADED

Where STR rules are loosest relative to demand - the regulatory arbitrage map. From the web analysis: operate where you're welcome.

signal_id: str_regulatory_arbitrage_map mcp tool: str-regulatory-arbitrage-map
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"str-regulatory-arbitrage-map","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "str_regulatory_arbitrage_map",
  "catalog_number": 190,
  "title": "STR Regulatory Arbitrage Map",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Insurance Mitigation Value #191

DEGRADED

Mitigation work translated to insurance savings translated to value. From the web analysis: a dollar of mitigation can be ten dollars of value.

signal_id: insurance_mitigation_value mcp tool: insurance-mitigation-value
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"insurance-mitigation-value","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "insurance_mitigation_value",
  "catalog_number": 191,
  "title": "Insurance Mitigation Value",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Lien Stack Priority #192

DEGRADED

The full lien stack in priority order - know who gets paid first before you bid. From the web analysis: lien position is everything at auction.

signal_id: lien_stack_priority mcp tool: lien-stack-priority
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"lien-stack-priority","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "lien_stack_priority",
  "catalog_number": 192,
  "title": "Lien Stack Priority",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Heir Fractional Assemblage #193

PENDING

Assembling fractional heir interests into whole parcels - buy the fractions, own the whole. From the web analysis: complexity arbitrage.

signal_id: heir_fractional_assemblage mcp tool: heir-fractional-assemblage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"heir-fractional-assemblage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "heir_fractional_assemblage",
  "catalog_number": 193,
  "title": "Heir Fractional Assemblage",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Catalyst Front Run #194

LIVE

Front-running known catalysts - buy before the announcement lands in prices. From the web analysis: information has a half-life.

signal_id: catalyst_front_run mcp tool: catalyst-front-run
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"catalyst-front-run","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "catalyst_front_run",
  "catalog_number": 194,
  "title": "Catalyst Front Run",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bedroom Adu Value Uplift #195

DEGRADED

Bedroom plus ADU value uplift combined - the two highest-ROI improvements, stacked. From the web analysis.

signal_id: bedroom_adu_value_uplift mcp tool: bedroom-adu-value-uplift
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bedroom-adu-value-uplift","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bedroom_adu_value_uplift",
  "catalog_number": 195,
  "title": "Bedroom Adu Value Uplift",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Absentee STR Conversion Funnel #198

PENDING

Funnel converting absentee owners to STR sellers or hosts - the list, the pitch, the playbook. From the web analysis.

signal_id: absentee_str_conversion_funnel mcp tool: absentee-str-conversion-funnel
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"absentee-str-conversion-funnel","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "absentee_str_conversion_funnel",
  "catalog_number": 198,
  "title": "Absentee STR Conversion Funnel",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rent Listing Churn Tracker #200

PENDING

Rental listings churning on and off the market - landlord fatigue you can measure. From the chat brainstorm: churn is the tell.

signal_id: rent_listing_churn_tracker mcp tool: rent-listing-churn-tracker
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rent-listing-churn-tracker","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rent_listing_churn_tracker",
  "catalog_number": 200,
  "title": "Rent Listing Churn Tracker",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Squatter Occupancy Signal #201

LIVE

Squatter and unauthorized-occupancy detection - know before you buy (or before the pipes freeze). From the chat brainstorm.

signal_id: squatter_occupancy_signal mcp tool: squatter-occupancy-signal
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"squatter-occupancy-signal","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "squatter_occupancy_signal",
  "catalog_number": 201,
  "title": "Squatter Occupancy Signal",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Tired Landlord to Seller #202

LIVE

Facebook Marketplace landlord-to-seller conversion plays - landlords listing furniture are often listing the building next. From the chat brainstorm.

signal_id: fbm_landlord_to_seller_play mcp tool: fbm-landlord-to-seller-play
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"fbm-landlord-to-seller-play","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "fbm_landlord_to_seller_play",
  "catalog_number": 202,
  "title": "Tired Landlord to Seller",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Geotagged Photo Distress Mine #203

PENDING

Mining geotagged photos for distress - the internet photographs neglect daily. From the chat brainstorm.

signal_id: geotagged_photo_distress_mine mcp tool: geotagged-photo-distress-mine
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"geotagged-photo-distress-mine","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "geotagged_photo_distress_mine",
  "catalog_number": 203,
  "title": "Geotagged Photo Distress Mine",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Neglect Imagery Timeseries #204

DEGRADED

Neglect over time via imagery series - the decline curve, visible from orbit. From the chat brainstorm: trajectory beats snapshot.

signal_id: neglect_imagery_timeseries mcp tool: neglect-imagery-timeseries
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"neglect-imagery-timeseries","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "neglect_imagery_timeseries",
  "catalog_number": 204,
  "title": "Neglect Imagery Timeseries",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Search Intent Distress Trend #207

DEGRADED

Search trends revealing distress intent - 'how to stop foreclosure' spikes before the NOD. From the chat brainstorm.

signal_id: search_intent_distress_trend mcp tool: search-intent-distress-trend
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"search-intent-distress-trend","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "search_intent_distress_trend",
  "catalog_number": 207,
  "title": "Search Intent Distress Trend",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mechanic Lien Distress #208

PENDING

Mechanic's liens as distress - contractors unpaid means the owner is broke. From the chat brainstorm: the lien the owner can't hide.

signal_id: mechanic_lien_distress mcp tool: mechanic-lien-distress
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mechanic-lien-distress","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mechanic_lien_distress",
  "catalog_number": 208,
  "title": "Mechanic Lien Distress",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Distress Search Landing Funnel #209

DEGRADED

Search-to-landing funnels for distressed sellers - catch the query, convert the click. From the chat brainstorm.

signal_id: distress_search_landing_funnel mcp tool: distress-search-landing-funnel
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"distress-search-landing-funnel","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "distress_search_landing_funnel",
  "catalog_number": 209,
  "title": "Distress Search Landing Funnel",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Parcel Insurance Cost Insurability #210

DEGRADED

True insurance cost plus insurability per parcel - the quote before the surprise. From the forum harvest: buyers blindsided by uninsurable homes.

signal_id: parcel_insurance_cost_insurability mcp tool: parcel-insurance-cost-insurability
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"parcel-insurance-cost-insurability","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "parcel_insurance_cost_insurability",
  "catalog_number": 210,
  "title": "Parcel Insurance Cost Insurability",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Cash Buyer Verification #211

DEGRADED

Verifies cash buyers are real - no more fake proof-of-funds letters. From the forum harvest.

signal_id: cash_buyer_verification mcp tool: cash-buyer-verification
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"cash-buyer-verification","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "cash_buyer_verification",
  "catalog_number": 211,
  "title": "Cash Buyer Verification",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Expired Listing Owner Leads #212

PENDING

Expired listings turned into owner leads - the listing died, the motivation didn't. From the forum harvest.

signal_id: expired_listing_owner_leads mcp tool: expired-listing-owner-leads
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"expired-listing-owner-leads","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "expired_listing_owner_leads",
  "catalog_number": 212,
  "title": "Expired Listing Owner Leads",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Deed Fraud Watch #213

DEGRADED

Deed-fraud monitoring per parcel - title theft is real and growing. From the forum harvest.

signal_id: deed_fraud_watch mcp tool: deed-fraud-watch
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"deed-fraud-watch","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "deed_fraud_watch",
  "catalog_number": 213,
  "title": "Deed Fraud Watch",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Insurance Claim Denial #221

LIVE

Patterns predicting insurance claim denials - know the fight before you file. From the Reddit true pass: denied claims are a data problem.

signal_id: insurance_claim_denial mcp tool: insurance-claim-denial
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"insurance-claim-denial","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "insurance_claim_denial",
  "catalog_number": 221,
  "title": "Insurance Claim Denial",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Niche band 85

Hidden Water Feature #4

LIVE

Finds parcels with unlisted water features - ponds, creeks, springs - that add value or unlock uses the listing never mentions. Water is value in the West and amenity value…

signal_id: hidden_water_feature mcp tool: hidden-water-feature
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hidden-water-feature","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hidden_water_feature",
  "catalog_number": 4,
  "title": "Hidden Water Feature",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Cell Tower And Land Lease #5

DEGRADED

Identifies parcels hosting (or suitable for) cell towers and the lease income attached to them. Tower income is the closest thing to a mailbox-money machine in real estate. Pairs…

signal_id: cell_tower_and_land_lease mcp tool: cell-tower-and-land-lease
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"cell-tower-and-land-lease","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "cell_tower_and_land_lease",
  "catalog_number": 5,
  "title": "Cell Tower And Land Lease",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Income Stack Score #10

PENDING

Scores how many income layers one parcel can stack: rent + tower + billboard + solar + minerals + storage. This is the 'free land' thesis as a number - buy dirt whose stacked…

signal_id: income_stack_score mcp tool: income-stack-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"income-stack-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "income_stack_score",
  "catalog_number": 10,
  "title": "Income Stack Score",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Best Fit Buyer #12

PENDING

Matches a parcel to its highest-paying buyer archetype: builder, STR host, farmer, tower company, storage operator. Sell to the buyer who values it most, not the first one who…

signal_id: best_fit_buyer mcp tool: best-fit-buyer
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"best-fit-buyer","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "best_fit_buyer",
  "catalog_number": 12,
  "title": "Best Fit Buyer",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

House Hack Fit #15

DEGRADED

Scores parcels for house-hacking: live in one unit, rent the rest, let tenants cover the mortgage. The on-ramp to the whole empire for first-time investors.

signal_id: house_hack_fit mcp tool: house-hack-fit
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"house-hack-fit","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "house_hack_fit",
  "catalog_number": 15,
  "title": "House Hack Fit",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Family Life Fit #16

DEGRADED

Scores parcels on family-life criteria: schools, safety, yard, commute. The non-investor side of the model - because the best data product serves real buyers too.

signal_id: family_life_fit mcp tool: family-life-fit
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"family-life-fit","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "family_life_fit",
  "catalog_number": 16,
  "title": "Family Life Fit",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Whole Region Rank #19

LIVE

Ranks every parcel in a region by deal score - the leaderboard view. Instead of hunting one deal, see the whole board ranked best to worst.

signal_id: whole_region_rank mcp tool: whole-region-rank
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"whole-region-rank","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "whole_region_rank",
  "catalog_number": 19,
  "title": "Whole Region Rank",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Improvement Zone Between Hnw #23

DEGRADED

Flags parcels sitting between high-net-worth zones - spillover improvement plays where wealth bleeds outward. Buy the path of progress, not the destination.

signal_id: improvement_zone_between_hnw mcp tool: improvement-zone-between-hnw
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"improvement-zone-between-hnw","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "improvement_zone_between_hnw",
  "catalog_number": 23,
  "title": "Improvement Zone Between Hnw",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

No Airbnb License Acreage #24

LIVE

Finds acreage in areas with no STR licensing friction - where you can actually operate. Regulation is the moat or the wall; this tells you which.

signal_id: no_airbnb_license_acreage mcp tool: no-airbnb-license-acreage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"no-airbnb-license-acreage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "no_airbnb_license_acreage",
  "catalog_number": 24,
  "title": "No Airbnb License Acreage",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Barn To Convert #25

DEGRADED

Identifies barns convertible to homes or event venues - structure for free, vision for profit. The barndominium wave needs supply.

signal_id: barn_to_convert mcp tool: barn-to-convert
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"barn-to-convert","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "barn_to_convert",
  "catalog_number": 25,
  "title": "Barn To Convert",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Sprinter Van Summer Camp #26

LIVE

Parcels suited to van-life summer camps and seasonal setups - the outdoor-hospitality fringe. Tiny niche, nearly zero competition.

signal_id: sprinter_van_summer_camp mcp tool: sprinter-van-summer-camp
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"sprinter-van-summer-camp","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "sprinter_van_summer_camp",
  "catalog_number": 26,
  "title": "Sprinter Van Summer Camp",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mixed Zoning Live Work #27

LIVE

Live/work-capable parcels under mixed zoning - live upstairs, run the business downstairs. The zoning most buyers don't know to search for.

signal_id: mixed_zoning_live_work mcp tool: mixed-zoning-live-work
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mixed-zoning-live-work","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mixed_zoning_live_work",
  "catalog_number": 27,
  "title": "Mixed Zoning Live Work",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Offline Rural Valuation #28

DEGRADED

Values rural parcels with no comps and thin internet data - the parcels every AVM gives up on. If nobody can price it, the mispricing is yours to take.

signal_id: offline_rural_valuation mcp tool: offline-rural-valuation
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"offline-rural-valuation","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "offline_rural_valuation",
  "catalog_number": 28,
  "title": "Offline Rural Valuation",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Alphaearth Core #29

PENDING

Satellite-embedding-based parcel intelligence in the AlphaEarth style - planetary-scale observation turned into per-parcel insight. The deep-tech layer of the model.

signal_id: alphaearth_core mcp tool: alphaearth-core
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"alphaearth-core","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "alphaearth_core",
  "catalog_number": 29,
  "title": "Alphaearth Core",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Elderly Summer Cabin Complex #30

DEGRADED

Cabin complexes suited to elderly seasonal communities - aging boomers still want the lake, just with less stairs. Demographics as a deal source.

signal_id: elderly_summer_cabin_complex mcp tool: elderly-summer-cabin-complex
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"elderly-summer-cabin-complex","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "elderly_summer_cabin_complex",
  "catalog_number": 30,
  "title": "Elderly Summer Cabin Complex",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Elderly Pre Succession #33

DEGRADED

Elderly owners in the pre-succession window - the quiet before the estate sale. Reach the family before the listing, with empathy and a fair offer.

signal_id: elderly_pre_succession mcp tool: elderly-pre-succession
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"elderly-pre-succession","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "elderly_pre_succession",
  "catalog_number": 33,
  "title": "Elderly Pre Succession",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Water X Distress Matrix #42

PENDING

Water problems crossed with owner distress - double motivation. A flooded basement plus a tired landlord is a deal waiting for a phone call.

signal_id: water_x_distress_matrix mcp tool: water-x-distress-matrix
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-x-distress-matrix","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_x_distress_matrix",
  "catalog_number": 42,
  "title": "Water X Distress Matrix",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Orphans No Family Ties #49

PENDING

Heirs with no family ties to the property - the cleanest heir deals, no sibling fights. Estate simplicity is a discount you can buy.

signal_id: orphans_no_family_ties mcp tool: orphans-no-family-ties
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"orphans-no-family-ties","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "orphans_no_family_ties",
  "catalog_number": 49,
  "title": "Orphans No Family Ties",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Estate Sales #50

DEGRADED

Estate-sale signals per parcel - the sale before the listing. Where there's an estate sale, there's often a house sale six weeks later.

signal_id: estate_sales mcp tool: estate-sales
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"estate-sales","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "estate_sales",
  "catalog_number": 50,
  "title": "Estate Sales",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Post Divorce 1 2Yr #51

DEGRADED

The 1-2 year post-divorce window - the delayed sell. The decree is signed, life moves on, and the house finally goes. Timing beats cold-calling.

signal_id: post_divorce_1_2yr mcp tool: post-divorce-1-2yr
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"post-divorce-1-2yr","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "post_divorce_1_2yr",
  "catalog_number": 51,
  "title": "Post Divorce 1 2Yr",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Oldest Child Graduating #52

DEGRADED

Empty-nest timing: oldest child graduating means downsizing is on the horizon. Life-stage marketing with a parcel attached.

signal_id: oldest_child_graduating mcp tool: oldest-child-graduating
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"oldest-child-graduating","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "oldest_child_graduating",
  "catalog_number": 52,
  "title": "Oldest Child Graduating",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Dumpster Out Front #53

DEGRADED

Dumpster in the driveway means a cleanout is in progress - and cleanouts precede sales. The most literal distress signal in the catalog.

signal_id: dumpster_out_front mcp tool: dumpster-out-front
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"dumpster-out-front","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "dumpster_out_front",
  "catalog_number": 53,
  "title": "Dumpster Out Front",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Unkept Property #54

DEGRADED

Chronically unkept exteriors - neglect visible from the street, scored across imagery. Deferred maintenance is a discount if you can see it first.

signal_id: unkept_property mcp tool: unkept-property
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"unkept-property","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "unkept_property",
  "catalog_number": 54,
  "title": "Unkept Property",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Retirement Home Visitors #55

LIVE

Patterns suggesting a move to a retirement home is near - the house will need a new owner soon. Sensitive, human, and real.

signal_id: retirement_home_visitors mcp tool: retirement-home-visitors
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"retirement-home-visitors","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "retirement_home_visitors",
  "catalog_number": 55,
  "title": "Retirement Home Visitors",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Old Single Owners Unmanageable #56

DEGRADED

Aging single owners whose property is becoming unmanageable - the kindest deal source there is if handled with care. Help them move on; everybody wins.

signal_id: old_single_owners_unmanageable mcp tool: old-single-owners-unmanageable
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"old-single-owners-unmanageable","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "old_single_owners_unmanageable",
  "catalog_number": 56,
  "title": "Old Single Owners Unmanageable",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Fb Marketplace Downsizing #59

LIVE

Facebook Marketplace downsizing listings as a seller-lead source - people selling the couch often sell the house next. Social exhaust as deal flow.

signal_id: fb_marketplace_downsizing mcp tool: fb-marketplace-downsizing
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"fb-marketplace-downsizing","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "fb_marketplace_downsizing",
  "catalog_number": 59,
  "title": "Fb Marketplace Downsizing",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rent Back Timeshare #67

PENDING

Rent-back and timeshare-structure opportunities - let the seller stay, structure the exit. Flexibility closes deals that price can't.

signal_id: rent_back_timeshare mcp tool: rent-back-timeshare
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rent-back-timeshare","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rent_back_timeshare",
  "catalog_number": 67,
  "title": "Rent Back Timeshare",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Middle Man Lending #71

LIVE

Middle-man lending structures - be the bank without the balance sheet. Originate, broker, clip the spread.

signal_id: middle_man_lending mcp tool: middle-man-lending
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"middle-man-lending","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "middle_man_lending",
  "catalog_number": 71,
  "title": "Middle Man Lending",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Double Close End Buyer #72

DEGRADED

Double-close end-buyer matching - line up the exit before you sign the entry. Wholesale with the buyer already in the room.

signal_id: double_close_end_buyer mcp tool: double-close-end-buyer
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"double-close-end-buyer","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "double_close_end_buyer",
  "catalog_number": 72,
  "title": "Double Close End Buyer",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Unique Home Lender Match #74

LIVE

Matches unique homes to lenders who'll actually fund them - earthships and barndos need banks that get it. Odd properties, even odder lending gaps.

signal_id: unique_home_lender_match mcp tool: unique-home-lender-match
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"unique-home-lender-match","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "unique_home_lender_match",
  "catalog_number": 74,
  "title": "Unique Home Lender Match",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Unique Home Insurance Match #75

DEGRADED

Matches hard-to-insure homes to carriers who'll write them - James lived this pain personally. The carrier exists; the connection doesn't.

signal_id: unique_home_insurance_match mcp tool: unique-home-insurance-match
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"unique-home-insurance-match","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "unique_home_insurance_match",
  "catalog_number": 75,
  "title": "Unique Home Insurance Match",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Land Renewable Lease Loan #81

DEGRADED

Renewable-energy lease and loan structures on land - solar and wind pay rent for decades. The landowner becomes the utility's landlord.

signal_id: land_renewable_lease_loan mcp tool: land-renewable-lease-loan
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"land-renewable-lease-loan","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "land_renewable_lease_loan",
  "catalog_number": 81,
  "title": "Land Renewable Lease Loan",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rv Parks #110

LIVE

Dream-property category: RV park parcels - income-producing land with a lifestyle attached. One of James's own dream filters, kept as a first-class category.

signal_id: RV parks mcp tool: rv-parks
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rv-parks","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "RV parks",
  "catalog_number": 110,
  "title": "Rv Parks",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Commercial Re #111

DEGRADED

Dream-property category: commercial real estate filtered the Shinnslist way - distress, upside and mispricing instead of LoopNet's asking prices.

signal_id: Commercial RE mcp tool: commercial-re
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"commercial-re","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Commercial RE",
  "catalog_number": 111,
  "title": "Commercial Re",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Cabin #112

LIVE

Dream-property category: cabins - the 1031-cabin hunt that started so much of this, productized. Mountain, lake and woods properties with deal scoring.

signal_id: Cabin mcp tool: cabin
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"cabin","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Cabin",
  "catalog_number": 112,
  "title": "Cabin",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Farm #113

LIVE

Dream-property category: farms - land that pays you to own it. Soil, water and subsidy signals underneath the pretty listing photos.

signal_id: Farm mcp tool: farm
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"farm","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Farm",
  "catalog_number": 113,
  "title": "Farm",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Off Grid #114

DEGRADED

Dream-property category: off-grid parcels - solar exposure, water, access and legality scored together. The prepper premium is real.

signal_id: Off grid mcp tool: off-grid
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"off-grid","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Off grid",
  "catalog_number": 114,
  "title": "Off Grid",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Prepped #115

DEGRADED

Dream-property category: prepped properties - resilience as an asset class. When the grid blinks, these parcels don't.

signal_id: Prepped mcp tool: prepped
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"prepped","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Prepped",
  "catalog_number": 115,
  "title": "Prepped",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Horse / Equestrian #116

LIVE

Horse / Equestrian

signal_id: Horse / equestrian mcp tool: horse-equestrian
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"horse-equestrian","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Horse / equestrian",
  "catalog_number": 116,
  "title": "Horse / Equestrian",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Waterfall #117

LIVE

Dream-property category: waterfall parcels - the amenity money can't manufacture. Scarcity you can hear from the porch.

signal_id: Waterfall mcp tool: waterfall
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"waterfall","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Waterfall",
  "catalog_number": 117,
  "title": "Waterfall",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

River Frontage, Rights & Flood Risk #118

LIVE

Dream-property category: river parcels - frontage, rights and flood risk in one view. Riverfront is forever; the price should reflect which river.

signal_id: River mcp tool: river
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"river","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "River",
  "catalog_number": 118,
  "title": "River Frontage, Rights &amp; Flood Risk",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Greenhouse / Attached Greenhouse Houses #119

LIVE

Greenhouse / Attached Greenhouse Houses

signal_id: Greenhouse / attached greenhouse houses mcp tool: greenhouse-attached-greenhouse-houses
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"greenhouse-attached-greenhouse-houses","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Greenhouse / attached greenhouse houses",
  "catalog_number": 119,
  "title": "Greenhouse / Attached Greenhouse Houses",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Acreage #120

LIVE

Dream-property category: acreage - room to breathe, build, or bank. The anti-subdivision filter.

signal_id: Acreage mcp tool: acreage
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"acreage","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Acreage",
  "catalog_number": 120,
  "title": "Acreage",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hunting #121

DEGRADED

Dream-property category: hunting land - game, cover, water and access. Hunters buy land differently; this speaks their language.

signal_id: Hunting mcp tool: hunting
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hunting","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Hunting",
  "catalog_number": 121,
  "title": "Hunting",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Ranching #122

DEGRADED

Dream-property category: ranching parcels - carrying capacity, water and working infrastructure. A working ranch is a business that comes with dirt.

signal_id: Ranching mcp tool: ranching
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ranching","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Ranching",
  "catalog_number": 122,
  "title": "Ranching",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Old American Mansions / Architectural Styles #123

LIVE

Old American Mansions / Architectural Styles

signal_id: Old American mansions / architectural styles mcp tool: old-american-mansions-architectural-styles
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"old-american-mansions-architectural-styles","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Old American mansions / architectural styles",
  "catalog_number": 123,
  "title": "Old American Mansions / Architectural Styles",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Investor Specials #124

PENDING

Dream-property category: investor specials - the distressed, the odd, the mispriced, all in one feed. The bargain bin with a brain.

signal_id: Investor specials mcp tool: investor-specials
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"investor-specials","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Investor specials",
  "catalog_number": 124,
  "title": "Investor Specials",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Barndominiums #125

PENDING

Dream-property category: barndominiums - shop-house living at a fraction of stick-built cost. The fastest-growing housing aesthetic in rural America.

signal_id: Barndominiums mcp tool: barndominiums
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"barndominiums","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Barndominiums",
  "catalog_number": 125,
  "title": "Barndominiums",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Former Churches, Fire Stations, Schools #126

DEGRADED

Dream-property category: former churches, fire stations and schools - adaptive reuse with soul. Big bones, small prices, endless character.

signal_id: Former churches, fire stations, schools mcp tool: former-churches-fire-stations-schools
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"former-churches-fire-stations-schools","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Former churches, fire stations, schools",
  "catalog_number": 126,
  "title": "Former Churches, Fire Stations, Schools",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Ufo Listings With Alien Energy #128

PENDING

Dream-property category: UFO listings with alien energy - because search should be fun and the map is big enough for mysteries. Novelty with a wink.

signal_id: UFO listings with alien energy mcp tool: ufo-listings-with-alien-energy
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ufo-listings-with-alien-energy","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "UFO listings with alien energy",
  "catalog_number": 128,
  "title": "Ufo Listings With Alien Energy",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Paranormal Listings In Areas With History #129

LIVE

Dream-property category: paranormal listings in historic areas - haunted houses have buyers too. Every niche deserves a filter.

signal_id: Paranormal listings in areas with history mcp tool: paranormal-listings-in-areas-with-history
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"paranormal-listings-in-areas-with-history","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Paranormal listings in areas with history",
  "catalog_number": 129,
  "title": "Paranormal Listings In Areas With History",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bigfoot Listings #130

PENDING

Dream-property category: Bigfoot listings - deep-woods parcels where the legend lives. Marketing gold, and somebody's dream acreage.

signal_id: Bigfoot listings mcp tool: bigfoot-listings
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bigfoot-listings","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Bigfoot listings",
  "catalog_number": 130,
  "title": "Bigfoot Listings",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Earthships #131

LIVE

Dream-property category: Earthships - tire-wall, off-grid, self-sufficient homes. The most radical housing category in the catalog.

signal_id: Earthships mcp tool: earthships
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"earthships","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Earthships",
  "catalog_number": 131,
  "title": "Earthships",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hobbit Homes #132

PENDING

Dream-property category: hobbit homes - bermed, cozy, storybook living. Niche tourism and lifestyle in one.

signal_id: Hobbit homes mcp tool: hobbit-homes
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hobbit-homes","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Hobbit homes",
  "catalog_number": 132,
  "title": "Hobbit Homes",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Recording Studios #133

PENDING

Dream-property category: recording studios - soundproofed, wired, ready to track. Musicians buy houses for the room nobody else values.

signal_id: Recording studios mcp tool: recording-studios
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"recording-studios","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Recording studios",
  "catalog_number": 133,
  "title": "Recording Studios",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Up-And-Coming Vacation Properties #134

DEGRADED

Dream-property category: up-and-coming vacation markets - buy the next hotspot before it's the hotspot. Appreciation plus rental income.

signal_id: Up-and-coming vacation properties mcp tool: up-and-coming-vacation-properties
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"up-and-coming-vacation-properties","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Up-and-coming vacation properties",
  "catalog_number": 134,
  "title": "Up-And-Coming Vacation Properties",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Interior Design Styles #135

PENDING

Dream-property category: interior design styles as a search filter - find the aesthetic, not just the address. Search like a human, not a database.

signal_id: Interior design styles mcp tool: interior-design-styles
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"interior-design-styles","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "Interior design styles",
  "catalog_number": 135,
  "title": "Interior Design Styles",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

STR Analysis Site Pattern #140

DEGRADED

STR site-analysis patterns - what the winning STR locations have in common, extracted from the data. Pattern-match your next cabin against the winners.

signal_id: str_analysis_site_pattern mcp tool: str-analysis-site-pattern
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"str-analysis-site-pattern","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "str_analysis_site_pattern",
  "catalog_number": 140,
  "title": "STR Analysis Site Pattern",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Public Land Access Verify #142

LIVE

Verifies public-land access claims - no more landlocked surprises after closing. Cheap insurance against the oldest rural scam.

signal_id: public_land_access_verify mcp tool: public-land-access-verify
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"public-land-access-verify","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "public_land_access_verify",
  "catalog_number": 142,
  "title": "Public Land Access Verify",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Fire Casualty Permit #152

PENDING

Fire-damaged parcels with permit history - what burned, what was permitted, what's rebuildable. Disaster as inventory.

signal_id: fire_casualty_permit mcp tool: fire-casualty-permit
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"fire-casualty-permit","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "fire_casualty_permit",
  "catalog_number": 152,
  "title": "Fire Casualty Permit",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Tenant Turnover Maintenance Risk #160

LIVE

Turnover plus deferred-maintenance risk - the two horsemen of rental returns. High churn plus old systems equals a money pit wearing a rent roll.

signal_id: tenant_turnover_maintenance_risk mcp tool: tenant-turnover-maintenance-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"tenant-turnover-maintenance-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "tenant_turnover_maintenance_risk",
  "catalog_number": 160,
  "title": "Tenant Turnover Maintenance Risk",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

List Saturation Index #165

DEGRADED

How bombarded sellers are by investor outreach - don't be the 50th caller this month. Timing and channel beat volume.

signal_id: list_saturation_index mcp tool: list-saturation-index
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"list-saturation-index","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "list_saturation_index",
  "catalog_number": 165,
  "title": "List Saturation Index",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Seller Trust Score #166

PENDING

How trustworthy the seller's representations are - disclosure history, permit honesty, flip patterns. Trust, but verify, automatically.

signal_id: seller_trust_score mcp tool: seller-trust-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"seller-trust-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "seller_trust_score",
  "catalog_number": 166,
  "title": "Seller Trust Score",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Water Diversion Pond Feasibility #174

DEGRADED

Can you legally build a pond? Water law, diversion rights and feasibility in one answer. In the West, the pond is a legal question first.

signal_id: water_diversion_pond_feasibility mcp tool: water-diversion-pond-feasibility
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-diversion-pond-feasibility","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_diversion_pond_feasibility",
  "catalog_number": 174,
  "title": "Water Diversion Pond Feasibility",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Camp Lodge Cabin Conversion #175

DEGRADED

Camps and lodges convertible to cabin portfolios - buy the camp, sell the cabins. Institutional bones, retail exits.

signal_id: camp_lodge_cabin_conversion mcp tool: camp-lodge-cabin-conversion
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"camp-lodge-cabin-conversion","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "camp_lodge_cabin_conversion",
  "catalog_number": 175,
  "title": "Camp Lodge Cabin Conversion",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Farm Grant Subsidy Zone #181

DEGRADED

Farm grants and subsidies mapped by zone - free government money with a map. The programs exist; the awareness doesn't.

signal_id: farm_grant_subsidy_zone mcp tool: farm-grant-subsidy-zone
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"farm-grant-subsidy-zone","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "farm_grant_subsidy_zone",
  "catalog_number": 181,
  "title": "Farm Grant Subsidy Zone",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Abandoned Cell Tower Isp #182

DEGRADED

Abandoned towers revivable as WISP sites - dark steel, new tenants, instant rural broadband business. From James's notes.

signal_id: abandoned_cell_tower_isp mcp tool: abandoned-cell-tower-isp
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"abandoned-cell-tower-isp","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "abandoned_cell_tower_isp",
  "catalog_number": 182,
  "title": "Abandoned Cell Tower Isp",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Cell Tower Income Revival #196

PENDING

Reviving dead tower income - dark towers, new tenants, resurrected cash flow. From the web analysis.

signal_id: cell_tower_income_revival mcp tool: cell-tower-income-revival
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"cell-tower-income-revival","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "cell_tower_income_revival",
  "catalog_number": 196,
  "title": "Cell Tower Income Revival",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Motel OPM Guaranteed Occupancy #196

LIVE

Motels with occupancy-guarantee structures via other people's money - the niche inside hospitality nobody talks about. Guaranteed occupancy changes the underwriting completely.

signal_id: motel_opm_guaranteed_occupancy mcp tool: motel-opm-guaranteed-occupancy
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"motel-opm-guaranteed-occupancy","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "motel_opm_guaranteed_occupancy",
  "catalog_number": 196,
  "title": "Motel OPM Guaranteed Occupancy",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Grant Stacked Land Yield #197

PENDING

Grants stacked on land yield - subsidized returns on rural dirt. From the web analysis.

signal_id: grant_stacked_land_yield mcp tool: grant-stacked-land-yield
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"grant-stacked-land-yield","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "grant_stacked_land_yield",
  "catalog_number": 197,
  "title": "Grant Stacked Land Yield",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Yard To Storage Conversion #205

PENDING

Yards convertible to storage income - the lot is already there, the revenue isn't. From the chat brainstorm.

signal_id: yard_to_storage_conversion mcp tool: yard-to-storage-conversion
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"yard-to-storage-conversion","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "yard_to_storage_conversion",
  "catalog_number": 205,
  "title": "Yard To Storage Conversion",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Marketing Compliance Risk #214

DEGRADED

Marketing compliance risk per campaign - DNC, TCPA, CAN-SPAM scored before you send. From the forum harvest: the fine is bigger than the deal.

signal_id: marketing_compliance_risk mcp tool: marketing-compliance-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"marketing-compliance-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "marketing_compliance_risk",
  "catalog_number": 214,
  "title": "Marketing Compliance Risk",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Appraisal Gap Risk #215

PENDING

Appraisal-gap risk per deal - will it appraise, or will the buyer walk? From the forum harvest.

signal_id: appraisal_gap_risk mcp tool: appraisal-gap-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"appraisal-gap-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "appraisal_gap_risk",
  "catalog_number": 215,
  "title": "Appraisal Gap Risk",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

HOA Dues Assessment Spike Risk #216

PENDING

HOA dues and assessment spike risk - the special assessment that eats your cash flow. From the forum harvest.

signal_id: hoa_dues_assessment_spike_risk mcp tool: hoa-dues-assessment-spike-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hoa-dues-assessment-spike-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hoa_dues_assessment_spike_risk",
  "catalog_number": 216,
  "title": "HOA Dues Assessment Spike Risk",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Post Purchase Tax Reassessment #217

LIVE

Post-purchase tax reassessment shock estimator - your taxes will not stay at the seller's level. From the forum harvest.

signal_id: post_purchase_tax_reassessment mcp tool: post-purchase-tax-reassessment
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"post-purchase-tax-reassessment","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "post_purchase_tax_reassessment",
  "catalog_number": 217,
  "title": "Post Purchase Tax Reassessment",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Self Storage Retiring Owner #218

PENDING

Retiring self-storage owners - buy the facility, not the development risk. From the forum harvest: the gray wave is selling.

signal_id: self_storage_retiring_owner mcp tool: self-storage-retiring-owner
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"self-storage-retiring-owner","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "self_storage_retiring_owner",
  "catalog_number": 218,
  "title": "Self Storage Retiring Owner",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Commercial Distress Vacancy Signal #219

LIVE

Commercial distress read through vacancy - dark storefronts don't lie. From the forum harvest.

signal_id: commercial_distress_vacancy_signal mcp tool: commercial-distress-vacancy-signal
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"commercial-distress-vacancy-signal","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "commercial_distress_vacancy_signal",
  "catalog_number": 219,
  "title": "Commercial Distress Vacancy Signal",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rent Control Regulatory Risk #220

PENDING

Rent-control risk per market - regulation that caps your upside. From the forum harvest.

signal_id: rent_control_regulatory_risk mcp tool: rent-control-regulatory-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rent-control-regulatory-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rent_control_regulatory_risk",
  "catalog_number": 220,
  "title": "Rent Control Regulatory Risk",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rent Payment Reliability #222

LIVE

Tenant rent-payment reliability scoring - underwrite the tenant, not just the unit. From the Reddit true pass.

signal_id: rent_payment_reliability mcp tool: rent-payment-reliability
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rent-payment-reliability","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rent_payment_reliability",
  "catalog_number": 222,
  "title": "Rent Payment Reliability",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Eviction Timeline Risk #223

DEGRADED

Eviction timeline risk per jurisdiction - how long 'get them out' really takes. From the Reddit true pass: the timeline is the cost.

signal_id: eviction_timeline_risk mcp tool: eviction-timeline-risk
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"eviction-timeline-risk","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "eviction_timeline_risk",
  "catalog_number": 223,
  "title": "Eviction Timeline Risk",
  "status": "degraded",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Buyer Contract Retrade #224

PENDING

Contract retrade risk - buyers who renegotiate after inspection. From the Reddit true pass: know the pattern before you sign.

signal_id: buyer_contract_retrade mcp tool: buyer-contract-retrade
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"buyer-contract-retrade","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "buyer_contract_retrade",
  "catalog_number": 224,
  "title": "Buyer Contract Retrade",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Damage Protection Gap #225

PENDING

Gaps in damage protection - deposits versus reality. From the Reddit true pass: the deposit never covers it.

signal_id: damage_protection_gap mcp tool: damage-protection-gap
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"damage-protection-gap","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "damage_protection_gap",
  "catalog_number": 225,
  "title": "Damage Protection Gap",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Property Manager Fraud #226

PENDING

Property-manager fraud patterns - the watchdog on the watchdog. From the Reddit true pass: out-of-state owners are blind without this.

signal_id: property_manager_fraud mcp tool: property-manager-fraud
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"property-manager-fraud","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "property_manager_fraud",
  "catalog_number": 226,
  "title": "Property Manager Fraud",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Platform Support Failure #227

LIVE

Platform and support-failure patterns - vendor risk scored before you depend on them. From the Reddit true pass.

signal_id: platform_support_failure mcp tool: platform-support-failure
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"platform-support-failure","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "platform_support_failure",
  "catalog_number": 227,
  "title": "Platform Support Failure",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Well Depth Drill Cost #228

LIVE

Estimated well depth + full cost to drill a working water well on a raw-land parcel — and whether it's feasible at all. Most land buyers never price this until after closing; a…

signal_id: well_depth_drill_cost mcp tool: well-depth-drill-cost
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"well-depth-drill-cost","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "well_depth_drill_cost",
  "catalog_number": 228,
  "title": "Well Depth Drill Cost",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Unbanded 86

Tax Delinquency Early Warning Formula #33

PENDING

Tax Delinquency Early Warning Formula

signal_id: tax_delinquency_early_warning_formula mcp tool: tax-delinquency-early-warning-formula
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"tax-delinquency-early-warning-formula","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "tax_delinquency_early_warning_formula",
  "catalog_number": 33,
  "title": "Tax Delinquency Early Warning Formula",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Auction Underbidder Join #34

PENDING

Auction Underbidder Join

signal_id: auction_underbidder_join mcp tool: auction-underbidder-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"auction-underbidder-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "auction_underbidder_join",
  "catalog_number": 34,
  "title": "Auction Underbidder Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Foreclosure Surplus Join #35

PENDING

Foreclosure Surplus Join

signal_id: foreclosure_surplus_join mcp tool: foreclosure-surplus-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"foreclosure-surplus-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "foreclosure_surplus_join",
  "catalog_number": 35,
  "title": "Foreclosure Surplus Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Off Market Business Inventory #84

LIVE

PARKED - not a parcel signal. Businesses aren't parcels.

signal_id: off_market_business_inventory mcp tool: off-market-business-inventory
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"off-market-business-inventory","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "off_market_business_inventory",
  "catalog_number": 84,
  "title": "Off Market Business Inventory",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Adverse Possession Ripening Join #196

PENDING

Adverse Possession Ripening Join

signal_id: adverse_possession_ripening_join mcp tool: adverse-possession-ripening-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"adverse-possession-ripening-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "adverse_possession_ripening_join",
  "catalog_number": 196,
  "title": "Adverse Possession Ripening Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bail Home Collateral #283

PENDING

PARKED - jail-line adjacent. Not built, not sold.

signal_id: bail_home_collateral mcp tool: bail-home-collateral
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bail-home-collateral","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bail_home_collateral",
  "catalog_number": 283,
  "title": "Bail Home Collateral",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Ai Title Abstract #296

PENDING

PARKED - personal UX, not sold. AI title abstracting for internal diligence.

signal_id: ai_title_abstract mcp tool: ai-title-abstract
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ai-title-abstract","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "ai_title_abstract",
  "catalog_number": 296,
  "title": "Ai Title Abstract",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Condo Assessment Distress Join #300

PENDING

Condo Assessment Distress Join

signal_id: condo_assessment_distress_join mcp tool: condo-assessment-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"condo-assessment-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "condo_assessment_distress_join",
  "catalog_number": 300,
  "title": "Condo Assessment Distress Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mineral Royalty Suspense Join #301

PENDING

Mineral Royalty Suspense Join

signal_id: mineral_royalty_suspense_join mcp tool: mineral-royalty-suspense-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mineral-royalty-suspense-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mineral_royalty_suspense_join",
  "catalog_number": 301,
  "title": "Mineral Royalty Suspense Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Stormwater Fee X Impervious Join infra

PENDING

Stormwater Fee X Impervious Join

signal_id: stormwater_fee_x_impervious_join mcp tool: stormwater-fee-x-impervious-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"stormwater-fee-x-impervious-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "stormwater_fee_x_impervious_join",
  "catalog_number": null,
  "title": "Stormwater Fee X Impervious Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Shinnslist VA Land Intel Score (moat demo) infra

LIVE

Shinnslist VA Land Intel Score (moat demo)

signal_id: va_land_intel_score mcp tool: va-land-intel-score
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"va-land-intel-score","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "va_land_intel_score",
  "catalog_number": null,
  "title": "Shinnslist VA Land Intel Score (moat demo)",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

EGS Geothermal Site Join infra

PENDING

EGS Geothermal Site Join

signal_id: egs_geothermal_site_join mcp tool: egs-geothermal-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"egs-geothermal-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "egs_geothermal_site_join",
  "catalog_number": null,
  "title": "EGS Geothermal Site Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Air Rights Sending Site Join infra

PENDING

Air Rights Sending Site Join

signal_id: air_rights_sending_site_join mcp tool: air-rights-sending-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"air-rights-sending-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "air_rights_sending_site_join",
  "catalog_number": null,
  "title": "Air Rights Sending Site Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Nonconformity Envelope Join infra

PENDING

Nonconformity Envelope Join

signal_id: nonconformity_envelope_join mcp tool: nonconformity-envelope-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"nonconformity-envelope-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "nonconformity_envelope_join",
  "catalog_number": null,
  "title": "Nonconformity Envelope Join",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Seasonal Water (Wetland) Join infra

LIVE

Seasonal Water (Wetland) Join

signal_id: seasonal_water_wetland_join mcp tool: seasonal-water-wetland-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"seasonal-water-wetland-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "seasonal_water_wetland_join",
  "catalog_number": null,
  "title": "Seasonal Water (Wetland) Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Historic Credit Eligibility Join infra

LIVE

Historic Credit Eligibility Join

signal_id: historic_credit_eligibility_join mcp tool: historic-credit-eligibility-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"historic-credit-eligibility-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "historic_credit_eligibility_join",
  "catalog_number": null,
  "title": "Historic Credit Eligibility Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Opportunity Zone Redesignation Join infra

LIVE

Opportunity Zone Redesignation Join

signal_id: oz_redesignation_join mcp tool: oz-redesignation-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"oz-redesignation-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "oz_redesignation_join",
  "catalog_number": null,
  "title": "Opportunity Zone Redesignation Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

LIHTC Qualified Contract Join infra

LIVE

LIHTC Qualified Contract Join

signal_id: lihtc_qualified_contract_join mcp tool: lihtc-qualified-contract-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"lihtc-qualified-contract-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "lihtc_qualified_contract_join",
  "catalog_number": null,
  "title": "LIHTC Qualified Contract Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Brownfield Credit Join infra

LIVE

Brownfield Credit Join

signal_id: brownfield_credit_join mcp tool: brownfield-credit-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"brownfield-credit-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "brownfield_credit_join",
  "catalog_number": null,
  "title": "Brownfield Credit Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

School Closure Conversion Join infra

LIVE

School Closure Conversion Join

signal_id: school_closure_conversion_join mcp tool: school-closure-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"school-closure-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "school_closure_conversion_join",
  "catalog_number": null,
  "title": "School Closure Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Grazing Allotment AUM Join infra

LIVE

Grazing Allotment AUM Join

signal_id: grazing_allotment_aum_join mcp tool: grazing-allotment-aum-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"grazing-allotment-aum-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "grazing_allotment_aum_join",
  "catalog_number": null,
  "title": "Grazing Allotment AUM Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Coal-to-Nuclear Siting Join infra

LIVE

Coal-to-Nuclear Siting Join

signal_id: coal_to_nuclear_siting_join mcp tool: coal-to-nuclear-siting-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"coal-to-nuclear-siting-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "coal_to_nuclear_siting_join",
  "catalog_number": null,
  "title": "Coal-to-Nuclear Siting Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rail Spur Site Join infra

LIVE

Rail Spur Site Join

signal_id: rail_spur_site_join mcp tool: rail-spur-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rail-spur-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rail_spur_site_join",
  "catalog_number": null,
  "title": "Rail Spur Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rail Abandonment Reversion Join infra

LIVE

Rail Abandonment Reversion Join

signal_id: rail_abandonment_reversion_join mcp tool: rail-abandonment-reversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rail-abandonment-reversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rail_abandonment_reversion_join",
  "catalog_number": null,
  "title": "Rail Abandonment Reversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Substation Shadow Power Join infra

LIVE

Substation Shadow Power Join

signal_id: substation_shadow_power_join mcp tool: substation-shadow-power-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"substation-shadow-power-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "substation_shadow_power_join",
  "catalog_number": null,
  "title": "Substation Shadow Power Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mobile Home Park Distress Infill Join infra

LIVE

Mobile Home Park Distress Infill Join

signal_id: mhp_distress_infill_join mcp tool: mhp-distress-infill-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mhp-distress-infill-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mhp_distress_infill_join",
  "catalog_number": null,
  "title": "Mobile Home Park Distress Infill Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

UST Fund Eligibility Join infra

LIVE

UST Fund Eligibility Join

signal_id: ust_fund_eligibility_join mcp tool: ust-fund-eligibility-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ust-fund-eligibility-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "ust_fund_eligibility_join",
  "catalog_number": null,
  "title": "UST Fund Eligibility Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Correctional Closure Conversion Join infra

LIVE

Correctional Closure Conversion Join

signal_id: correctional_closure_conversion_join mcp tool: correctional-closure-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"correctional-closure-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "correctional_closure_conversion_join",
  "catalog_number": null,
  "title": "Correctional Closure Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Geothermal Spring Parcel Join infra

LIVE

Geothermal Spring Parcel Join

signal_id: geothermal_spring_parcel_join mcp tool: geothermal-spring-parcel-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"geothermal-spring-parcel-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "geothermal_spring_parcel_join",
  "catalog_number": null,
  "title": "Geothermal Spring Parcel Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Private Airfield Distress Join infra

LIVE

Private Airfield Distress Join

signal_id: private_airfield_distress_join mcp tool: private-airfield-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"private-airfield-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "private_airfield_distress_join",
  "catalog_number": null,
  "title": "Private Airfield Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Airport Noise Contour Join infra

LIVE

Airport Noise Contour Join

signal_id: airport_noise_contour_join mcp tool: airport-noise-contour-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"airport-noise-contour-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "airport_noise_contour_join",
  "catalog_number": null,
  "title": "Airport Noise Contour Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Incentive Stack Eligibility Join infra

LIVE

Incentive Stack Eligibility Join

signal_id: incentive_stack_eligibility_join mcp tool: incentive-stack-eligibility-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"incentive-stack-eligibility-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "incentive_stack_eligibility_join",
  "catalog_number": null,
  "title": "Incentive Stack Eligibility Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bank Branch Closure Join infra

LIVE

Bank Branch Closure Join

signal_id: bank_branch_closure_join mcp tool: bank-branch-closure-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bank-branch-closure-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bank_branch_closure_join",
  "catalog_number": null,
  "title": "Bank Branch Closure Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Wind Lease Siting Join infra

LIVE

Wind Lease Siting Join

signal_id: wind_lease_siting_join mcp tool: wind-lease-siting-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"wind-lease-siting-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "wind_lease_siting_join",
  "catalog_number": null,
  "title": "Wind Lease Siting Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Conservation Easement Credit Join infra

LIVE

Conservation Easement Credit Join

signal_id: conservation_easement_credit_join mcp tool: conservation-easement-credit-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"conservation-easement-credit-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "conservation_easement_credit_join",
  "catalog_number": null,
  "title": "Conservation Easement Credit Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Closed Facility Conversion Join infra

LIVE

Closed Facility Conversion Join

signal_id: closed_facility_conversion_join mcp tool: closed-facility-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"closed-facility-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "closed_facility_conversion_join",
  "catalog_number": null,
  "title": "Closed Facility Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

BESS Site Join infra

LIVE

BESS Site Join

signal_id: bess_site_join mcp tool: bess-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bess-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bess_site_join",
  "catalog_number": null,
  "title": "BESS Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Miner Interconnect Distress Join infra

LIVE

Miner Interconnect Distress Join

signal_id: miner_interconnect_distress_join mcp tool: miner-interconnect-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"miner-interconnect-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "miner_interconnect_distress_join",
  "catalog_number": null,
  "title": "Miner Interconnect Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rooftop Site Join infra

LIVE

Rooftop Site Join

signal_id: rooftop_site_join mcp tool: rooftop-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rooftop-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rooftop_site_join",
  "catalog_number": null,
  "title": "Rooftop Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Rooftop Solar Site Join infra

LIVE

Rooftop Solar Site Join

signal_id: rooftop_solar_site_join mcp tool: rooftop-solar-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"rooftop-solar-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "rooftop_solar_site_join",
  "catalog_number": null,
  "title": "Rooftop Solar Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Office Conversion Join infra

LIVE

Office Conversion Join

signal_id: office_conversion_join mcp tool: office-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"office-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "office_conversion_join",
  "catalog_number": null,
  "title": "Office Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Office Conversion Screen Join infra

LIVE

Office Conversion Screen Join

signal_id: office_conversion_screen_join mcp tool: office-conversion-screen-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"office-conversion-screen-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "office_conversion_screen_join",
  "catalog_number": null,
  "title": "Office Conversion Screen Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Motel Conversion Join infra

LIVE

Motel Conversion Join

signal_id: motel_conversion_join mcp tool: motel-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"motel-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "motel_conversion_join",
  "catalog_number": null,
  "title": "Motel Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Wildfire Insurability Join infra

LIVE

Wildfire Insurability Join

signal_id: wildfire_insurability_join mcp tool: wildfire-insurability-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"wildfire-insurability-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "wildfire_insurability_join",
  "catalog_number": null,
  "title": "Wildfire Insurability Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Orphan Well Liability Join infra

LIVE

Orphan Well Liability Join

signal_id: orphan_well_liability_join mcp tool: orphan-well-liability-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"orphan-well-liability-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "orphan_well_liability_join",
  "catalog_number": null,
  "title": "Orphan Well Liability Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Hunting Lease Income Join infra

LIVE

Hunting Lease Income Join

signal_id: hunting_lease_income_join mcp tool: hunting-lease-income-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"hunting-lease-income-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "hunting_lease_income_join",
  "catalog_number": null,
  "title": "Hunting Lease Income Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Insurance Non-Renewal Distress Join infra

LIVE

Insurance Non-Renewal Distress Join

signal_id: insurance_nonrenewal_distress_join mcp tool: insurance-nonrenewal-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"insurance-nonrenewal-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "insurance_nonrenewal_distress_join",
  "catalog_number": null,
  "title": "Insurance Non-Renewal Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mitigation Bank Site Join infra

LIVE

Mitigation Bank Site Join

signal_id: mitigation_bank_site_join mcp tool: mitigation-bank-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mitigation-bank-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mitigation_bank_site_join",
  "catalog_number": null,
  "title": "Mitigation Bank Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Quarry Permitted Reserve Join infra

LIVE

Quarry Permitted Reserve Join

signal_id: quarry_permitted_reserve_join mcp tool: quarry-permitted-reserve-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"quarry-permitted-reserve-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "quarry_permitted_reserve_join",
  "catalog_number": null,
  "title": "Quarry Permitted Reserve Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Aggregate Reserve Distress Join infra

LIVE

Aggregate Reserve Distress Join

signal_id: aggregate_reserve_distress_join mcp tool: aggregate-reserve-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"aggregate-reserve-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "aggregate_reserve_distress_join",
  "catalog_number": null,
  "title": "Aggregate Reserve Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Brightfield Solar Join infra

LIVE

Brightfield Solar Join

signal_id: brightfield_solar_join mcp tool: brightfield-solar-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"brightfield-solar-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "brightfield_solar_join",
  "catalog_number": null,
  "title": "Brightfield Solar Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

NEVI Gap Site Join infra

LIVE

NEVI Gap Site Join

signal_id: nevi_gap_site_join mcp tool: nevi-gap-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"nevi-gap-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "nevi_gap_site_join",
  "catalog_number": null,
  "title": "NEVI Gap Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Truck Parking Desert Join infra

LIVE

Truck Parking Desert Join

signal_id: truck_parking_desert_join mcp tool: truck-parking-desert-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"truck-parking-desert-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "truck_parking_desert_join",
  "catalog_number": null,
  "title": "Truck Parking Desert Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Billboard Frontage Screen Join infra

LIVE

Billboard Frontage Screen Join

signal_id: billboard_frontage_screen_join mcp tool: billboard-frontage-screen-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"billboard-frontage-screen-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "billboard_frontage_screen_join",
  "catalog_number": null,
  "title": "Billboard Frontage Screen Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Water System Distress Join infra

LIVE

Water System Distress Join

signal_id: water_system_distress_join mcp tool: water-system-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"water-system-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "water_system_distress_join",
  "catalog_number": null,
  "title": "Water System Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Well Drill Feasibility Join infra

LIVE

Well Drill Feasibility Join

signal_id: well_drill_feasibility_join mcp tool: well-drill-feasibility-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"well-drill-feasibility-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "well_drill_feasibility_join",
  "catalog_number": null,
  "title": "Well Drill Feasibility Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Golf Course Conversion Join infra

LIVE

Golf Course Conversion Join

signal_id: golf_course_conversion_join mcp tool: golf-course-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"golf-course-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "golf_course_conversion_join",
  "catalog_number": null,
  "title": "Golf Course Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Bowling Alley Distress Join infra

LIVE

Bowling Alley Distress Join

signal_id: bowling_alley_distress_join mcp tool: bowling-alley-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bowling-alley-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bowling_alley_distress_join",
  "catalog_number": null,
  "title": "Bowling Alley Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Drive-In Closure Join infra

LIVE

Drive-In Closure Join

signal_id: drive_in_closure_join mcp tool: drive-in-closure-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"drive-in-closure-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "drive_in_closure_join",
  "catalog_number": null,
  "title": "Drive-In Closure Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Marina Distress Join infra

LIVE

Marina Distress Join

signal_id: marina_distress_join mcp tool: marina-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"marina-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "marina_distress_join",
  "catalog_number": null,
  "title": "Marina Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mall Anchor Distress Join infra

LIVE

Mall Anchor Distress Join

signal_id: mall_anchor_distress_join mcp tool: mall-anchor-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mall-anchor-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mall_anchor_distress_join",
  "catalog_number": null,
  "title": "Mall Anchor Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Dealership Distress Join infra

LIVE

Dealership Distress Join

signal_id: dealership_distress_join mcp tool: dealership-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"dealership-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "dealership_distress_join",
  "catalog_number": null,
  "title": "Dealership Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Camp Retreat Conversion Join infra

LIVE

Camp Retreat Conversion Join

signal_id: camp_retreat_conversion_join mcp tool: camp-retreat-conversion-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"camp-retreat-conversion-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "camp_retreat_conversion_join",
  "catalog_number": null,
  "title": "Camp Retreat Conversion Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Ski Area Distress Join infra

LIVE

Ski Area Distress Join

signal_id: ski_area_distress_join mcp tool: ski-area-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"ski-area-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "ski_area_distress_join",
  "catalog_number": null,
  "title": "Ski Area Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Motel Conversion Distress Join infra

LIVE

Motel Conversion Distress Join

signal_id: motel_conversion_distress_join mcp tool: motel-conversion-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"motel-conversion-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "motel_conversion_distress_join",
  "catalog_number": null,
  "title": "Motel Conversion Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Salvage Yard Distress Join infra

LIVE

Salvage Yard Distress Join

signal_id: salvage_yard_distress_join mcp tool: salvage-yard-distress-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"salvage-yard-distress-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "salvage_yard_distress_join",
  "catalog_number": null,
  "title": "Salvage Yard Distress Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Mill Closure MW Join infra

LIVE

Mill Closure MW Join

signal_id: mill_closure_mw_join mcp tool: mill-closure-mw-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"mill-closure-mw-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "mill_closure_mw_join",
  "catalog_number": null,
  "title": "Mill Closure MW Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Solar Site Screen Join infra

LIVE

Solar Site Screen Join

signal_id: solar_site_screen_join mcp tool: solar-site-screen-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"solar-site-screen-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "solar_site_screen_join",
  "catalog_number": null,
  "title": "Solar Site Screen Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Buyout Program Enrollment Join infra

LIVE

Buyout Program Enrollment Join

signal_id: buyout_program_enrollment_join mcp tool: buyout-program-enrollment-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"buyout-program-enrollment-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "buyout_program_enrollment_join",
  "catalog_number": null,
  "title": "Buyout Program Enrollment Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Lithium Brine Rights Join infra

LIVE

Lithium Brine Rights Join

signal_id: lithium_brine_rights_join mcp tool: lithium-brine-rights-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"lithium-brine-rights-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "lithium_brine_rights_join",
  "catalog_number": null,
  "title": "Lithium Brine Rights Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Zombie Subdivision Plat Join infra

LIVE

Zombie Subdivision Plat Join

signal_id: zombie_subdivision_plat_join mcp tool: zombie-subdivision-plat-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"zombie-subdivision-plat-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "zombie_subdivision_plat_join",
  "catalog_number": null,
  "title": "Zombie Subdivision Plat Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Exchange Window Join infra

LIVE

Exchange Window Join

signal_id: exchange_window_join mcp tool: exchange-window-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"exchange-window-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "exchange_window_join",
  "catalog_number": null,
  "title": "Exchange Window Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Forest Carbon Enrollment Join infra

LIVE

Forest Carbon Enrollment Join

signal_id: forest_carbon_enrollment_join mcp tool: forest-carbon-enrollment-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"forest-carbon-enrollment-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "forest_carbon_enrollment_join",
  "catalog_number": null,
  "title": "Forest Carbon Enrollment Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Conservation Burial Grounds Join infra

LIVE

Conservation Burial Grounds Join

signal_id: conservation_burial_grounds_join mcp tool: conservation-burial-grounds-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"conservation-burial-grounds-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "conservation_burial_grounds_join",
  "catalog_number": null,
  "title": "Conservation Burial Grounds Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Landlocked Access Join infra

LIVE

Landlocked Access Join

signal_id: landlocked_access_join mcp tool: landlocked-access-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"landlocked-access-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "landlocked_access_join",
  "catalog_number": null,
  "title": "Landlocked Access Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Stalled Permit Join infra

LIVE

Stalled Permit Join

signal_id: stalled_permit_join mcp tool: stalled-permit-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"stalled-permit-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "stalled_permit_join",
  "catalog_number": null,
  "title": "Stalled Permit Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Dormant Mineral Abandonment Join infra

LIVE

Dormant Mineral Abandonment Join

signal_id: dormant_mineral_abandonment_join mcp tool: dormant-mineral-abandonment-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"dormant-mineral-abandonment-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "dormant_mineral_abandonment_join",
  "catalog_number": null,
  "title": "Dormant Mineral Abandonment Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Federal Grant Round Join infra

LIVE

Federal Grant Round Join

signal_id: federal_grant_round_join mcp tool: federal-grant-round-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"federal-grant-round-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "federal_grant_round_join",
  "catalog_number": null,
  "title": "Federal Grant Round Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

BEAD Site Join infra

LIVE

BEAD Site Join

signal_id: bead_site_join mcp tool: bead-site-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"bead-site-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "bead_site_join",
  "catalog_number": null,
  "title": "BEAD Site Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Pore Space Sequestration Join infra

LIVE

Pore Space Sequestration Join

signal_id: pore_space_sequestration_join mcp tool: pore-space-sequestration-join
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"pore-space-sequestration-join","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "pore_space_sequestration_join",
  "catalog_number": null,
  "title": "Pore Space Sequestration Join",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Assumable Mortgage Under 4pct infra

LIVE

Assumable Mortgage Under 4pct

signal_id: assumable_mortgage_under_4pct mcp tool: assumable-mortgage-under-4pct
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"assumable-mortgage-under-4pct","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "assumable_mortgage_under_4pct",
  "catalog_number": null,
  "title": "Assumable Mortgage Under 4pct",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Built 100+ Years Ago infra

PENDING

Built 100+ Years Ago

signal_id: built_100_years mcp tool: built-100-years
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"built-100-years","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "built_100_years",
  "catalog_number": null,
  "title": "Built 100+ Years Ago",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Old Farm Building infra

PENDING

Old Farm Building

signal_id: old_farm_building mcp tool: old-farm-building
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"old-farm-building","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "old_farm_building",
  "catalog_number": null,
  "title": "Old Farm Building",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Old Landmark Building infra

PENDING

Old Landmark Building

signal_id: old_landmark_building mcp tool: old-landmark-building
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"old-landmark-building","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "old_landmark_building",
  "catalog_number": null,
  "title": "Old Landmark Building",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Farm or Ranch infra

PENDING

Farm or Ranch

signal_id: farm_ranch mcp tool: farm-ranch
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"farm-ranch","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "farm_ranch",
  "catalog_number": null,
  "title": "Farm or Ranch",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Historic Farm, Mill or Plantation infra

PENDING

Historic Farm, Mill or Plantation

signal_id: historic_farm_mill_plantation mcp tool: historic-farm-mill-plantation
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"historic-farm-mill-plantation","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "historic_farm_mill_plantation",
  "catalog_number": null,
  "title": "Historic Farm, Mill or Plantation",
  "status": "pending",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}

Infrastructure 1

Virginia Jurisdiction Check infra

LIVE

Virginia jurisdiction gate — the first check every query runs. Reports whether a point is inside Virginia legal jurisdiction (TIGER/Line 2024, STATEFP 51, including Virginia Chesapeake Bay waters).

signal_id: va_boundary_check mcp tool: va-boundary-check
Tier quotas — anon 5/day · free 25/day · pro 1000/day (reserved). All signals on every tier; quota is the gate.
Example curl — /api/intel
curl -H "x-api-key: <redacted>" \
  "https://shinnslist.com/api/intel?q=37.5407,-77.4360"
Example curl — MCP tools/call
curl -X POST -H "x-api-key: <redacted>" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",\
       "params":{"name":"va-boundary-check","arguments":{"lat":37.5407,"lng":-77.4360},\
                 "_meta":{"protocolVersion":"2026-07-28"}}}' \
  "https://shinnslist.com/api/mcp"
Example JSON response shape
{
  "signal_id": "va_boundary_check",
  "catalog_number": null,
  "title": "Virginia Jurisdiction Check",
  "status": "live",
  "result": { /* signal-specific fields — null when pending */ },
  "evidence": [ { "fact": "…", "source": "named public dataset", "retrieved": "2026-09-27" } ],
  "unavailable": [ /* exact reasons when degraded/pending, else omitted */ ],
  "confidence": "high | medium | low"
}