Compare commits

...

18 commits

Author SHA1 Message Date
ChunkyProgrammer
7bfc59648e
Merge 5b7f60446c into c3bac1b3bb 2024-05-18 11:52:18 -04:00
perennial
c3bac1b3bb
Add invidious.incogniweb.net to the instance list (#559)
Closes #532
2024-05-16 15:09:51 +10:00
perennial
f9535adcd4
Add inv.in.projectsegfau.lt to the instance list (#558)
Closes #535
2024-05-16 13:41:31 +10:00
einfachzocken
9b181d36b9
add invidious.materialio.us to the instance list
closes #529
2024-05-15 22:28:18 +02:00
einfachzocken
0722501b8c
add invidious.reallyaweso.me to the instance list
closes #531
2024-05-15 22:20:01 +02:00
Sebastian Hädrich
d984302483
fix(api) 🏷️ Add missing property "playback" to /stats API endpoint (#555)
* fix(api) 🏷️ Add missing property "playback" to /stats API endpoint

* fix(api) 🏷️ Add missing sub properties to "playback"
2024-05-15 18:54:33 +02:00
Emilien Devos
1b68e2610f remove automatic add to status page + add apdex_t for updown.io 2024-05-15 13:52:00 +02:00
Émilien (perso)
c1d870cb15
Add part for matrix username (#556)
* Add part for matrix username

* Fix broken english + better wording

---------

Co-authored-by: TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com>
2024-05-15 13:36:05 +02:00
einfachzocken
d38aaf105a
Remove instance inv.oikei.net (#553)
closes #552
2024-05-07 19:05:58 +02:00
Sebastian Hädrich
29c528970d
fix(api) 🏷️ Add missing properties to /videos API endpoint (#551)
– type
– storyboards
– isPostLiveDvr
– dashUrl
2024-05-05 00:13:58 +02:00
ChunkyProgrammer
5b7f60446c update search-filters.md and url-parameters.md to include api changes 2024-04-10 07:56:54 -04:00
ChunkyProgrammer
6b3cc69615 update param description for community post comments 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
b39027c2bd fix resolveurl name 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
52bed068d3 add missing endpoints 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
6bc6c505ca Remove channels search documentation from api.md page 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
b88dc233e3 Remove channels/comments documentation 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
d7c8d473a2 remove news from trending type 2024-04-10 07:45:50 -04:00
ChunkyProgrammer
2316de913d Fix documentation on search's sort parameter 2024-04-10 07:45:50 -04:00
7 changed files with 153 additions and 218 deletions

View file

@ -17,10 +17,6 @@ body:
- Improving the performance and the stability of your public instance: https://docs.invidious.io/improve-public-instance/
It is highly recommended to follow these tutorials because it will allow the instance to stay stable and performant over the long term.
Please consider joining our Matrix room for public instance maintainers by joining our Matrix room: https://matrix.to/#/#invidious:matrix.org
then pinging @unixfox, @TheFrenchGhosty and @SamantazFox for asking to be invited to the Matrix room.
We discuss troubles managing a public instance, sharing some advices and more.
- type: input
id: url
@ -89,6 +85,15 @@ body:
validations:
required: false
- type: input
id: matrix-username
attributes:
label: Your matrix username
description: "Please input your Matrix username here to join the private Matrix room for public instances maintainers. We discuss troubles managing a public instance, share some advices and more. Optional but highly recommended."
placeholder: "matrixuser"
validations:
required: false
- type: textarea
id: more-infos
attributes:

View file

@ -62,43 +62,14 @@ jobs:
period: '300',
mute_until: 'forever',
published: 'true',
apdex_t: '1.0',
alias: instanceHostname,
string_match: 'An alternative front-end to YouTube' } };
request(optionsAddNewCheck, async function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
if (body.token) {
var optionsGetStatusPages = {
method: 'GET',
url: 'https://updown.io/api/status_pages?api-key=${{ secrets.UPDOWN_API_KEY }}',
json: true
};
request(optionsGetStatusPages, async function (error, response, body) {
if (error) throw new Error(error);
const statusPage = body.filter(element => element.token === "resvf");
let checksOfStatusPage = statusPage[0].checks;
checksOfStatusPage.push(body.token)
var optionsAddCheckToStatusPage = {
method: 'PUT',
url: 'https://updown.io/api/status_pages/resvf?api-key=${{ secrets.UPDOWN_API_KEY }}',
headers: {
'content-type': 'application/json'
},
json: {checks: checksOfStatusPage}
};
request(optionsAddCheckToStatusPage, async function (error, response, body) {
if (error) throw new Error(error);
console.log(body)
});
});
var replyComment =
['Hello! Your instance has been added to our monitoring system: https://updown.io/' + body.token,
'You need to wait 30 days before we add your instance, this is to evaluate that your instance will keep a good uptime for one month.',

View file

@ -27,6 +27,11 @@ All endpoints that return a JSON body support `&hl=LANGUAGE` for translating fie
"metadata": {
"updatedAt": Int64,
"lastChannelRefreshedAt": Int64
},
"playback": {
"totalRequests": Int32?
"successfulRequests": Int32?
"ratio": Float32?
}
}
```
@ -37,6 +42,7 @@ All endpoints that return a JSON body support `&hl=LANGUAGE` for translating fie
```javascript
{
"type": String, // "video"|"published"
"title": String,
"videoId": String,
"videoThumbnails": [
@ -47,6 +53,19 @@ All endpoints that return a JSON body support `&hl=LANGUAGE` for translating fie
"height": Int32
}
],
"storyboards": [
{
"url": String,
"templateUrl": String,
"width": Int32,
"height": Int32,
"count": Int32,
"interval ": Int32,
"storyboardWidth": Int32,
"storyboardHeight": Int32,
"storyboardCount": Int32
}
],
"description": String,
"descriptionHtml": String,
@ -82,7 +101,9 @@ All endpoints that return a JSON body support `&hl=LANGUAGE` for translating fie
"rating": Float32,
"isListed": Bool,
"liveNow": Bool,
"isPostLiveDvr": Bool,
"isUpcoming": Bool,
"dashUrl:" String,
"premiereTimestamp": Int64?,
"hlsUrl": String?,
@ -280,7 +301,7 @@ Captions can also be selected with an ISO `lang`, e.g. &lang=en, `tlang` will au
Parameters:
```
type: "music", "gaming", "news", "movies"
type: "music", "gaming", "movies", "default"
region: ISO 3166 country code (default: "US")
```
@ -316,183 +337,6 @@ region: ISO 3166 country code (default: "US")
]
```
##### GET `/api/v1/channels/comments/:ucid`, `/api/v1/channels/:ucid/comments`
```javascript
{
"authorId": String,
"comments": [
{
"author": String,
"authorThumbnails": [
"url": String,
"width": Int32,
"height": Int32
],
"authorId": String,
"authorUrl": String,
"isEdited": Bool,
"content": String,
"contentHtml": String,
"published": Int64,
"publishedText": String,
"likeCount": Int32,
"commentId": String,
"authorIsChannelOwner": Bool,
"creatorHeart": {
"creatorThumbnail": String,
"creatorName": String
}?,
"replies": {
"replyCount": Int32,
"continuation": String
}?,
"attachment": Attachment?
}
],
"continuation": String?
}
```
The `authorId` for top-level comments will always(?) be the same as the requested channel. Top-level comments will also have an optional `attachment`, which can be one of:
```javascript
{
"type": "image",
"imageThumbnails": [
{
"url": String,
"width": Int32,
"height": Int32
}
]
}
```
```javascript
{
"type": "video",
"title": String,
"videoId": String,
"videoThumbnails": [
{
"quality": String,
"url": String,
"width": Int32,
"height": Int32
}
],
"lengthSeconds": Int32,
"author": String,
"authorId": String,
"authorUrl": String,
"published": Int64,
"publishedText": String,
"viewCount": Int64,
"viewCountText": String
}
```
```javascript
{
"type": "unknown",
"error": "Unrecognized attachment type."
}
```
Some attachments may only have a `type` and `error`, similar to the above. Attachments will *only* be present on top-level comments.
Parameters:
```
continuation: String
```
##### GET `/api/v1/channels/search/:ucid`
> Schema:
```javascript
[
{
type: "video",
title: String,
videoId: String,
author: String,
authorId: String,
authorUrl: String,
videoThumbnails: [
{
quality: String,
url: String,
width: Int32,
height: Int32
}
],
description: String,
descriptionHtml: String,
viewCount: Int64,
published: Int64,
publishedText: String,
lengthSeconds: Int32,
liveNow: Bool,
paid: Bool,
premium: Bool
},
{
type: "playlist",
title: String,
playlistId: String,
author: String,
authorId: String,
authorUrl: String,
videoCount: Int32,
videos: [
{
title: String,
videoId: String,
lengthSeconds: Int32,
videoThumbnails: [
{
quality: String,
url: String,
width: Int32,
height: Int32
}
]
}
]
},
{
type: "channel",
author: String,
authorId: String,
authorUrl: String,
authorThumbnails: [
{
url: String,
width: Int32,
height: Int32
}
],
subCount: Int32,
videoCount: Int32,
description: String,
descriptionHtml: String
}
];
```
Parameters:
```
q: String
page: Int32
```
##### GET `/api/v1/search/suggestions`
> Schema:
@ -595,7 +439,7 @@ Parameters:
```
q: String
page: Int32
sort_by: "relevance", "rating", "upload_date", "view_count"
sort: "relevance", "rating", "date", "views"
date: "hour", "today", "week", "month", "year"
duration: "short", "long", "medium"
type: "video", "playlist", "channel", "movie", "show", "all", (default: all)
@ -686,3 +530,47 @@ page: Int32
]
}
```
##### GET `/api/v1/hashtag/:tag`
> Schema:
```javascript
{
results: VideoObject[],
}
```
Parameters:
```
page: Int32
```
##### GET `/api/v1/resolveurl`
> Schema:
```javascript
{
ucid?: String,
videoId?: String,
playlistId?: String,
startTimeSeconds?: String,
params?: String,
pageType: string
}
```
Parameters:
```
url: URL
```
##### GET `/api/v1/clips`
> Schema:
```javascript
{
startTime: Float64, // in seconds
endTime: Float64, // in seconds
clipTitle: String,
video: VideoObject
}
```
Parameters:
```
id: string
```

View file

@ -85,6 +85,39 @@ This is the same as requesting `/api/v1/channels/:id/videos` without URL paramet
}
```
##### GET `/api/v1/channels/:id/podcasts`
> URL parameters:
* `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested.
> Response:
```javascript
{
"playlists": [
// One or more PlaylistOject
],
"continuation": continuation
}
```
##### GET `/api/v1/channels/:id/releases`
> URL parameters:
* `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested.
> Response:
```javascript
{
"playlists": [
// One or more PlaylistOject
],
"continuation": continuation
}
```
##### GET `/api/v1/channels/:id/shorts`
@ -206,3 +239,34 @@ This usually means that parsing support for the attachment type has not yet been
"error": String
}
```
##### GET `/api/v1/channels/:ucid/search`
> Url parameters
* `q`: The query to search
* `page`: The page number of the search (Int32)
> Response:
```javascript
[
VideoObject,
PlaylistObject
];
```
##### GET `/api/v1/post/:id`
> Url parameters
* `ucid`: You can optionally provide the channel's id for fetching the post.
> Response:
Same as [`/api/v1/channels/:id/community`](#get-apiv1channelsidcommunity) but only returns one post in the comments array
##### GET `/api/v1/post/:id/comments`
* `ucid`: You can optionally provide the channel's id for fetching the post's comments.
> Response:
Same as [`/api/v1/channels/:id/comments`](../api.md#get-apiv1commentsid) but has a postId instead of a videoId

View file

@ -58,10 +58,16 @@
* [vid.lilay.dev](https://vid.lilay.dev) 🇸🇬 (uses Cloudflare)
* [inv.oikei.net](https://inv.oikei.net) 🇩🇪
* [invidious.privacyredirect.com](https://invidious.privacyredirect.com) 🇫🇮
* [invidious.reallyaweso.me](https://invidious.reallyaweso.me) 🇩🇪
* [invidious.materialio.us](https://invidious.materialio.us) 🇳🇿
* [inv.in.projectsegfau.lt](https://inv.in.projectsegfau.lt) 🇮🇳
* [invidious.incogniweb.net](https://invidious.incogniweb.net) 🇺🇸
### Tor Onion Services:
* [grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion](http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion) 🇺🇸 (Onion of vid.puffyan.us)

View file

@ -13,8 +13,8 @@ Supported operators:
- `sort:`
- `relevance` (default)
- `rating`
- `upload_date`, `date`
- `view_count`, `views`
- `date`
- `views`
- `date:`
- `hour`
- `today`
@ -30,11 +30,13 @@ Supported operators:
- `show`
- `duration:`
- `short`
- `medium`
- `long`
- `features:` Multiple can be specified, for example `features:live,4k,subtitles`
- `hd`
- `subtitles`
- `creative_commons`,`cc`
- `3d`
- `live`, `livestream`
- `purchased`
- `4k`

View file

@ -86,7 +86,6 @@ _This list is incomplete. You can help by expanding it._
| `type=Default` | Default |
| `type=Music` | Music |
| `type=Gaming` | Gaming |
| `type=News` | News |
| `type=Movies` | Movies |
| _Region_ | Provide "hint" (as ISO 3166 country code) for Invidious to load trending videos from the specified region | |
| `region=JP` | Load videos that are trending in Japan |