Filter Constraints Reference
Complete guide to filter constraints for the SharkScope API
Filter Overview
Most player resources (except suggestions and usernote) may utilize a filter to restrict the tournaments included in the statistics and recent tournaments. The filter is a collection of constraints on various aspects of online poker games such as type, format, speed, etc.
The constraint types and their possible values are contained in the MetadataResponse. Some of them are ranges or single numerical value constraints and there is a date-type constraint that requires special handling.
The filter parameter value is a string representation of the various constraints separated by semicolon. The constraint type and values are separated by colon characters. Finally, the constraint may be inverted (NOT operation) by adding an exclamation mark ("!") after the constraint name.
?filter=Type:O,OHL,T;Type!:SAT;Stake:USD2~*
Date Constraint
Defines the date/time range of the tournaments to include based on the start date of the tournament.
The value can be one of the following:
- A natural number n (integer greater than 0) followed by a character ('Y', 'M', 'W', 'D', 'H', or 'S'). It denotes a time period of the last n years, months, weeks, days, hours or seconds respectively. E.g. "1Y" means "in the past year".
- A negative integer followed by one of the previously mentioned characters. It denotes a time offset in the future e.g. "up to the next 1 hour". This is only relevant for active tournaments in order to find tournaments that start in the near future. See "Active Tournaments" for further information.
- A year after 2006. It denotes that specific year as the time period.
- A range of Unix timestamps. It denotes the specified range of date/times as the time period.
- If the start date or scheduled start date is not available for a particular tournament the end date is used.
| Name | Date |
|---|---|
| Type | Date |
| Examples |
Date:1Y,
Date:2007,
Date:1274109174~1274130000,
Date!:1Y [i.e. NOT the past year]
|
EndDate Constraint
Defines the date/time range of the tournaments to include based on the end date of the tournament.
The value can be one of the following:
- A natural number n (integer greater than 0) followed by a character ('Y', 'M', 'W', 'D', 'H', or 'S'). It denotes a time period of the last n years, months, weeks, days, hours or seconds respectively. E.g. "1Y" means "in the past year".
- A negative integer followed by one of the previously mentioned characters. It denotes a time offset in the future e.g. "up to the next 1 hour". This is only relevant for active tournaments in order to find tournaments that start in the near future. See "Active Tournaments" for further information.
- A year after 2006. It denotes that specific year as the time period.
- A range of Unix timestamps. It denotes the specified range of date/times as the time period.
| Name | EndDate |
|---|---|
| Type | Date |
| Examples |
EndDate:1Y,
EndDate:2007,
EndDate:1274109174~1274130000,
EndDate!:1Y [i.e. NOT the past year]
|
DayOfWeek Constraint
Defines the date/time range of the tournaments to include.
The value can be one or more days of week represented by the first two letters of week days in English. If multiple days are specified they must be separated by comma characters. An optional time-zone string may be specified as the 1st parameter in the list by prefixing with the 'TZ,' code. If specified, all days of week will be established relative to the given time-zone, else the default time-zone will be used (America/Los_Angeles). All time-zone strings are expected in the format defined by the Internet Assigned Numbers Authority (https://www.iana.org/time-zones). However, since SharkScope API references the Java TimeZone resource to discover time-zones, only a subset of time-zones provided by IANA are supported and users are advised to reference the Java TimeZone documentation for details.
| Name | DayOfWeek |
|---|---|
| Type | DayOfWeek multiselect – one or more of (Su,Mo,Tu,We,Th,Fr,Sa) |
| Examples |
DayOfWeek:Su,
DayOfWeek:Mo,Tu,Fr,
DayOfWeek:Sa,Su,
DayOfWeek:Mo,Tu,We,Th,Fr,
DayOfWeek:TZ,Europe/London,Mo,Tu
|
Duration Constraint
Defines the date/time range of the tournaments to include.
The ranges can be post fixed with an "s", "m" or "h" to denote seconds, minutes or hours. If there is no postfix the number is assumed to denote minutes. For example "Duration: 30s-10" sets the duration range to 30 seconds to 10 minutes inclusive.
| Name | Duration |
|---|---|
| Type | Range |
| Examples |
Duration:1~10,
Duration:30s~50m,
Duration!:1h~*
|
Entrants Constraint
Defines the number of entrants as a range.
The value is a range. A star ("") character denotes "any", e.g. "5~" means "5 to any" or "more than 4".
| Name | Entrants |
|---|---|
| Type | Range |
| Examples |
Entrants:2~5,
Entrants:5~*,
Entrants!:*~4 [same as "5~*"]
|
Type Constraint
Defines the tournament types to be included.
At the time of writing this document these are the available options:
Format options: TR (Tiered), SO (Shootout), OD (OnDemand), HU (Heads Up), FO (Flipout), R (Rebuy), FPP (FPP), SAT (Satellite), NS (N-Stack), ME (Multi Entry), RH (Rush)
PrizeStructure options: M (Matrix), B (Bounty), DN (Double or Nothing), J (Jackpot), K (Killer), TN (Triple or Nothing), W (Winner Takes All), C (Cashout), TI (Timed), F (Fifty50), HIT (Hit&Run)
Speed options: T (Turbo), ST (Super Turbo), D (Deep Stack), NBI (No Blind Increases), L (Lottery), N (Normal)
Structure options: NL (No Limit), PL (Pot Limit), PNL (PNL), FL (Limit), SL (Spread Limit), ML (Mixed Limit)
Game options: FU (Fusion), H (Hold'em), RV (Reverse Holdem), H6 (Six-Plus Holdem), SH (Showtime Holdem), SHO (Showtime Omaha), OMAHA (Any Omaha), O (Omaha Hi), OHL (Omaha H/L), O5 (Omaha 5), OHL5 (Omaha 5 H/L), O6 (Omaha 6), CL (Courchevel), CLHL (Courchevel H/L), CP (Crazy Pineapple), POFC (Pineapple), STUD (Any Stud), TS (Triple Stud), 7CS (7 Card Stud), 7CSHL (7 Card Stud H/L), 5CS (5 Card Stud), RAZZ (Razz), A (Americana), S (Soko), DRAW (Any Draw), 5CD (5 Card Draw), BA (Badugi), TD27L (2-7 Triple draw), SD27L (2-7 Single Draw), 32D (32 Draw), MIXED (Any Mixed), HORSE, HEROS, HOSE, RASH, HA, HAR, SHOE, TE (Telesina), 8G (8-Game), 7G (7-Game), 10G (10-Game), HBJ (Holdem BJ), HO, I (Irish Holdem)
Difficulty options: Easy, Neutral, Hard
TableSize options: 6MX (6 Max), HU (Heads Up)
Flag options: DM (Deal Made)
The list of possible values with grouping and description in English is included in the metadata.
| Name | Type |
|---|---|
| Type | Multiple selection |
| Examples |
Type:SO,FPP,O,OHL,HORSE,T,
Type:FPP,HU,SAT,
Type!:SAT
|
Stake Constraint
Defines the tournament stake ranges to be included as a comma separated list of ranges (or single values) with currency and rebuy option. The format is
| Name | Stake |
|---|---|
| Type | Cash Range(s) |
| Examples |
Stake:USD2~10,GBP*~5R,
Stake:USD20
|
Rake Constraint
Defines the tournament rake ranges to be included as a comma separated list of ranges (or single values) with currency and rebuy option. The format is
| Name | Rake |
|---|---|
| Type | Cash Range(s) |
| Examples |
Rake:USD2~10,GBP*~5,
Rake:USD20
|
StakePlusRake Constraint
Defines the tournament stake plus rake ranges to be included as a comma separated list of ranges (or single values) with currency and rebuy option. The format is
This is similar to the Stake constraint with the Rake added.
| Name | StakePlusRake |
|---|---|
| Type | Cash Range(s) |
| Examples |
StakePlusRake:USD2~10,GBP*~5R,
StakePlusRake:USD20
|
Guarantee Constraint
Defines the tournament guarantee ranges to be included as a comma separated list of ranges (or single values) with currency and rebuy option. The format is
| Name | Guarantee |
|---|---|
| Type | Cash Range(s) |
| Examples |
Guarantee:USD10~100,GBP*~500,
Guarantee:USD2000
|
Overlay Constraint
Defines the tournament overlay ranges to be included as a comma separated list of ranges (or single values) with currency and rebuy option. The format is
| Name | Overlay |
|---|---|
| Type | Cash Range(s) |
| Examples |
Overlay:USD10~100,GBP*~500,
Overlay:USD2000
|
Prize Constraint
Defines the player's tournament result prize range. The parameter format is the same as the Stake constraint.
| Name | Prize |
|---|---|
| Type | Cash Range(s) |
| Examples |
Prize:USD10~200, GBP5~100,
Prize!:GBP*~100,
Prize:USD1000
|
PrizePool Constraint
Defines the tournament prize pool range. The parameter format is the same as the Stake constraint.
| Name | PrizePool |
|---|---|
| Type | CashRange(s) |
| Examples |
PrizePool:USD10~200, GBP5~150,
PrizePool!:GBP*~500,
PrizePool:USD2000
|
Class Constraint
Defines the tournament types to be included.
Tournament classes are SNG (Sit & Go), SCHEDULED and LIVE.
| Name | Class |
|---|---|
| Type | Multiple selection |
| Examples |
Class:SNG,
Class:SCHEDULED,LIVE
|
Player Class Constraint
Defines the running or registering tournaments to be included in the response. The constraint defines the ranges of participants of specific player classes. For example, the request can contain a player class constraint of 2-4 players classified as "fish". Only one player class per constraint can be defined, however multiple player class constraints can be specified.
User specified player classes can be used.
In addition, each player class may have 1 or more categories assigned to it. Categories can be used in place of player class names. For example, there are currently three player classes representing "shark" players: HighStakesShark, MidStakesShark, LowStakesShark. These player classes are all members of the category "Shark" so the total number of any type of shark players can be filtered.
| Name | Player Class |
|---|---|
| Type | <Player Class>, Range |
| Examples |
PlayerClass:Fish,2~4 (2-4 fish tournaments),
PlayerClass:Fish,3~4;PlayerClass:Shark,0~0 (3-4 fish, no sharks)
|
Limit Constraint
Defines a range of results based on a specified context. The contexts are Best, Worst, First and Last. The range is 1-based. This allows the user to request the specific number of tournaments to be taken into consideration (or returned).
The Limit constraint will narrow the tournaments to the best, worst, oldest or latest based on the specified range. So Limit:Best,1~250 will process the player's best 250 tournaments. Best and worst tournaments are determined by result (profit). First and Last are determined by date. Using this constraint tournaments can be retrieved in parts.
| Name | Limit |
|---|---|
| Type | <Context>, Range [ Context = Best, Worst, First, Last ] |
| Examples |
Limit:Best,1~250 (best 250 tournaments),
Limit:Worst,251~500 (second batch of worst tournaments),
Limit:Last,1~8 (last 8 tournaments)
|
Saved Constraint
Users may save filters for future use. These filters are saved with a unique name. The filter can easily be reused (optionally in conjunction with other constraints) by utilizing the "Saved" constraint. The unique name must be URL encoded. The filter cannot be reversed with "!", an error will be thrown if reversal is specified.
| Name | Saved |
|---|---|
| Type | Special |
| Examples |
Saved:MyFilter
|
VersusPlayer Constraint
The "versus player" contains a player list. The response contains a PlayerView for the player and one PlayerView containing tournaments against for each of the players in the list.
| Name | VersusPlayer |
|---|---|
| Type | Player name list |
| Examples |
VersusPlayer:Tom,
VersusPlayer:Tom,Tim
|
Rebuys Constraint
Defines the average number of rebuys to include when calculating statistics that contain rebuy tournaments. By default the average number of rebuys used is the average number for players in that tournament. A value of 0 would mean the player made no rebuys in any rebuy tournament.
| Name | Rebuys |
|---|---|
| Type | Number |
| Examples |
Rebuys:2.5
|
Rakeback Constraint
Defines the rakeback percentage that should be included when calculating statistics.
| Name | Rakeback |
|---|---|
| Type | Percentage |
| Examples |
Rakeback:25
|
TournamentName Constraint
The constraint is a filter on the tournament name. All tournaments whose name contains the provided string are included (or excluded if inverted).
| Name | TournamentName |
|---|---|
| Type | Text |
| Examples |
TournamentName:Holdem,
TournamentName:$5%20Hold
|
ReEntries Constraint
The constraint is a filter on tournaments where the player made the prescribed number of re-entries.
| Name | ReEntries |
|---|---|
| Type | Integer |
| Examples |
ReEntries: 2
|
HourOfDay Constraint
The constraint is a filter on tournaments based on the hour of the day from 0 to 23 the tournament started.
An optional time-zone string may be specified as a comma separated parameter by prefixing with the 'TZ,' code. If specified, all hours will be established relative to the given time-zone, else the default time-zone will be used (America/Los_Angeles). All time-zone strings are expected in the format defined by the Internet Assigned Numbers Authority (https://www.iana.org/time-zones). However, since SharkScope API references the Java TimeZone resource to discover time-zones, only a subset of time-zones provided by IANA are supported and users are advised to reference the Java TimeZone documentation for details.
| Name | HourOfDay |
|---|---|
| Type | Range |
| Examples |
HourOfDay:9,
HourOfDay: TZ,Europe/London,18~23
|
Position Constraint
The constraint is a filter on tournaments where the player finished in the prescribed finish position. A value of FT can be used to designate Final Table. FT cannot be used in a range.
| Name | Position |
|---|---|
| Type | Range |
| Examples |
Position:2,
Position:1~3,
Position!:FT
|