Scraper
Fetches meta and OGP information from a URL.
MCP tool: get_page_meta
GET /v1/scraper/meta
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | ✓ | URL to fetch (http/https only) |
Request example:
curl "https://api.thousand-api.com/v1/scraper/meta?url=https://example.com" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"url": "https://example.com",
"title": "Example Domain",
"description": "This domain is for use in illustrative examples.",
"favicon": "https://example.com/favicon.ico",
"ogp": {
"title": null,
"description": null,
"image": null,
"url": null,
"site_name": null,
"type": null
},
"canonical": "https://example.com/"
}ExchangeRate
Returns real-time exchange rates and currency conversion.
MCP tool: get_exchange_rate
GET /v1/exchangerate
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| from | string | ✓ | Source currency code (e.g. JPY) |
| to | string | ✓ | Target currency code (e.g. USD) |
| amount | number | - | Amount to convert (defaults to 1) |
Request example:
curl "https://api.thousand-api.com/v1/exchangerate?from=JPY&to=USD&amount=1000" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"from": "JPY",
"to": "USD",
"rate": 0.0067,
"amount": 1000,
"converted": 6.7,
"timestamp": "2026-05-20T00:00:00.000Z"
}Postal Lookup
Bidirectional lookup of Japanese postal codes and addresses. Forward lookup: postal code → full address. Reverse lookup: address keyword → matching postal codes. Uses official Japan Post data (~120k records), so it covers newly created and discontinued codes that LLMs may not know.
MCP tool: lookup_postal_code
The country parameter is designed for future international support. Currently only JP (Japan) is supported.
GET /v1/postal/lookup
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | - | Postal code for forward lookup. 7 digits or XXX-XXXX (e.g. 358-0001) |
| address | string | - | Address keyword for reverse lookup. Partial match on prefecture, city, town, or kana (e.g. 向陽台, 入間) |
| country | string | - | Country code (default: JP). Currently JP only |
| limit | integer | - | Max results for reverse lookup (default: 10, max: 50) |
Response fields:
| Parameter | Description |
|---|---|
| query | Request parameters (code / address / country) |
| results | Matching postal records |
| results[].code | Postal code without hyphen (7 digits) |
| results[].code_formatted | Postal code with hyphen |
| results[].prefecture | Prefecture name |
| results[].prefecture_kana | Prefecture name in katakana |
| results[].city | City / ward name |
| results[].city_kana | City name in katakana |
| results[].town | Town / district name |
| results[].town_kana | Town name in katakana |
| results[].full_address | Prefecture + city + town combined |
| results[].country | Country code |
| count | Number of results returned |
| truncated | Whether results were limited by limit (reverse lookup only) |
Request example:
Example 1: Forward lookup (postal code → address)
curl "https://api.thousand-api.com/v1/postal/lookup?code=358-0001" \
-H "x-api-key: YOUR_API_KEY"{
"query": { "code": "358-0001", "country": "JP" },
"results": [
{
"code": "3580001",
"code_formatted": "358-0001",
"prefecture": "埼玉県",
"prefecture_kana": "サイタマケン",
"city": "入間市",
"city_kana": "イルマシ",
"town": "向陽台",
"town_kana": "コウヨウダイ",
"full_address": "埼玉県入間市向陽台",
"country": "JP"
}
],
"count": 1,
"truncated": false
}Example 2: Reverse lookup by city (multiple matches)
curl "https://api.thousand-api.com/v1/postal/lookup?address=%E5%85%A5%E9%96%93%E5%B8%82" \
-H "x-api-key: YOUR_API_KEY"{
"query": { "address": "入間市", "country": "JP" },
"results": [
{
"code": "3580001",
"code_formatted": "358-0001",
"prefecture": "埼玉県",
"city": "入間市",
"town": "向陽台",
"full_address": "埼玉県入間市向陽台",
"country": "JP"
}
],
"count": 10,
"truncated": true
}Example 3: Reverse lookup by town (partial match)
curl "https://api.thousand-api.com/v1/postal/lookup?address=%E5%90%91%E9%99%BD%E5%8F%B0" \
-H "x-api-key: YOUR_API_KEY"{
"query": { "address": "向陽台", "country": "JP" },
"results": [
{
"code": "3580001",
"code_formatted": "358-0001",
"prefecture": "埼玉県",
"city": "入間市",
"town": "向陽台",
"full_address": "埼玉県入間市向陽台",
"country": "JP"
}
],
"count": 1,
"truncated": false
}IPLookup
Returns geographic information for an IP address (country, region, city, coordinates).
MCP tool: get_ip_info
GET /v1/iplookup
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | - | IP address to look up (defaults to the request source IP) |
Request example:
curl "https://api.thousand-api.com/v1/iplookup?address=8.8.8.8" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"is_valid": true,
"address": "8.8.8.8",
"country": "United States",
"country_code": "US",
"region": "California",
"city": "Mountain View",
"zip": "94043",
"lat": 37.4223,
"lon": -122.0847
}URL Resolve
Follows HTTP redirects to the final URL. Use for short links, affiliate URLs, and link safety checks. Combine with the Scraper tool to fetch page metadata after resolving.
MCP tool: resolve_url
GET /v1/url/resolve
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | ✓ | URL to resolve (http/https only) |
The url query parameter must be URL-encoded (e.g. https://bit.ly/xxxxx → https%3A%2F%2Fbit.ly%2Fxxxxx).
Request example:
curl "https://api.thousand-api.com/v1/url/resolve?url=https%3A%2F%2Fbit.ly%2Fxxxxx" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"original": "https://bit.ly/xxxxx",
"final": "https://example.com/product/123",
"redirects": [
"https://bit.ly/xxxxx",
"https://example.com/product/123"
],
"redirect_count": 1,
"has_redirect": true
}Response fields:
| Parameter | Description |
|---|---|
| original | Requested URL |
| final | Final URL after following redirects |
| redirects | Ordered list of URLs visited (from original to final) |
| redirect_count | Number of redirects (redirects.length - 1) |
| has_redirect | True when at least one redirect was followed |
| truncated | Present and true when the 10-hop limit was reached |
Response:
Only http and https are followed. Each hop times out after 5 seconds. Up to 10 redirects; when the limit is reached, truncated is true.
URL Health Check
Checks a URL's HTTP status code, response time, and SSL certificate details. Combine with resolve_url to inspect the final destination of shortened URLs.
MCP tool: inspect_url
GET /v1/url/inspect
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | ✓ | URL to inspect (http/https only) |
Request example:
curl "https://api.thousand-api.com/v1/url/inspect?url=https%3A%2F%2Fwww.thousand-api.com" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"url": "https://www.thousand-api.com",
"status_code": 200,
"response_time_ms": 234,
"reachable": true,
"headers": {
"content-type": "text/html",
"x-frame-options": "DENY"
},
"ssl": {
"valid": true,
"expires_at": "2027-01-01T00:00:00.000Z",
"days_remaining": 220,
"issuer": "Amazon"
}
}DNS Lookup
Look up DNS records for a domain. Supports A, AAAA, CNAME, MX, TXT, and NS using Node.js built-in dns (no external dependencies).
MCP tool: dns_lookup
GET /v1/dns/lookup
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | ✓ | Domain name to look up |
| type | string | - | A / AAAA / CNAME / MX / TXT / NS / all (default: all) |
Request example:
curl "https://api.thousand-api.com/v1/dns/lookup?domain=example.com&type=all" \
-H "x-api-key: YOUR_API_KEY"Response example:
{
"domain": "example.com",
"type": "all",
"records": {
"A": ["93.184.216.34"],
"NS": ["a.iana-servers.net", "b.iana-servers.net"],
"TXT": ["v=spf1 -all"]
}
}