https://github.com/mohd-baquir-qureshi/airtel-xstream-apis
Unofficial APIs for Airtel Xstream Login and HLS link fetch.
https://github.com/mohd-baquir-qureshi/airtel-xstream-apis
airtel airtel-xstream hls-stream m3u8 m3u8-videos ott xstream xstream-play
Last synced: 3 months ago
JSON representation
Unofficial APIs for Airtel Xstream Login and HLS link fetch.
- Host: GitHub
- URL: https://github.com/mohd-baquir-qureshi/airtel-xstream-apis
- Owner: mohd-baquir-qureshi
- Created: 2024-09-08T17:58:33.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-09-08T20:24:12.000Z (8 months ago)
- Last Synced: 2025-01-12T14:45:20.741Z (4 months ago)
- Topics: airtel, airtel-xstream, hls-stream, m3u8, m3u8-videos, ott, xstream, xstream-play
- Homepage: https://axstream.vercel.app/
- Size: 2.93 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Airtel Xstream Unofficial API
This is a free unofficial API to login and fetch HLS Links from Airtel Xstream, this is created just to learn different encryption techniques used in backend, use it for educational purpose only.
---
###### **NOTE:** The mobile number must be a Airtel Number and must have a Active Plan.
---
## API Reference#### Send OTP
```
GET https://axstream.vercel.app/sendOtp
```| Parameter | Type | Description |
| :-------- | :------- | :------------------------- |
| `mobNo` | `string` | **Required**. 10 Digit Mobile No. |#### Send OTP Example
```
GET https://axstream.vercel.app/sendOtp?mobNo=1234567890
``````json
{
"did": "06e087c7-6c41-4f61-bb36-0f67jie8c390",
"message": "SMS sent",
"token": "CbWknul7IC3u35fJGNDd023IS4s=",
"uid": "7ABN_j__DAAkqsU5A3mqo2bRLhI2"
}
```#### Verify OTP and Login
```
POST https://axstream.vercel.app/verifyOtp
```| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `mobNo` | `string` | **Required**. The same mobile number used while sending the OTP. |
| `otp` | `string` | **Required**. OTP Received on Mobile Number. |
| `did` | `string` | **Required**. "did" value which we got from sendOtp response. |
| `token` | `string` | **Required**. "token" value which we got from sendOtp response. |
| `uid` | `string` | **Required**. "uid" value which we got from sendOtp response. |#### Verify OTP and Login Code Sample in Javascript using Fetch
```
const formdata = new FormData();
formdata.append("mobNo", "1234567890");
formdata.append("otp", "0101");
formdata.append("did", "06e087c7-6c41-4f61-bb36-0f67jie8c390");
formdata.append("token", "CbWknul7IC3u35fJGNDd023IS4s=");
formdata.append("uid", "7ABN_j__DAAkqsU5A3mqo2bRLhI2");
const requestOptions = {
method: "POST",
body: formdata
};
fetch("https://axstream.vercel.app/verifyOtp", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
``````json
{
"authToken": "gK/qwuFRTkXqqduoSkw4iN+mv13/hU9kkNBusJPkDjnX4b34TxuMICZSSyvccnXz",
"did": "06e087c7-6c41-4f61-bb36-0f67jie8c390",
"mobNo": "1234567890",
"token": "/tmUqB08ffDHmHIuSfeVv9gUsN8=",
"uid": "mVUzsG_pUijCS66hL0"
}
```---
###### **NOTE:** The token and uid parameters will be different from request, so the response from verifyOtp on your system or server to fetch the HLS Streams.
---#### Fetch HLS Stream
```
POST https://axstream.vercel.app/getStream
```| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `string` | **Required**. Content ID which you will get from URL - https://www.airtelxstream.in/movies/welcome/SHEMAROOME_MOVIE_5f20071fa609d206c800aa88 => Here "SHEMAROOME_MOVIE_5f20071fa609d206c800aa88" is the id. |
| `uid` | `string` | **Required**. "uid" value which we got from verifyOtp response. |
| `token` | `string` | **Required**. "token" value which we got from verifyOtp response. |
| `authToken` | `string` | **Required**. "authToken" value which we got from verifyOtp response. |
| `did` | `string` | **Required**. "did" value which we got from verifyOtp response. |#### Fetch HLS Stream Code Sample in Javascript using Fetch
```
const formdata = new FormData();
formdata.append("id", "SHEMAROOME_MOVIE_5f20071fa609d206c800aa88");
formdata.append("uid", "mVUzsG_pUijCS66hL0");
formdata.append("token", "/tmUqB08ffDHmHIuSfeVv9gUsN8=");
formdata.append("authToken", "gK/qwuFRTkXqqduoSkw4iN+mv13/hU9kkNBusJPkDjnX4b34TxuMICZSSyvccnXz");
formdata.append("did", "06e087c7-6c41-4f61-bb36-0f67jie8c390");const requestOptions = {
method: "POST",
body: formdata
};fetch("https://axstream.vercel.app/getStream", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
``````json
{
"abr": {
"default": "auto"
},
"contentId": "SHEMAROOME_MOVIE_5f20071fa609d206c800aa88",
"contentType": "MOVIE",
"cp": "SHEMAROOME",
"deviceLimitExceeded": false,
"playback": {
"imaEnabled": false,
"method": "GET",
"playUrl": "https://d1kareb10k4vf4.cloudfront.net/shemaroo-vod/altplatform/63edc06a8530b80ace7ab621/main_playlist.m3u8",
"sendQueryParams": false,
"supportsDVR": false
},
"playbackType": "VOD",
"plg": "hi",
"requestId": "0.64987321-1725826083778",
"subs": {
"en": "https://d1hisuiegdphro.cloudfront.net/shemaroo-vod/altplatform/63edc06a8530b80ace7ab621/Welcome.srt"
},
"success": true
}
```Made with ❤️ in India.