Japan Dev APIjapan-dev.com ↗
Access curated IT job postings from Japan Dev via API. Filter by keyword, paginate results, and retrieve job title, company, tech stack, and location data.
What is the Japan Dev API?
The Japan Dev API exposes one endpoint, list_jobs, that returns paginated IT job listings from Japan Dev's curated English-friendly job board for engineers in Japan. Each result includes 6 structured fields: job title, company name, location, tech stack, experience level, and a direct job URL. Free-text search lets you filter by technology or role type, making it practical for building job aggregators or market research tools targeting Japan's tech sector.
curl -X GET 'https://api.parse.bot/scraper/1176c7b3-cd27-4060-8e91-4d1677be52fc/list_jobs?query=engineer' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace japan-dev-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Japan Dev Jobs SDK — search and browse tech jobs in Japan."""
from parse_apis.japan_dev_com_api import JapanDev, ParseError
client = JapanDev()
# Browse recent job listings, capped to 5 total items.
for job in client.jobs.list(limit=5):
print(job.job_title, "—", job.company_name, f"({job.location})")
# Search for Python-related roles; take the first match and inspect it.
try:
hit = client.jobs.list(query="python", limit=1).first()
except ParseError as e:
print(f"Extraction failed ({e.code}): {e}")
hit = None
if hit is not None:
print(f"\nFirst Python hit: {hit.job_title}")
print(f" Company: {hit.company_name}")
print(f" Level: {hit.experience_level}")
print(f" Stack: {', '.join(hit.tech_stack)}")
print(f" URL: {hit.job_url}")
print("\nexercised: jobs.list (browse + search)")
List job postings from Japan Dev. Returns paginated results with job title, company, location, tech stack, experience level, and direct URL. Supports free-text search via the query parameter. Pagination is controlled by offset and limit; omitting them returns the first 20 results. The total field in the response is an estimate from the search engine.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of jobs to return per request. Clamped to 100. |
| query | string | Free-text search query to filter jobs (e.g. 'python', 'frontend'). Omitting returns all jobs. |
| offset | integer | Number of results to skip for pagination. |
{
"type": "object",
"fields": {
"jobs": "array of job objects with job_title, company_name, location, tech_stack, experience_level, job_url",
"limit": "integer, current limit",
"total": "integer, estimated total number of matching jobs",
"offset": "integer, current offset"
},
"sample": {
"data": {
"jobs": [
{
"job_url": "https://japan-dev.com/jobs/amptalk/amptalk-sr-software-engineer-ai-product-lg2ani",
"location": "Tokyo",
"job_title": "Sr. Software Engineer (AI Product)",
"tech_stack": [
"Web / Full-stack",
"Python",
"AWS"
],
"company_name": "amptalk",
"experience_level": "Senior"
}
],
"limit": 5,
"total": 283,
"offset": 0
},
"status": "success"
}
}About the Japan Dev API
What the API Returns
The list_jobs endpoint returns an array of job objects sourced from Japan Dev, a curated board targeting English-speaking software engineers and tech professionals working in or relocating to Japan. Each object in the jobs array includes job_title, company_name, location, tech_stack, experience_level, and job_url. The response also returns total (estimated count of matching jobs), limit, and offset to support pagination.
Filtering and Pagination
The query parameter accepts free-text input — values like python, frontend, or rails will filter the results accordingly. Omitting query returns all available listings. Pagination is controlled by offset (number of results to skip) and limit (results per page, capped at 100). If neither is provided, the endpoint defaults to the first 20 results. This makes it straightforward to page through the full dataset in sequential requests.
Data Scope and Freshness
Japan Dev focuses specifically on tech roles at companies open to hiring English speakers, so listings here differ from general Japanese job boards. The tech_stack field reflects the technologies listed per job, useful for filtering programmatically beyond the keyword search. The experience_level field distinguishes between junior, mid, and senior roles where that information is available in the source listing. The job_url field links directly to the individual job posting on Japan Dev.
The Japan Dev API is a managed, monitored endpoint for japan-dev.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when japan-dev.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official japan-dev.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a job alert tool that monitors new Python or React listings in Japan using the
queryparameter - Aggregate Japan Dev listings into a broader multi-source job board for English-speaking engineers
- Analyze which tech stacks (
tech_stack) appear most frequently in Japanese IT job postings - Compare experience level distribution (
experience_level) across different tech disciplines in Japan - Power a Slack bot or newsletter that surfaces remote-friendly Japan roles filtered by keyword
- Research which companies are actively hiring engineers in Tokyo versus other Japanese cities using the
locationfield - Feed a portfolio or career tool that surfaces relevant Japan Dev postings based on a user's skill input
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Japan Dev have an official developer API?+
What does the `list_jobs` endpoint return for each job?+
job_title, company_name, location, tech_stack, experience_level, and job_url. The response also includes total, offset, and limit fields for pagination. The job_url links directly to the full listing on Japan Dev.Can I filter jobs by location or experience level specifically?+
query parameter, which matches against job content broadly. Dedicated filters for location or experience_level are not available as separate parameters. You can fork this API on Parse and revise it to add those filter parameters.Does the API return full job descriptions or application details?+
How does pagination work and is there a hard limit per request?+
offset and limit parameters. The limit is capped at 100 results per request. Omitting both parameters returns the first 20 results. Use offset incrementally to page through the full result set. The total field in each response gives an estimated count of matching jobs for the current query.