Documentation

Learn how to use the JProx API

# Introduction

JProx is a proxy API service using Japanese residential IP addresses. Access Japanese websites that are geo-restricted from outside Japan.

Supported Sites

mercari.comsuumo.jprakuten.co.jpyahoo.co.jpamazon.co.jpkakaku.comhotpepper.jpjalan.net

# Quick Start

1. Create Account

Sign up with your Google account on the login page.

2. Get API Key

Create a new API key on the API Keys page in your dashboard.

3. First Request

curl -X POST https://api.jprox.dev/api/v1/proxy \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.mercari.com/jp/"}'

# API Reference

POST/api/v1/proxy

Fetch content from a URL using a Japanese IP address

Headers

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Request Body

{
  "url": "https://example.com",    // Required: URL to fetch
  "method": "GET",                  // Optional: GET/POST (default: GET)
  "headers": {},                    // Optional: Custom headers
  "body": null,                     // Optional: Request body
  "options": {
    "timeout": 30                   // Optional: Timeout in seconds
  }
}

Response

{
  "success": true,
  "status_code": 200,
  "body": "<!DOCTYPE html>...",
  "headers": { ... },
  "request_id": "uuid",
  "credits_used": 1,
  "credits_remaining": 999,
  "rate_limit_remaining": 29
}
GET/api/v1/usage

Get current usage statistics

{
  "plan": "hobby",
  "year_month": "2026-01",
  "request_count": 150,
  "limit": 10000,
  "remaining": 9850,
  "usage_percentage": 1.5
}

# Rate Limits

API requests are subject to per-minute rate limits based on your plan:

PlanRequests/minMonthly Limit
Free101,000
Hobby3010,000
Starter100100,000
Pro300500,000
Enterprise1,0002,000,000

When rate limited, the API returns a 429 status code with a Retry-After header indicating when you can retry.

# Error Codes

CodeDescription
400Bad Request (invalid URL, etc.)
401Unauthorized (invalid API key)
403Forbidden (plan restrictions)
429Rate limit exceeded
500Server error

# Code Examples

Python

import requests

API_KEY = "pk_..."
BASE_URL = "https://api.jprox.dev"

response = requests.post(
    f"{BASE_URL}/api/v1/proxy",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={"url": "https://www.mercari.com/jp/"}
)

data = response.json()
print(data["body"])

Node.js

const API_KEY = "pk_...";
const BASE_URL = "https://api.jprox.dev";

const response = await fetch(`${BASE_URL}/api/v1/proxy`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ url: "https://www.mercari.com/jp/" })
});

const data = await response.json();
console.log(data.body);

# MCP Server (Claude Desktop)

To use JProx with Claude Desktop, add the following configuration:

~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "jprox": {
      "command": "npx",
      "args": ["-y", "@jprox/mcp"],
      "env": {
        "JPROX_API_KEY": "pk_..."
      }
    }
  }
}

After configuration, restart Claude Desktop. The following tools will be available:

  • fetch_url - Fetch content from Japanese websites
  • check_usage - Check API usage statistics