The Threads URL Analyzer on Builderlog takes exactly one Threads post URL, and figuring out what happens after you paste it turned into a bigger question than I expected: what does "public data" even mean once a platform is involved.
I built the thing to live at /analyzer/ and /ko/analyzer/, mirrored in English and Korean, running on Astro and served through Cloudflare Pages. Simple enough on paper. You give it a URL, it gives you something back. But the "something back" part is where I kept getting stuck, because there are really two different data paths hiding behind one input box, and I didn't want to blur them together just to make the output look richer.
Two paths, one input box
The analyzer separates public preview data from account-authorized data. That split isn't a UI decision I made for aesthetics — it's a structural one. Public preview data is what you can get from a URL without anyone logging into anything. Account-authorized data is what shows up only when there's an actual authenticated session behind the request. Same input field, two completely different trust levels behind it.
What I didn't expect was how much this split would shape every other decision downstream. Once I decided to keep those paths separate instead of merging them into one blended result, I ended up needing to be honest about which one the analyzer was actually pulling from at any given moment. Turns out that's harder than it sounds when you're staring at a URL and trying to decide what it's "allowed" to tell you.






