Skip to content

Public API

Structured, read-only access to community compatibility reports of maps, buses, vehicles, mods, objects, plugins and tools running on openOMSI. Built for openOMSI developers, analysis tools, bots and integrations.

This is NOT an API for reporting openOMSI bugs. Bugs of the engine itself belong to the project's official channels. Here you only read what the community has tested.

⚠ PUBLIC API RATE LIMIT

6 requests per IP per 60 minutes

This API is intentionally heavily rate-limited because it is public and does not require authentication.

  • Design integrations to cache responses locally.
  • Do not poll the API continuously.
  • Use aggregate endpoints whenever possible: one call answers most questions.

The limit is shared by every public endpoint and applies to external consumers only; the website itself does not use this quota.

Quick start

Base URL: https://openomsi.omsimods.com.br/api/public/v1. Everything is JSON, GET only, no authentication. Start with the meta endpoint to discover the exact values accepted by the filters.

curl https://openomsi.omsimods.com.br/api/public/v1/meta
curl "https://openomsi.omsimods.com.br/api/public/v1/content?q=millennium&type=VEHICLE"

OpenAPI (JSON)

Rate limit, headers and errors

HTTP/1.1 429 Too Many Requests
Retry-After: 1234
RateLimit-Limit: 6
RateLimit-Remaining: 0
RateLimit-Reset: 1234

{
  "error": "rate_limit_exceeded",
  "message": "Public API limit reached. Try again later.",
  "retry_after": 1234
}

Practical use cases

Example values are illustrative; the shape of the responses is real.

1. Does Grand Paris Moulon work on Windows?

One call returns the summary by platform, issue categories, FPS distribution, versions tested and the latest reports. Read compatibility.by_platform.WINDOWS.

GET https://openomsi.omsimods.com.br/api/public/v1/content/grand-paris-moulon

Response (abridged)

{
  "compatibility": {
    "total_reports": 4,
    "works": 2,
    "works_with_issues": 2,
    "does_not_work": 0,
    "inconclusive": 0,
    "low_data": false,
    "by_platform": {
      "WINDOWS": {
        "reports": 4,
        "works": 2,
        "works_with_issues": 2,
        "does_not_work": 0,
        "inconclusive": 0,
        "latest_tested_openomsi_version": "0.1.126",
        "fps": {
          "samples": 3,
          "median": 38,
          "min": 28,
          "max": 60
        }
      }
    }
  },
  "issues": {
    "by_category": {
      "TEXTURES": 2,
      "SCRIPTS": 1
    },
    "reports_with_issues": 2
  },
  "performance": {
    "source": "user_reported",
    "fps": {
      "samples": 3,
      "median": 38,
      "min": 28,
      "max": 60
    },
    "load_time_seconds": {
      "samples": 2,
      "median": 95,
      "min": 80,
      "max": 110
    }
  },
  "latest_tested_openomsi_version": "0.1.126"
}

2. List maps tested on Android

Filter by type and platform. Each item already carries totals, platforms tested and the latest tested openOMSI version.

GET https://openomsi.omsimods.com.br/api/public/v1/content?type=MAP&platform=ANDROID&sort=reports&limit=20

Response (abridged)

{
  "data": [
    {
      "id": "cm0millennium1",
      "slug": "mapa-brigadeiro-sampaio",
      "name": "Mapa Brigadeiro Sampaio",
      "type": "MAP",
      "author": null,
      "current_version": null,
      "url": "https://openomsi.omsimods.com.br/conteudo/caio-millennium-brt-i-o500u",
      "source_url": "https://omsimods.com.br/",
      "image_url": null,
      "omsimodsbr_verified": true,
      "reports": {
        "total": 3,
        "works": 0,
        "works_with_issues": 3,
        "does_not_work": 0,
        "inconclusive": 0,
        "by_platform": {
          "WINDOWS": {
            "reports": 3,
            "works": 0,
            "works_with_issues": 3,
            "does_not_work": 0,
            "inconclusive": 0
          }
        }
      },
      "reports_with_issues": 3,
      "latest_tested_openomsi_version": "0.1.126",
      "latest_test_at": "2026-09-29T15:20:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

3. As an openOMSI developer, show texture problems in the current version

Filter reports by openOMSI version and issue category. Every report lists structured issue_categories plus the tester's description.

GET https://openomsi.omsimods.com.br/api/public/v1/reports?openomsi_version=0.1.126&issue_category=TEXTURES&limit=50

Response (abridged)

{
  "data": [
    {
      "id": "cm0report0001",
      "content": {
        "id": "cm0grandparis01",
        "slug": "grand-paris-moulon",
        "name": "Grand Paris Moulon",
        "type": "MAP"
      },
      "content_version": null,
      "openomsi_version": "0.1.126",
      "platform": "WINDOWS",
      "architecture": "X64",
      "result": "WORKS_WITH_ISSUES",
      "fps": {
        "avg": 41,
        "min": 28,
        "max": 60
      },
      "load_time_seconds": 95,
      "device": {
        "label": "Desktop GTX 1060",
        "model": null,
        "os_version": "Windows 11",
        "cpu": "Ryzen 5 3600",
        "gpu": "GTX 1060 6GB",
        "ram_gb": 16
      },
      "issue_categories": [
        "TEXTURES"
      ],
      "issue_description": "Windows of some black buses render with wrong textures.",
      "notes": null,
      "tested_at": "2026-09-29T17:02:00.000Z",
      "screenshot_url": null,
      "author": {
        "display_name": "tester"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

4. Detect a possible regression between versions

compare shows one content side by side in two versions; regressions lists every content that worked before and reports problems now. Results are only possible regressions, never confirmed ones.

GET https://openomsi.omsimods.com.br/api/public/v1/compatibility/compare?content=grand-paris-moulon&from=0.1.121&to=0.1.126
GET https://openomsi.omsimods.com.br/api/public/v1/compatibility/regressions?from=0.1.121&to=0.1.126&type=BUS

Response (abridged)

{
  "changes": [
    {
      "platform": "WINDOWS",
      "from": {
        "works": 3,
        "works_with_issues": 0,
        "does_not_work": 0,
        "inconclusive": 0
      },
      "to": {
        "works": 1,
        "works_with_issues": 3,
        "does_not_work": 0,
        "inconclusive": 0
      },
      "from_reports": 3,
      "to_reports": 4,
      "possible_regression": true
    }
  ],
  "possible_regression": true
}

5. Feed a Discord bot

Search by name, then build the answer from the first item: name, platform, result, latest tested version and number of reports. Cache it on your side.

GET https://openomsi.omsimods.com.br/api/public/v1/content?q=grand%20paris&platform=WINDOWS&limit=1

Response (abridged)

{
  "data": [
    {
      "name": "Grand Paris Moulon",
      "reports": {
        "total": 4,
        "works": 2,
        "works_with_issues": 2
      },
      "latest_tested_openomsi_version": "0.1.126"
    }
  ]
}

Suggested bot reply

Grand Paris Moulon
Windows
⚠ Works with issues
Latest tested: 0.1.126
Reports: 4

6. Which problems are reported most on Android?

The issues endpoint aggregates categories with the number of reports and of distinct contents; the platform endpoint adds the most reported devices and FPS.

GET https://openomsi.omsimods.com.br/api/public/v1/issues?platform=ANDROID&openomsi_version=0.1.126
GET https://openomsi.omsimods.com.br/api/public/v1/platforms/android

Response (abridged)

{
  "data": [
    {
      "category": "TEXTURES",
      "reports": 31,
      "contents": 18
    },
    {
      "category": "PHYSICS",
      "reports": 22,
      "contents": 14
    }
  ]
}

7. Current release and downloads

releases/latest returns the version, publication date, GitHub URL and the official download assets by platform and architecture.

GET https://openomsi.omsimods.com.br/api/public/v1/releases/latest

Response (abridged)

{
  "version": "0.1.126",
  "published_at": "2026-09-27T20:11:00.000Z",
  "github_url": "https://github.com/openOMSI-org/openOMSI/releases/tag/v0.1.126",
  "assets": [
    {
      "key": "android-arm64",
      "label": "Android ARM64",
      "platform": "ANDROID",
      "architecture": "ARM64",
      "type": "CLIENT",
      "name": "openOMSI-android-arm64.apk",
      "download_url": "https://github.com/openOMSI-org/openOMSI/releases/download/v0.1.126/openOMSI-android-arm64.apk",
      "size_bytes": 152043520
    }
  ]
}

8. Find content nobody has tested yet

has_reports=false lists approved content without reports; combine it with type or q.

GET https://openomsi.omsimods.com.br/api/public/v1/content?has_reports=false&type=MAP&limit=50

Response (abridged)

{
  "data": [
    {
      "name": "…",
      "type": "MAP",
      "reports": {
        "total": 0
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 312,
    "pages": 7
  }
}

Endpoints

All paths start with https://openomsi.omsimods.com.br/api/public/v1. The full machine-readable description is the OpenAPI document.

EndpointWhat it returns
GET /metaTaxonomies, limits and API version.
GET /statusOperational check (rate-limited too: do not poll it).
GET /contentContent search with report totals, platforms tested and latest tested version per item.
GET /content/{slug}One content in a single call: sources, compatibility, issues, performance, versions tested, devices and latest reports.
GET /reportsIndividual reports with structured issue categories, FPS, hardware and dates.
GET /compatibilityAggregate by openOMSI version, platform or content type.
GET /compatibility/compareOne content compared between two openOMSI versions.
GET /compatibility/regressionsPossible regressions between consecutive tested versions.
GET /issuesIssue categories ranked by reports and affected contents.
GET /platforms/{platform}Aggregate for one platform (android, windows, linux, macos).
GET /devicesHardware entered by testers, grouped and counted.
GET /runtime-reportsDevice tests of openOMSI itself (the session may never have started): hardware, OS, how far it got, graphics API, sanitized error text and an optional sanitized log. No content involved.
GET /runtime-reports/{id}One device test, with its sanitized log when there is one.
GET /releases/latestCurrent release and official download assets.
GET /releasesPaginated release history.

Device tests never expose the original log, IPs, e-mails, user names or account identifiers: only technical data and the sanitized log. They are community observations, not a benchmark or an official requirement.

Filters, pagination, sorting and fields

Parameters

ParameterDescription
qText search in content names and aliases.
typeContent type. Comma-separated list allowed.
platformPlatform of the report. Comma-separated list allowed.
resultResult reported by the tester. Comma-separated list allowed.
openomsi_versionopenOMSI version the test ran on.
issue_categoryIssue category attached to the report (AUDIO is accepted as an alias of SOUND). Comma-separated list allowed.
authorContent author (partial match).
has_reportstrue: only tested content; false: only content nobody has tested yet.
sortSort field.
orderSort direction.
pagePage number, starting at 1.
limitItems per page (maximum 50).
fieldsComma-separated top-level fields to keep in each item (optional; the default is the full item).
contentContent slug or id (exact), or part of its name.
architectureCPU architecture of the report. Comma-separated list allowed.
deviceText contained in the device name.
has_fpsOnly reports with (true) or without (false) an FPS value.
fromreports: tested on or after this ISO date. compare/regressions: older openOMSI version.
toreports: tested on or before this ISO date. compare/regressions: newer openOMSI version.
startup_stageHow far openOMSI got on the device. Comma-separated list allowed.
graphics_backendGraphics API chosen by the tester. Comma-separated list allowed.
gpuText contained in the GPU name.
cpuText contained in the CPU name.
manufacturerDevice manufacturer (partial match).
device_modelDevice model (partial match).
os_versionOS version (partial match).
media_indexing_observedAndroid: the tester reported that the gallery or media scanner was indexing OMSI images (true) or not (false).
has_logOnly tests with (true) or without (false) a sanitized log.
include_logInclude sanitized_log in each item (default false: the list only says has_sanitized_log).

Enums / Taxonomies

Generated from the application's own lists. AUDIO is accepted as an alias of SOUND in filters.

ContentType

ADDONMAPBUSVEHICLEMODSCENERYOBJECTSPLINEPLUGINTOOLOTHER

CompatibilityResult

WORKSWORKS_WITH_ISSUESDOES_NOT_WORKINCONCLUSIVE

Platform

ANDROIDWINDOWSLINUXMACOS

Architecture

X86X64ARM64UNKNOWN

IssueCategory

GRAPHICSTEXTURESPHYSICSSCRIPTSSOUNDCOLLISIONSPERFORMANCELOADINGCONTROLSMULTIPLAYERINTERFACECRASHOTHER

Performance data

FPS and load times are USER-REPORTED data, not a controlled benchmark. Statistics use the median first and always include sample size (samples), plus min and max.

Cache, CORS and versioning

Integration guidelines

About the data

Community reports are observations, not authoritative compatibility certification. A single report does not mean "this mod is compatible" nor "this is an openOMSI bug". Consider sample count, openOMSI version, platform, hardware, content version, issue category and consistency between reports.

Privacy

Responses never include Discord IDs, e-mails, IP addresses, sessions, notification subscriptions, moderation data or device identifiers. Reports show only the public display name and the hardware the tester chose to publish. In a report, issue_categories is structured while issue_description is the tester's single free-text description for the whole report.

https://openomsi.omsimods.com.br/api/openapi.json

Independent community database maintained by Portal OmsiModsBR. It is not an official certification by the openOMSI project or the content authors.

OMSI and openOMSI belong to their respective authors/owners. This site does not redistribute proprietary content: links point to the original sources and results are individual tests submitted by users.

Public API | openOMSI Compatibility