Skip to content

Instantly share code, notes, and snippets.

@Davisonpro
Created June 16, 2026 18:09
Show Gist options
  • Select an option

  • Save Davisonpro/bb967ae614326195021b211d2a6ed1ab to your computer and use it in GitHub Desktop.

Select an option

Save Davisonpro/bb967ae614326195021b211d2a6ed1ab to your computer and use it in GitHub Desktop.
Guide.md

GeoMLS Tester Guide

Three things to understand first

Concept What it is Where
API Key Provider credentials (Bridge, Spark, Navica, etc.). Multiple keys supported. GeoDirectory → Settings → GeoMLS
Dataset MLS feed partition your account can access (board/region/license scope). Not a filter — permission boundary. Selected when creating an import
Import Saved config: dataset + filters + GD post type + field mapping. Stored as geomls_import. GeoMLS → Imports

Flow: API Key → datasets appear → pick dataset → options load → configure import → run.


1. API keys

GeoDirectory → Settings → GeoMLS

  1. Add key → select provider → fill required fields → Save
  2. Test Connection
  3. Background parser fetches datasets + option lists (types, states, agents, offices)

No datasets? Bad credentials or parsing still running.


2. Create import

GeoMLS → Imports → Add New

  1. Select dataset → Continue
  2. Wait for dataset options to load (required before filters work)
  3. Configure (see below) → Create Import

Access denied? Account lacks MLS approval for that dataset — fix on provider side, not in GeoMLS.


3. Import config — what matters

Must set

  • GD Post Type — target CPT
  • Listing Author — WP user on imported posts
  • Listing Status — draft or publish
  • Title Format — {Address}, {City}, {StateOrProvince}, {ListingId}, etc.

Filters (OData $filter built from these)

UI field RESO field
Listing Status StandardStatus
Property Type / Subtype PropertyType / PropertySubType
States StateOrProvince
Cities City (comma-separated)
Price range ListPrice
Agent/Office include/exclude ListAgentKey / ListOfficeKey
Custom Filters Any field + comparison operator

Empty = no restriction on that dimension.

Worth testing

  • Maximum Listings to Import — cap for smoke tests
  • Single listing — ListingId or ListingKey for one-off
  • Additional Fields + Field Mapping — RESO → GD htmlvar_name overrides
  • Remove listings no longer in the MLS — post-import cleanup (trash confirmed-missing only)
  • Run Frequency + Start immediately

4. Run & verify

Action Where
Run Preview Edit import — dry run, no writes
Run Import Imports list or Import Details
Pause / Resume / Abort Import Details
Edit while running Blocked

Import Details — check:

  • Imported / Updated / Skipped / Failed / Removed
  • Activity log
  • Media queue (images may finish after property loop)

Dedup key: geomls_listing_id (MLS ListingId). Re-runs update, not duplicate.


Region-specific data (e.g. California)

Two layers — don’t confuse them:

  1. Dataset access — Can your API account see that region’s feed? If not, filters won’t help. Confirm: dataset listed, no access error, options load.
  2. Import filters — Narrow within an accessible dataset: States = CA, Cities, or custom filter on StateOrProvince / City.

Quick test checklist

  • Test Connection passes; datasets populate
  • Dataset options load after selection
  • Run Preview counts look sane
  • Listings land in correct GD post type + author + status
  • Re-run updates existing (no dupes)
  • Title format + mapped fields correct
  • Images attach (check after import completes)
  • Remove stale only trashes confirmed-missing (if enabled)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment