Grid
Cascade returns stuff like advertisements, upsells and partial profiles, presumably ranking by algorithms or paid subscriptions. Search returns full profiles, seemingly ranked simply by distance.
Get Cascade
Requires Authorization.
GET /v4/cascadeQuery:
- everything from CascadeQuery
Response:
items— array of CascadeItemnextPage— integershuffled— booleanhiddenProfiles— unknownhiddenProfileInfo— unknown
Get Cascade (legacy)
Requires Authorization.
GET /v3/cascadeQuery:
- everything from CascadeQuery
exploreUuid— string, unknown, WIP, optionalsexualHealth— see Sexual health, optional
Response:
items— array of CascadeItemnextPage— integershuffled— booleanhiddenProfiles— unknownhiddenProfileInfo— unknown
Search
Requires Authorization.
Results array appears to be capped to 600 per page. Use searchAfterProfileId or searchAfterDistance for pagination.
GET /v7/searchQuery:
- everything from GridQuery
online— boolean, optionalageMinimum— integer, optionalageMaximum— integer, optionalheightMinimum— float, optionalheightMaximum— float, optionalweightMinimum— float, optionalweightMaximum— float, optionalgrindrTribesIds— array of integers concatenated with a,,-1means "Not Specified", see Tribes, optionallookingForIds— array of integers concatenated with a,,-1means "Not Specified", see Looking for, optionalrelationshipStatusIds— array of integers concatenated with a,,-1means "Not Specified", see Relationship status, optionalbodyTypeIds— string, see Body type, optionalsexualPositionIds— array of integers concatenated with a,,-1means "Not Specified", see Sexual position, optionalmeetAtIds— array of integers concatenated with a,,-1means "Not Specified", see Meet at, optionalnsfwIds— array of integers concatenated with a,,-1means "Not Specified", see Accept NSFW pics, optionalprofileTags— string, see Profile tags, optionalsearchAfterDistance— string, optionalsearchAfterProfileId— string, optionalfreeFilter— boolean, optional
Response:
profiles— array of SearchProfileResultlastDistanceInKm— floatlastProfileId— integerinserts— objectmpuFree— integermpuXtra— integerboostUpsell— array of integersmrecCascadeFirst— integermrecCascadeSecond— integermrecCascadeThird— integer
GridQuery
nearbyGeoHash— GeohashexploreGeoHash— Geohash, optionalphotoOnly— boolean, optionalfaceOnly— boolean, optionalnotRecentlyChatted— boolean, optionalhasAlbum— boolean, optionalfresh— boolean, optionalgenders— string, see Get genders, optionalpageNumber— integer, optional
CascadeQuery
- everything from GridQuery
onlineOnly— boolean, optionalageMin— integer, optionalageMax— integer, optionalheightCmMin— float, optionalheightCmMax— float, optionalweightGramsMin— float, optionalweightGramsMax— float, optionaltribes— string, see Tribes, optionallookingFor— string, see Looking for, optionalrelationshipStatuses— string, see Relationship status, optionalbodyTypes— string, see Body type, optionalsexualPositions— array of integers concatenated with a,, see Sexual position ID, optionalmeetAt— string, see Meet at, optionalnsfwPics— string, see Accept NSFW pics, optionaltags— string, see Profile tags, optionalrightNow— boolean, optionalfavorites— boolean, optionalshowSponsoredProfiles— boolean, optionalshuffle— boolean, optionalhot— boolean, optional
CascadeItem
type— stringdata— object, shape depends ontype— full_profile_v1, partial_profile_v1, advert_v1, top_picks_v1, explore_aggregation_v1, boost_upsell_v1, unlimited_mpu_v1, xtra_mpu_v1, fav_header_v1, hidden_profile_v1, smart_boost_profile_v1, sponsored_profile_v1, braze_event_profile_v1, favs_xtra_upsell_v1, favs_unlimited_upsell_v1, favorites_header_no_free_results_v1, favorites_header_no_xtra_results_v1, profile_hide_status. Forprofile_hide_status,countis on the item itself, not underdata.
CascadeResponse
items— array of CascadeItemnextPage— integershuffled— booleanhiddenProfiles— unknownhiddenProfileInfo— unknown
full_profile_v1
- everything from CascadeResponseProfile
Only for v3/cascade:
- everything from ProfileFields
@type— string,"CascadeItemData$FullProfileV1"tribes— array of integers, see TribessocialNetworks— array of SocialNetworktakenOnGrindrMetadata— object- key is Media hash
takenOnGrindr— booleancreatedAt— unix timestamp in milliseconds
Only for v4/cascade:
age— integer, optionalheightCm— integer, optionalweightGrams— integer, optionalbodyType— integer, see Body type
partial_profile_v1
- everything from CascadeResponseProfile
upsellItemType— string, e.g."xtra_mpu_v1"
Only for v3/cascade:
@type— string,"CascadeItemData$PartialProfileV1"
advert_v1
cascadePlacementName— string, e.g."mrec-cascade-first"
Only for v3/cascade:
@type— string,"CascadeItemData$Advert"
top_picks_v1
Empty for v4/cascade.
Only for v3/cascade:
@type— string,"CascadeItemData$TopPicksV1"
explore_aggregation_v1
uuid— string, UUIDv4headerName— string, e.g."🌎 Explore"source— string, e.g."cascade"items— array of objects.@typedetermines contents:"ExploreAggregationItem$Location":data.onlineCount(integer),data.uuid(UUIDv3 string),data.location(idinteger,namestring e.g."Minneapolis",suffixstring e.g."🇺🇸",latfloat,lonfloat),data.profiles(array of objects withprofileImageUrlURL string)."ExploreAggregationItem$Cta": empty.
Only for v3/cascade:
@type— string,"CascadeItemData$ExploreAggregationV1"
boost_upsell_v1
Empty for v4/cascade.
Only for v3/cascade:
@type— string,"CascadeItemData$BoostUpsellV1"
unlimited_mpu_v1
Empty for v4/cascade.
Only for v3/cascade:
@type— string,"CascadeItemData$UnlimitedMpuV1"
xtra_mpu_v1
Empty for v4/cascade.
Only for v3/cascade:
@type— string,"CascadeItemData$XtraMpuV1"
fav_header_v1
available— integerdisplayed— integertotal— integer
Only for v3/cascade:
@type— string,"CascadeItemData$FavHeaderV1"
hidden_profile_v1
Hidden profile. Same shape as full_profile_v1.
- everything from CascadeResponseProfile
Only for v4/cascade:
age— integer, optionalheightCm— integer, optionalweightGrams— integer, optionalbodyType— integer, see Body type
smart_boost_profile_v1
Smart boost profile. Same shape as full_profile_v1.
- everything from CascadeResponseProfile
Only for v4/cascade:
age— integer, optionalheightCm— integer, optionalweightGrams— integer, optionalbodyType— integer, see Body type
sponsored_profile_v1
cascadePlacementName— stringalternativeProfile— CascadeResponseProfile, Fallback full_profile_v1 shape, shown when the sponsored ad is unavailable.
braze_event_profile_v1
profileId— integeronlineUntil— unix timestamp in milliseconds, optionaldisplayName— string, optionalprimaryImageUrl— string, URL, optionaleventName— string, Braze event name
favs_xtra_upsell_v1
available— integer
favs_unlimited_upsell_v1
Empty.
favorites_header_no_free_results_v1
Empty.
favorites_header_no_xtra_results_v1
Empty.
profile_hide_status
Unlike other cascade items, count sits directly on the item alongside type, not under data.
count— integer
SearchProfileResult
age— integer ornulldisplayName— stringdistance— floathasFaceRecognition— booleanisFavorite— booleannew— booleanlastChatTimestamp— number, may be0lastViewed— unix timestamp in milliseconds ornulllastUpdatedTime— unix timestamp in millisecondsmedias— array of ProfileMedia ornullprofileId— integerprofileImageMediaHash— string, See Media -> Public CDN files -> Profile Images ornullprofileTags— array of Profile tagsseen— unix timestamp in millisecondsshowAge— booleanshowDistance— booleanapproximateDistance— booleanboosting— booleanhasAlbum— booleangender— array of integers or[-1], see Get genders
SearchProfilesResponse
profiles— array of SearchProfileResultlastDistanceInKm— floatlastProfileId— integerinserts— objectmpuFree— integermpuXtra— integerboostUpsell— array of integersmrecCascadeFirst— integermrecCascadeSecond— integermrecCascadeThird— integer
CascadeResponseProfile
Profile data returned in cascade items.
profileId— integeronlineUntil— unix timestamp in millisecondsdisplayName— stringdistanceMeters— integer, optionalrightNow— RightNowStatusunreadCount— integerisVisiting— booleanisPopular— boolean
Only for v3/cascade:
lastOnline— unix timestamp in millisecondsphotoMediaHashes— array of strings, see MedialookingFor— array of integers, see Looking forsexualPosition— integer, see Sexual position ID, optionalapproximateDistance— booleanisFavorite— booleanisBoosting— booleanhasChattedInLast24Hrs— booleanhasUnviewedSpark— booleanisTeleporting— booleanisRoaming— booleanisRightNow— booleanhasUnreadThrob— booleanisBlockable— boolean, optionalisBoostingSomewhereElse— boolean
Only for v4/cascade:
primaryImageUrl— string, URLfavorite— booleanviewed— booleanchatted— booleanroaming— boolean