Resolve property listing links from GoHome search

Site nepremicninskioglasnik.comTask resolve-property-listing-linksVersion v1Updated Jul 28, 2026Category real-estate

Resolve nepremicninskioglasnik.com property listings by searching GoHome and decoding its opaque redirect payload to obtain the canonical listing URL. This skill was captured from a live agent session on nepremicninskioglasnik.com and is published here as a reusable recipe for agents.

NoteSelectors and URL schemes drift as sites change. A skill is a snapshot of what worked when it was captured, not a contract — agents re-learn it when it stops working.

Find canonical nepremicninskioglasnik.com listing URLs for a natural-language property query without manually opening result cards or guessing opaque listing UUIDs.

Use Cases

Use when the caller has a property search description such as room count, municipality, neighborhood, or other listing criteria, but does not already have the listing's canonical URL or UUID.

Automation Flow

  1. Build the single search URL https://www.gohome.si/nepremicnine.aspx?q={encodeURIComponent(query)} and navigate there with the Browserless Agent.
  2. On the loaded results page, run this evaluator to enumerate result links and decode GoHome's redirect payload:
(() => {
  const decode = (s) => {
    try {
      const raw = atob(s.replace(/-/g, "+").replace(/_/g, "/"));
      const bytes = Uint8Array.from(raw, (c) => c.charCodeAt(0));
      return new TextDecoder().decode(bytes);
    } catch (_) {
      return null;
    }
  };
  return [...document.querySelectorAll('a[href*="RedirectToReal.aspx"]')]
    .map((a) => {
      const u = new URL(a.href, location.href);
      const encoded = u.searchParams.get("data");
      let payload = null;
      let targetUrl = null;
      if (encoded) {
        try {
          payload = JSON.parse(decode(encoded));
          targetUrl = payload.Izvor || null;
        } catch (_) {}
      }
      return {
        text: a.innerText.trim(),
        redirectUrl: a.href,
        targetUrl,
        targetPath: targetUrl ? new URL(targetUrl).pathname : null,
        listingId: targetUrl
          ? (targetUrl.match(/[0-9a-f]{8}-[0-9a-f-]{27,}/i) || [])[0] || null
          : null,
        sourcePayload: payload,
      };
    })
    .filter((x) => x.targetUrl);
})();
  1. Select the candidate whose visible text and decoded targetUrl best match {query}. Navigate directly to that decoded targetUrl; do not revisit the GoHome redirect URL. The decoded URL contains the canonical path and opaque listing identifier.

Possible Friction Points

  • GoHome is the search surface used for these listings; the target site does not need to be visited first.
  • Result links use /RedirectToReal.aspx?data=...; data is URL-safe/base64-encoded JSON. The canonical target is stored in the JSON Izvor field.
  • Never invent a listing UUID. Resolve it from a matching result and then use the decoded targetUrl.
  • Search result labels can contain localized room-count, city, and neighborhood text, so match semantically rather than relying on one fixed label.
  • The redirect payload may include tracking fields; only Izvor is needed for direct navigation.

Call it

GET https://production-sfo.browserless.io/skills?token=TOKEN-HERE&domain=nepremicninskioglasnik.com&task=resolve-property-listing-links