PredictIQ Pro

J1 League API

Fixtures, live scores, standings, bookmaker odds and match probabilities for J1 League as JSON over one REST API. One key, no scraping. Use league ID 49 to filter any endpoint to this league.

League ID

49

Upcoming now

33

Teams in table

23

Request this league

# Fixtures and results
curl "https://api.predictiqpro.com/fixtures/?league_id=49" \
  -H "Authorization: Token YOUR_API_KEY"

# Standings
curl "https://api.predictiqpro.com/standings/?league_id=49" \
  -H "Authorization: Token YOUR_API_KEY"
import requests

r = requests.get(
    "https://api.predictiqpro.com/fixtures/",
    params={"league_id": 49},
    headers={"Authorization": "Token YOUR_API_KEY"},
    timeout=15,
)
for m in r.json()["results"][:5]:
    print(m["home_team"], "vs", m["away_team"], m["status"])

What a fixture looks like

A real J1 League fixture from the API (114 in the last 60 to next 30 days). Each response carries more fields than shown here.

{
  "id": 212300,
  "status": "NS",
  "kickoff_time": "2026-10-24T05:00:00+00:00",
  "home_team": "Sanfrecce Hiroshima",
  "away_team": "Shimizu S-Pulse",
  "home_score": null,
  "away_score": null
}

Match probabilities come from the bookmaker consensus where odds exist and from a statistical model otherwise, and every response says which, in a basis field. See the methodology and the published accuracy record.

Browse the league itself on the J1 League page, or read the full API documentation.

Get J1 League data in your own app

Probabilities, odds, fixtures and live scores as JSON over one REST API. Try it free for 14 days, no card needed.

curl https://api.predictiqpro.com/fixtures/?league_id=49 \
  -H "Authorization: Token YOUR_API_KEY"