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
Local, offline arithmetic — no API call
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.
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 →