Filters: how to pick videos by views and date
Filters weed out posts before the file is saved to the disk. There are twelve conditions. The set is the same in three places of the app. Each condition has its own switch, and by default they are all off. While the conditions are off, everything is downloaded.
Where the filters are
| Window | Where to look | Where the conditions are stored |
|---|---|---|
| New group wizard | Step 4 "Video filters" | In the project database, with the group |
| Group editing window | The "Video filters" card | In the project database, with the group |
| The "ClipSave" window | The "Video filters" section | In the project settings |
Group conditions and download window conditions are stored separately. A change in one window does not affect the other. The group wizard is covered on the Group wizard page.
All twelve conditions
| Condition label | What it means | Limits and step | Default |
|---|---|---|---|
| "Views at least" | The post has at least as many views as the number in the field | 0 - 100,000,000, step 1000 | off, 0 |
| "Duration at most, s" | The duration in seconds is no more than the number in the field | 0 - 86,400, step 10 | off, 0 |
| "Likes at least" | Number of likes | 0 - 10,000,000, step 100 | off, 0 |
| "Comments at least" | Number of comments | 0 - 1,000,000, step 10 | off, 0 |
| "Shares at least" | Number of shares | 0 - 1,000,000, step 10 | off, 0 |
| "Saves at least" | How many times the video was added to favorites or bookmarks | 0 - 10,000,000, step 100 | off, 0 |
| "Likes at least, % of views" | Share of likes relative to views | 0.0 - 100.0%, step 0.1 | off, 0.0 |
| "Comments at least, % of views" | Share of comments relative to views | 0.0 - 100.0%, step 0.1 | off, 0.0 |
| "Shares at least, % of views" | Share of shares relative to views | 0.0 - 100.0%, step 0.1 | off, 0.0 |
| "Video language" | Language of the title and description | "Any" and 16 languages | off, "Any" |
| "Place in title or description" | Part of a word in the title or in the description | up to 100 characters | off, empty |
| "Published no earlier than" | A period or an exact publication date | period 1 - 3650 days, date from 01.01.2005 to 31.12.2100 | off, period of 30 days |
The "Saves at least" condition has no share-of-views version. The app has no such item.
All comparisons are non-strict. "At least" means "the same or more". "At most" means "the same or less". "No earlier than" means "on this day or later". A video with exactly 1000 views passes the "Views at least 1000" condition.
Shares are computed without division, so a video exactly on the boundary behaves the same way every time.
How conditions combine
All the conditions you turned on must be met at the same time. It is "and", not "or". A video passed on views but failed on duration. It will not download.
Each condition has its own switch. The card title is not a common switch. The switch tooltip says it directly: "While the switch is off, the filter does not apply, and the value you typed stays in place - turn the switch back on, and the filter works again.".
A condition with a zero value selects nothing. The window has a separate note about such a condition.
The "If data is missing" rule
Platforms report different sets of details about a video. One has no views in its list of posts, another has no date. There is nothing to filter such a video by. The "If data is missing" list decides what to do with it.
| Item | What happens |
|---|---|
| "Skip" | "Videos without the required data will not reach the result." It is the default |
| "Download" | "Videos without the required data will be downloaded, and filters will not apply to them." |
This rule has no switch. It applies to all twelve conditions at once.
What is free and what takes time
The conditions are spread over four cards. The difference between the cards is not convenience but the time cost.
| Card | Conditions | Time cost |
|---|---|---|
| "Filter by views and duration" | views, duration | Slow nothing down |
| "Filter by viewer engagement" | likes, comments, shares, saves and three shares of views | Need a second request to the platform |
| "Filter by language and place" | language, place | Need a second request to the platform |
| "Filter by publication date" | date | Slows nothing down |
The tooltip of the first card names the reason: "Platforms report views and duration in the author's list of posts. These two filters are checked without extra requests and slow nothing down.".
The tooltip of the second card is about the opposite case: "Platforms report likes, comments, shares and saves only on the video page, so this check takes longer than the filter by views.".
What the second request to the platform costs
The platform does not report the three engagement shares, the language and the place in the list of posts. The app computes them itself. For this the check runs in two requests. First the post details are read, then only the posts that passed the selection are downloaded.
The second request is made only if at least one of these five conditions is on. Views, duration and date do not need it.
| What | Value |
|---|---|
| Posts looked at in one check | no more than 200 |
| Time limit inside one command | 10 seconds per connection |
| Retries on a network failure | 2 |
| Attempts to re-query the platform as a whole | 3 |
| Pause between attempts | 2 seconds |
| Time limit per attempt | 30 seconds plus 15 seconds per post, but no more than 10 minutes |
An example. With "Videos per link per check, at most" = 5, the time limit per attempt is 105 seconds. With 50 it hits the 10-minute ceiling.
The main point about the cost: the platform is asked about each post of the window separately. There are as many requests as posts, including the ones that will not pass the selection. Engagement, language and place conditions make the check several times longer.
Video language
The "Video language" list starts with the "Any" item. The list has 16 more languages. The order is: Russian, English, Ukrainian, German, Spanish, French, Portuguese, Italian, Polish, Turkish, Arabic, Chinese, Japanese, Korean, Hindi, Indonesian.
The language is detected from the title and description. Links, hashtags, mentions and emoji are removed from the text. The answer counts when two conditions are met at once:
- after the cleanup, at least 25 characters remain for letters and at least 6 characters for ideograms;
- the answer confidence is no lower than 0.90.
Otherwise the language counts as unknown, and the "If data is missing" rule applies. By default such a video is skipped.
There is a consequence. For a post with a two-word title, the language is almost never detected. The card tooltip says the same: "The language is detected from the title and description. On a short title of one or two words, languages that share a script are told apart poorly - the "If data is missing" rule applies in that case.".
The first request to the language detector in a session takes about 200 ms. After that it answers right away.
Place in title or description
The condition looks for part of a word in the post text. It triggers if a match is found in the title or in the description. Case and diacritics are ignored. The search string can be up to 100 characters long.
The condition does not look at a map tag. The card tooltip names the reason: "The name is searched in the title and description, ignoring case. Platforms almost never report where a video was shot, so the filter goes by the text of the post, not by a mark on the map.".
Publication date
The "Published no earlier than" condition has two kinds of value. The first is a period counted from today. The second is an exact date.
| List item | What it means |
|---|---|
| "Set a date" | The exact date field is used |
| "Last 7 days" | Posts from the last week |
| "Last 30 days" | Posts from the last month. It is set when the condition is turned on |
| "Last 90 days" | Posts from the last quarter |
| "Last 365 days" | Posts from the last year |
An exchange file can bring any number of days. Then the label looks like "Over the last 45 days", and a one-day window is called "Today only".
If both a period and an exact date are set, the period is used.
An exact date stops selecting over time. A period moves together with today, while a date stays put. A year after 01.01.2025, the condition "Published no earlier than 01.01.2025" lets almost everything through. The card tooltip says so: "An exact date stays put, so with regular checks it lets everything through over time.".
The period boundary is computed by your computer's clock. Platforms report the publication date by their own calendar. At the window boundary there can be a difference of one day.
Notes on an invalid value
These lines block saving. While a note is on the screen, the group settings will not be saved.
| Note | What to do |
|---|---|
| "Filter "Views at least": the value is out of the 0 to 100000000 range. Set a value within this range." | Set a number within the named limits |
| "Filter "Views at least" is on, but no value is set. Set a value or turn the filter off." | Set a number or turn off the condition switch |
| "The date is out of range: from 01.01.2005 to 31.12.2100. Set a date within this range." | Set a date within these limits |
| "Field "Published no earlier than": the date "31.02.2026" is not in the calendar. Set it again or turn the limit off." | Set a date that exists |
| "Field "Place in title or description": the value from the settings is longer than 100 characters and does not fit in the field. Set it again or turn the filter off." | Shorten the search string |
"Exact quality only"
This is a separate switch, not one of the twelve conditions. Only a source group has it: in the wizard at the "Quality and file name" step and in the editing window in the "How to check" card. The "ClipSave" window does not have it.
By default the switch is off. Then quality is a wish. The tooltip puts it like this: "If a video has no 1080p track, the closest one will be downloaded - including a higher one.".
With the switch on, there is no substitute. The tooltip changes: "Videos without the 1080p track will be skipped; the next checks try them again.". The full text of the second part of the tooltip is: "While the switch is off, quality is a preference: if there is no matching track, the nearest one is downloaded. Turning the switch on means refusing any substitute: such a video is skipped. Later checks try it again while it stays near the top of the author's posts.".
What to know in advance:
- a video without the needed track is skipped entirely, not a single file is saved to the disk;
- a skip because of this switch is visible in the app log: it is not shown on the group tile or in the "Nothing new: 12 rejected by filters" counter;
- such a video is tried again at every check while it stays near the top of the author's list of posts;
- with the "Maximum" quality the switch goes dim and turns off by itself. There is nothing to restrict.
Please turn it on only when a file with a different frame size does not suit you at all. In other cases you will get more material without it.
What the video download module checks and what the app checks itself
The app passes seven conditions to the video download module in one line: views, likes, comments, shares, saves, duration and date. The module cannot express five conditions. These are the three engagement shares, the language and the place. The app computes them itself.
The app rechecks all twelve conditions, not only its own five. The reason is how the video download module behaves. A condition failing in the list of posts drops the record from the answer, but a failure on the video page itself does not. From the answer you cannot tell what exactly was rejected.
Frequently asked questions
Why does the app say "No matching videos"?
Not a single video passed the selection. The same message names the number of rejected ones: "Videos rejected: 34. Relax the filters or turn off the extra ones.". Please start with the engagement conditions: likes and comments on new posts do not build up right away.
There are videos, but the group says "No new videos". Why?
There are three reasons. The first: all posts were taken earlier and are in the list of downloaded videos. The second: the filters weeded them out, and then the caption is different - "Nothing new: 12 rejected by filters". The third is not visible on the screen at all. It is the "Exact quality only" switch. Please check it if the filters are off but there are still no new videos.
The language filter lets nothing through. What is wrong?
Most likely the post titles are too short. The detector needs at least 25 characters of meaningful text after links, hashtags and emoji are removed. The answer confidence must be no lower than 0.90. Otherwise the language counts as unknown, and the "If data is missing" rule applies. By default it skips such a video.
Why did the check become much longer?
At least one of the five expensive conditions is on: share of likes, share of comments, share of shares, language or place. With them the platform is asked about each post of the window separately. Please turn off the unneeded conditions or reduce the "Videos per link per check, at most" value.
A condition is off. Will the value in the field be kept?
No. The value in the field stays in place. Turn the switch on again, and the filter works again with the same number.