Script Recipes

This page lists eight self-contained, downloadable Python and JavaScript/Node scripts, each solving one real network/IP task — bulk-enrich a CSV of addresses, aggregate an access log by country, filter a list for proxies, check subnet membership, collapse a CIDR list, validate a geofeed, look up an ASN, or watch for new threat-feed hits — mostly by calling the free ip.xakki.pro API directly, with zero extra installs required to run any of them.

Every script is MIT-licensed (an SPDX-License-Identifier: MIT header in the file itself) — copy, adapt and redistribute freely, no attribution required.

Recipes in this section

Bulk enrichment & log analysis

Filtering

Local, offline arithmetic — no API call

Lookup & monitoring

Glossary

Recipe
This section's term for a self-contained script solving one real task — download it, run it as shown, no configuration beyond the CLI flags documented on its own page.
Standard library only
Every Python recipe uses only modules that ship with Python itself; every JavaScript recipe uses only Node.js 18+ built-ins — no pip install, no npm install, no package.json anywhere in this section.
Per-unique-IP/day metering
The API's rate-limit model every network-calling recipe here respects: a repeat lookup of the same target IP the same UTC day is free, only a genuinely new one counts against the daily budget.
MIT license
The permissive open-source license every script in this section carries — free to copy, modify and redistribute, no attribution required, includes an explicit no-warranty disclaimer.
Local-only recipe
A recipe that makes no network request at all (subnet-membership.js, cidr-aggregate.py, geofeed-parse.py) — pure arithmetic or parsing over data you already have, included deliberately as an honest counter-example to the network-calling recipes.
Soft-withhold
The API's over-budget response for an enrichment group: HTTP 200 with the group named in "limited" instead of populated — every network-calling recipe here handles this explicitly, never as a silent blank/null.

API equivalent

placeholder

Read the full API docs

Frequently asked questions

Are these scripts really free to run?
Yes — every script that calls our API does so anonymously, within the free anonymous per-IP-per-day budget; the three local-only recipes make no network call at all. No signup or API key is required for any of them.
Do I need to install anything to run these?
No — every Python script uses only the standard library (Python 3.8+, no pip install) and every JavaScript script uses only Node.js 18+ built-ins (no npm install, no package.json).
Can I use these scripts in my own commercial project?
Yes — every script is MIT-licensed, which permits commercial use, modification and redistribution with no attribution requirement.
Why is this section separate from the interactive /tools/ and /tools/dev/ pages?
Those sections are browser-based interactive tools with a form and a live result; this section is documentation showing complete, downloadable, copy-pasteable code — a different content shape for a different intent (run it in your own environment, not in a browser tab).
How do these differ from the API docs' own code snippets?
The API docs (/docs/) show short illustrative snippets alongside each endpoint's reference; these recipes are complete, runnable, downloadable files solving one specific real task end to end — the recipes complement the docs rather than duplicating them.
Which recipe should I start with?
If you just want to see the API called correctly, asn-lookup (shown in both Python and JavaScript) is the shortest; if you have a real file to process right now, bulk-enrich.py or proxy-filter.py are the most immediately useful.

Like this tool? Our API gives free accounts 1,000 requests/day.See the API docs →