Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: ISHOB Geocode API
version: 1.0.0
description: 'ISHOB is an x402-enabled utility gateway for autonomous agents: scheduled callbacks (agent alarms), token and wallet security checks, weather and location risk, document rendering, web extraction, company data and an open-licence research archive. Pay per call in USDC on Base; no account or API key.'
contact:
name: ISHOB
email: contact@ishob.com
url: https://ishob.com
x-guidance: 'ISHOB is a gateway of tools for AI agents. Every operation with x-payment-info is paid per call with x402 (USDC on Base): call it, read the 402 PAYMENT-REQUIRED header, sign with an x402 client and retry. Invalid input is rejected with 400 before any payment is requested. The same tools are available over MCP at POST /mcp. Tool docs: https://ishob.com/tools'
servers:
- url: https://api.ishob.com
tags:
- name: Geocode
paths:
/v1/geocode:
get:
operationId: geocode
summary: 'Offline geocoding (GeoNames + DB-IP, CC BY 4.0): exactly one of ip (IPv4/IPv6…'
description: 'Offline geocoding (GeoNames + DB-IP, CC BY 4.0): exactly one of ip (IPv4/IPv6 -> country/region/city/lat,lon), q (place name, e.g. ''Springfield, IL, US'', optional country filter), postcode (+country), or lat+lon (reverse: nearest places). City/place level; no street addresses.'
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: geocode
responses:
'200':
description: Result (JSON); PAYMENT-RESPONSE header carries the settlement receipt
'400':
description: Invalid input (no payment requested)
'402':
description: 'Payment required: PAYMENT-REQUIRED header (base64 JSON) lists accepted payment requirements'
'403':
description: robots.txt disallows the target (no payment requested)
'404':
description: Not found (no payment requested)
'503':
description: Backend temporarily unavailable (no payment requested)
parameters:
- name: ip
in: query
required: false
schema:
type: string
description: Public IPv4/IPv6 address
description: Public IPv4/IPv6 address
- name: q
in: query
required: false
schema:
type: string
maxLength: 200
description: Place name; qualifiers after commas (region, country)
description: Place name; qualifiers after commas (region, country)
example: Paris, France
- name: postcode
in: query
required: false
schema:
type: string
maxLength: 16
- name: country
in: query
required: false
schema:
type: string
maxLength: 64
description: ISO alpha-2/3 or English name
description: ISO alpha-2/3 or English name
- name: lat
in: query
required: false
schema:
type: number
minimum: -90
maximum: 90
- name: lon
in: query
required: false
schema:
type: number
minimum: -180
maximum: 180
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 10
default: 5
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Geocode