Build with MYETV

Leverage the power of our OAuth 2.0 based RESTful APIs to integrate content publishing directly into your applications.

Create your first App Read the Documentation

API Documentation (v1)

Welcome to the official MYETV API documentation. All requests must be made over HTTPS to the https://developers.myetv.tv domain.

User Area: End users can manage and revoke access to third-party apps from the Authorized Apps page on the main site.

1. Authentication (OAuth 2.0)

MYETV uses the standard Authorization Code flow to allow apps to securely access user accounts.

Identity Selection: During the authorization phase, the user will be asked to choose whether to grant access to their Personal Account or one of their managed Networks. The generated Access Token will be permanently bound to the selected entity.

Security Notice: API endpoints are protected by application-level firewalls and rate limiters to ensure platform stability. Repeated failed authentication attempts will result in a temporary IP ban.

Step 1: Request Authorization

Redirect the user to this URL to request their consent:

GET /api/oauth/authorize.php?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code

If the user accepts, they will be redirected back to your redirect_uri with a ?code=... parameter.

Step 2: Exchange Code for Token

Your server must exchange the received code for an Access Token by making a POST request:

POST /api/oauth/token.php
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&redirect_uri=YOUR_REDIRECT_URI
&code=RECEIVED_CODE

Success Response:

{
  "access_token": "f8a9b2c3d4e5f6g7h8i9...",
  "token_type": "Bearer",
  "expires_in": 5184000
}

2. Get Profile Information

Once you have an Access Token, you can retrieve the details of the connected entity (Account or Network). The API automatically determines the correct entity based on the token provided.

Endpoint

GET /api/v1/profile.php

Required Headers

Success Response (JSON):

{
  "id": "a1b2c3d4",
  "type": "account", // Can be 'account' or 'network'
  "name": "John Doe",
  "username": "johndoe89",
  "avatar": "https://www.myetv.tv/.../avatar.jpg",
  "profile_url": "https://www.myetv.tv/account/..."
}

3. Publish Content (POST Endpoint)

Use the Access Token to publish text, links, or images. Note: You do not need to specify who is publishing in the JSON payload. The API natively routes the post to the User's Board or the Network's Wall depending on the identity bound to the token.

Endpoint

POST /api/v1/publishcontents.php

Required Headers

JSON Payload (Examples)

Example A: Plain Text Post

{
  "type": "text",
  "text": "This is a post sent via API! XD",
  "privacy": "public"
}

Example B: Link Sharing with Title & Preview Image

{
  "type": "link",
  "title": "Check out this awesome website!",
  "text": "Here are my thoughts on this...",
  "link_url": "https://www.example.com",
  "image_url": "https://www.example.com/preview.jpg",
  "privacy": "onlyfriends"
}

Example C: Image Publishing (Direct Upload)

{
  "type": "image",
  "text": "My new photo via API",
  "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQE...",
  "privacy": "public"
}

Payload Parameters

Field Type Description
type String Required. Allowed values: text, link, image.
title String Optional. The title of the content or the link being shared.
text String The text content or caption of the post.
link_url String (URL) Required if type is link. The API automatically detects authorized platforms (e.g., YouTube, Vimeo, Twitch).
image_url String (URL) Optional. Direct URL to an external image, ideal for link previews or RSS feed thumbnails (saves bandwidth compared to base64).
image_base64 String (Base64) Required if type is image and no image_url is provided. The Base64 encoded image (must include the data:image prefix). Max payload size is 10MB.
eflash String Optional. A comment or brief caption associated with the content or link.
scheduled_time String (Datetime) Optional. Desired future publication date and time (e.g., 2026-11-27 13:30:00). If omitted or past, publishes immediately.
timezone String (TZ) Optional. Default: UTC. The Timezone identifier (e.g., Europe/Rome).
privacy String Optional. Default: public. Allowed values: public, onlylogged, onlyfriends, private.
category_id Integer Optional. Default: 1. The numeric ID representing the content category (see Appendix below).
language String (ISO3) Optional. Default: nts. The ISO3 code of the content language.
country String (ISO3) Optional. Default: INT. The ISO3 code of the content origin country.

Response (201 Created)

{
  "status": "success",
  "message": "Content published successfully.",
  "content_id": "4b2a8d1e",
  "url": "https://www.myetv.tv/play/4b2a8d1e"
}

4. Appendix: Category IDs

When publishing content, use the following numeric IDs for the category_id parameter:

ID Category Name
1Generic Content (general)
2Animals
3Autos and Vehicles (motors)
4How to...
5Film
6Games
7Education
8Music
9News
10NoProfit
11Blogs
12Science
13Shows
14Sport
15Events
16Funny Contents
17Pictures and Animated Images
18Advertisement
19Live Streaming
20Nature
21Style
22People
23Politic
24Travels
25Animation
26Activism
27Technology
28Television
29Series
30Entertainment
31Television Show
32History
33From the Web (online)
34Away From Keyboard (afk)
35Exploration
36Justice
37Legality
38Documentary
39Geography
40Mythology
41Geopolitics

5. Common Error Codes