PROVENANCEAlways visible Source + version + freshness
Know the source. Understand the answer.{ } REST API
YOUR CONNECTION
My IP lookup.
See your public IP address and its approximate location.
Press “Look up my IP” to pull your response. Nothing is requested automatically.
Uses one of your public website lookups. IP location is an estimate, not a precise physical address.
EVERY ANSWER HAS A SOURCE.
07tracked data integrations
v4+v6IPv4 and IPv6 address support
◷Independent source refreshes
{ }One predictable REST API
01 / EXPLORE THE INTELLIGENCE
Look up another IP.
See the estimated location, network, and the data behind each result.
Example mode
10 sample lookups left today · Resets at 00:00 UTC
ILLUSTRATIVE DATA
🇺🇸
APPROXIMATE LOCATION
Mountain View, United States
↗
IP address8.8.8.8
RegionCalifornia
Country codeUS
Time zoneAmerica/Los_Angeles
NetworkAS15169 · Google LLC
IP versionIPv4
ⓘ Sample response for exploration. IP locations are approximate, not GPS coordinates.
◎ Illustrative location
This preview uses example responses and a browser-local counter. Production lookups require the PHP service, approved datasets, and server-enforced quotas.
02 / GO BEYOND THE COORDINATES
More than a pin on a map.
Build for where people are. And understand the data that gets you there.
IP geolocation is an estimate. Country results are generally more stable than city results. Mobile networks, VPNs, and routing changes can affect location. ORIGOOO shows provenance and uncertainty rather than a numerical accuracy guarantee.
Are all seven integrations independent?
No. Distributions may mirror upstream records. ORIGOOO tracks lineage so mirrored datasets do not count as independent votes. The registry shows each integration’s role and readiness.
How do the free allowances work?
The public website allowance is 10 lookup actions per visitor per UTC day. Registered Free accounts receive 1,000 API credits per month. Standard lookups cost one credit and all-source comparisons cost two. The preview uses sample data only.
Can I use this to block access by country?
Country policies must be enforced on your server. A frontend widget alone does not secure content. SDK policies should define trusted proxies, caching, and how unknown locations and service outages are handled.
WIDGET DELIVERY & SETUP
One script. Searchable controls.
Include this complete URL on your website. The module loads the picker code and country metadata automatically. No jQuery, build step or stylesheet is required.
This is the version-pinned ORIGOOO-hosted distribution. The latest-version URL is https://orig.ooo/widgets.js; use the pinned URL for predictable upgrades. Your hosting or CDN cache configuration determines edge delivery.
In API keys, create a publishable key with the lookup scope. Allow your exact origin, including HTTPS and any www subdomain you actually use. Replace the placeholder with that key. The orig.ooo demonstration key is restricted to orig.ooo and will not work on your domain.
Manual search needs no key. Detection uses one account credit per auto-detect control on load. Preserve manual selections and offer a fallback. An IP country is approximate and does not determine a preferred language.
Put custom elements inside a form and give each a name. Read values with FormData or the value property. Style with CSS variables and ::part(input), ::part(option), and ::part(label).
Self-hosting and CSP
Download the self-hosting kit and serve widgets.js, pickers.js and countries.json together. Use your full script URL. For hosted modules, permit https://orig.ooo in script-src and connect-src; connect-src covers metadata and optional detection. The controls currently use inline shadow styles, so your style-src must permit those styles. Do not weaken an existing strict CSP without reviewing it.
Inspect browser Network errors when a control fails to load. A 403 from detection usually means an origin or key restriction; a 429 means the request rate or credit allowance was exceeded.