{"uid":"cap_zIv7m5on2L_HyHP6vbuFP","slug":"ip-geo-api-bulk-ip-geolocation-68e20ae7","name":"IP Geo API – Bulk IP Geolocation","description":"Batch geolocation for up to 20 IP addresses in one call; returns a per-IP record matching /lookup/ip.","url":"https://ip-geo-api-production.up.railway.app/lookup/bulk","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"ips":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Up to 20 IPv4/IPv6 addresses to geolocate in one batch."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_EXAW9EBZeT6ej2ifvmwWq","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Geolocates up to 20 IPv4/IPv6 addresses in a single batch call, returning per-IP records with country, region, city, lat/lng, timezone, ISP, and ASN data.","exampleAgentPrompt":"Can you geolocate these 5 IP addresses for me all at once — 203.0.113.5, 198.51.100.12, 8.8.8.8, 1.1.1.1, and 185.220.101.3 — and tell me the country, city, and timezone for each?","exampleUseCases":[{"title":"Fraud detection enrichment for login events","prompt":"I have a batch of suspicious login IPs from our auth logs — 198.51.100.45, 203.0.113.77, 45.33.32.156, 104.21.14.1, and 192.0.2.88 — can you geolocate all of them and tell me which countries and ISPs they're coming from?"},{"title":"Audience analytics for web traffic","prompt":"We just pulled our top 10 visitor IPs from last night's traffic report: 8.8.4.4, 1.0.0.1, 185.60.216.35, 64.233.160.0, 66.249.66.1, 17.172.224.47, 157.240.22.35, 23.215.0.138, 104.244.42.1, 151.101.1.69 — can you batch-geolocate them and return the city and country for each?"},{"title":"Security alert triage for multiple IPs","prompt":"Our SIEM flagged these 8 IPs as potential threats — 91.108.4.1, 149.154.167.99, 77.88.55.66, 52.84.0.1, 13.107.42.14, 216.58.215.46, 172.217.16.46, 104.16.0.1 — please look them all up at once and give me each one's country, region, and ASN."}],"resultDescription":"An array of per-IP geo records, each containing fields like country, region, city, postcode, latitude, longitude, timezone, ISP name, organization, and ASN — mirroring the single /lookup/ip response structure but batched across all submitted IPs.","failureModes":["More than 20 IPs submitted — request rejected with validation error","Malformed or non-IP string in the array — that entry may error or return null fields","Private/reserved IP ranges (e.g. 192.168.x.x, 10.x.x.x) return no meaningful geo data","Empty ips array — may return empty results or an error","Network timeout if the upstream geo database is slow","Payment failure (x402) if USDC balance is insufficient"],"whenToPreferThis":"Use this endpoint when you need to geolocate multiple IPs simultaneously (up to 20) and want to minimize API calls. It is strictly more efficient than calling the single /lookup/ip endpoint repeatedly for each address. Ideal for log enrichment, fraud analysis, audience analytics, or security triage workflows where you have a batch of IPs ready. For a single IP, use /lookup/ip directly. For more than 20 IPs, split into multiple batch calls.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:30:32.021Z","isFirstParty":false}