> For the complete documentation index, see [llms.txt](https://soradocs.gitbook.io/sora-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://soradocs.gitbook.io/sora-documentation/main-json.md).

# Main JSON

**Sora** uses a simple JSON file to manage and integrate different streaming modules. You can easily configure new modules by editing this JSON file, adding details like the source name, URLs, and streaming settings.

**JSON Fields:**

<table><thead><tr><th width="186">Fields</th><th width="98">Type</th><th width="248">Description</th><th data-type="checkbox">Required?</th><th>Variables</th></tr></thead><tbody><tr><td>sourceName</td><td>string</td><td>Name of the source.</td><td>true</td><td>-</td></tr><tr><td>author</td><td>-</td><td>Information about the modules author, including name and icon.</td><td>true</td><td>-</td></tr><tr><td>name</td><td>string</td><td>Name of the author.</td><td>true</td><td>-</td></tr><tr><td>icon</td><td>string</td><td>Icon of the author.</td><td>true</td><td>-</td></tr><tr><td>iconUrl</td><td>string</td><td>URL to the modules icon.</td><td>true</td><td>-</td></tr><tr><td>version</td><td>integer</td><td>Version of the module.</td><td>true</td><td>-</td></tr><tr><td>language</td><td>string</td><td>Language of the module.</td><td>true</td><td>-</td></tr><tr><td>baseUrl</td><td>string</td><td>baseUrl of the source.</td><td>true</td><td>-</td></tr><tr><td>streamType</td><td>string</td><td>Stream type of the module.</td><td>true</td><td>HLS, MP4</td></tr><tr><td>quality</td><td>string</td><td>Quality of the stream.</td><td>true</td><td>360p, 720p, 1080p</td></tr><tr><td>searchBaseUrl</td><td>string</td><td>Search url of the source.<br><br>Make sure to include <strong><code>%s</code></strong> in the place where the search query will go.</td><td>true</td><td>%s</td></tr><tr><td>scriptUrl</td><td>string</td><td>Url to the raw link of the JavaScript file.</td><td>true</td><td>-</td></tr><tr><td>asyncJS</td><td>string</td><td>Set to true to load the script asynchronously.</td><td>false</td><td>true, false</td></tr><tr><td>streamAsyncJS</td><td>string</td><td>Set to true to only load the stream function asynchronously.</td><td>false</td><td>true, false</td></tr><tr><td>softsub</td><td>string</td><td>Set to true to load subtitles.</td><td>false</td><td>true, false</td></tr></tbody></table>

**Full format:**

{% code lineNumbers="true" %}

```json
{
   "sourceName": "YourSourceName",
   "iconUrl": "https://your-source.com/icon.png",
   "author": {
       "name": "AuthorName",
       "icon": "https://your-source.com/author-icon.png"
   },
   "version": "1.0.0",
   "language": "English (DUB)",
   "streamType": "HLS",
   "quality": "720p",
   "baseUrl": "https://api.your-source.com/",
   "searchBaseUrl": "https://your-source.com/search=%s",
   "scriptUrl": "https://your-source.com/script.js",
   "asyncJS": true,
   "streamAsyncJS": false.
   "softsub": true
}
```

{% endcode %}

**Example:**

{% code lineNumbers="true" %}

```json
{
   "sourceName": "Hianime",
   "iconUrl": "https://raw.githubusercontent.com/50n50/maisgay/refs/heads/main/hianime/icon.png",
   "author": {
       "name": "50/50",
       "icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:&s"
   },
   "version": "1.0.1",
   "language": "English (DUB)",
   "streamType": "HLS",
   "quality": "720p",
   "baseUrl": "https://api.animemundo.net/",
   "searchBaseUrl": "https://api.animemundo.net/api/v2/hianime/search?q=%s",
   "scriptUrl": "https://raw.githubusercontent.com/50n50/maisgay/refs/heads/main/hianime/hianime.js",
   "asyncJS": true
}
```

{% endcode %}
