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 min~max[R] (e.g. USD10~20R). The "R" postfix denotes that the average buy-in for the tournament including rebuys will be used for rebuy tournaments. The minimum or maximum can be "*" meaning "any".

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 min~max (e.g. USD10~20). The minimum or maximum can be "*" meaning "any".

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 min~max[R] (e.g. USD10~20R). The "R" postfix denotes that the average buy-in for the tournament including rebuys will be used for rebuy tournaments. The minimum or maximum can be "*" meaning "any".

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 min~max (e.g. USD10~20). The minimum or maximum can be "*" meaning "any".

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 min~max (e.g. USD10~20). The minimum or maximum can be "*" meaning "any".

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