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.
DEVELOPER WIDGETS
Country decision block
Return an allow, block or unknown decision and use your callback to control your own HTML.
Working controls. Ready to try. Examples on orig.ooo share one IP-country lookup. Language and country decision elements return data and callbacks; their output panels below are demonstration UI. Connecting to the lookup service…CDN URLs & setup instructions →
Return an allow, block or unknown result to your own JavaScript. Use the callback to show a regional message, hide an offer or trigger your application logic.
LIVE EXAMPLE
Regional offers · Availability messages · Conditional HTML
Decision outputWaiting for country
This example offer is visible in allowed countries.
These buttons simulate a country for this example.
The element itself is invisible. The HTML preview is controlled by its result. Enforce protected-content access on your server.
HTML
<script type="module" src="https://orig.ooo/cdn/widgets/1.4.7/widgets.js"></script>
<origooo-country-blocker id="region-rule"
auto-detect key="og_pub_2b113c8b0d21011497e7db566da928dd4c23d4404b4bbc5e"
endpoint="https://orig.ooo/v1/ip/me"
blocked-countries="US,GB" unknown-policy="unknown">
</origooo-country-blocker>
<div id="regional-offer" hidden>Your regional offer</div>
<script>
const rule = document.querySelector("#region-rule");
let countryDecision;
rule.onResolve = result => {
countryDecision = result.decision;
document.querySelector("#regional-offer").hidden =
result.decision !== "allow";
// Or call your own function with result.
};
// rule.result, rule.dataset.decision and
// rule.dataset.allowed expose the same output.
// Event alternative: addEventListener("decision", handler).
</script>
Load the module once. The hosted module loads its dependencies automatically. Self-host the complete kit.
AUTOMATIC IP DETECTION
Detected from your actual IP.
Request an approximate country from an active dataset. Existing manual choices stay in place. On orig.ooo this uses one lookup through the site’s origin-restricted publishable widget key.
No IP request made.
Estimated countryNot checked
Country and language suggestions are approximate. Saved visitor preferences take priority.
Use the decision in your application
This element returns data. Your own JavaScript controls the visible interface. Subscribe to onResolve, listen for events or read result and data attributes.
const element = document.getElementById("region-rule");
let decisionResult;
element.onResolve = result => {
decisionResult = result;
// Update your own HTML or call your application function.
};
// element.result and element.dataset expose the output too.