Skip to content

Grid

Cascade returns stuff like advertisements, upsells and partial profiles, presumably ranking by algorithms or paid subscriptions. Search returns full profiles, seemengly ranked simply by distance.

Get Cascade

Requires Authorization.

GET /v4/cascade

Query:

Response:

  • items — array of CascadeItem
  • nextPage — integer
  • shuffled — boolean
  • hiddenProfiles — unknown
  • hiddenProfileInfo — unknown

Get Cascade (legacy)

Requires Authorization.

GET /v3/cascade

Query:

  • everything from CascadeQuery
  • exploreUuid — string, optional
  • sexualHealth — string, optional

Response:

  • items — array of CascadeItem
  • nextPage — integer
  • shuffled — boolean
  • hiddenProfiles — unknown
  • hiddenProfileInfo — unknown

Requires Authorization.

Results array appears to be capped to 600 per page. Use searchAfterProfileId or searchAfterDistance for pagination.

GET /v7/search

Query:

  • everything from GridQuery
  • online — boolean, optional
  • ageMinimum — integer, optional
  • ageMaximum — integer, optional
  • heightMinimum — float, optional
  • heightMaximum — float, optional
  • weightMinimum — float, optional
  • weightMaximum — float, optional
  • grindrTribesIds — array of integers concatenated with a ,, -1 means "Not Specified", see Tribes, optional
  • lookingForIds — array of integers concatenated with a ,, -1 means "Not Specified", see Looking for, optional
  • relationshipStatusIds — array of integers concatenated with a ,, -1 means "Not Specified", see Relationship status, optional
  • bodyTypeIds — string, see Body type, optional
  • sexualPositionIds — array of integers concatenated with a ,, -1 means "Not Specified", see Sexual position, optional
  • meetAtIds — array of integers concatenated with a ,, -1 means "Not Specified", see Meet at, optional
  • nsfwIds — array of integers concatenated with a ,, -1 means "Not Specified", see Accept NSFW pics, optional
  • profileTags — string, see Profile tags, optional
  • searchAfterDistance — string, optional
  • searchAfterProfileId — string, optional
  • freeFilter — boolean, optional

Response:

  • profiles — array of SearchProfileResult
  • lastDistanceInKm — float
  • lastProfileId — integer
  • inserts — object
    • mpuFree — integer
    • mpuXtra — integer
    • boostUpsell — array of integers
    • mrecCascadeFirst — integer
    • mrecCascadeSecond — integer
    • mrecCascadeThird — integer

GridQuery

  • nearbyGeoHashGeohash
  • exploreGeoHashGeohash, optional
  • photoOnly — boolean, optional
  • faceOnly — boolean, optional
  • notRecentlyChatted — boolean, optional
  • hasAlbum — boolean, optional
  • fresh — boolean, optional
  • genders — string, see Get genders, optional
  • pageNumber — integer, optional

CascadeQuery

  • everything from GridQuery
  • onlineOnly — boolean, optional
  • ageMin — integer, optional
  • ageMax — integer, optional
  • heightCmMin — float, optional
  • heightCmMax — float, optional
  • weightGramsMin — float, optional
  • weightGramsMax — float, optional
  • tribes — string, see Tribes, optional
  • lookingFor — string, see Looking for, optional
  • relationshipStatuses — string, see Relationship status, optional
  • bodyTypes — string, see Body type, optional
  • sexualPositions — array of integers concatenated with a ,, see Sexual position ID, optional
  • meetAt — string, see Meet at, optional
  • nsfwPics — string, see Accept NSFW pics, optional
  • tags — string, see Profile tags, optional
  • rightNow — boolean, optional
  • favorites — boolean, optional
  • showSponsoredProfiles — boolean, optional
  • shuffle — boolean, optional
  • hot — boolean, optional

CascadeItem

CascadeResponse

  • items — array of CascadeItem
  • nextPage — integer
  • shuffled — boolean
  • hiddenProfiles — unknown
  • hiddenProfileInfo — unknown

full_profile_v1

Only for v3/cascade:

  • everything from ProfileFields
  • @type — string, "CascadeItemData$FullProfileV1"
  • tribes — array of integers, see Tribes
  • socialNetworks — array of SocialNetwork
  • takenOnGrindrMetadata — object
    • key is Media hash
    • takenOnGrindr — boolean
    • createdAt — unix timestamp in milliseconds

Only for v4/cascade:

  • age — integer, optional
  • heightCm — integer, optional
  • weightGrams — integer, optional
  • bodyType — integer, see Body type, optional

partial_profile_v1

Only for v3/cascade:

  • @type — string, "CascadeItemData$PartialProfileV1"
  • 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, UUIDv4
  • headerName — string, e.g. "🌎 Explore"
  • source — string, e.g. "cascade"
  • items — array of objects. @type determines contents: "ExploreAggregationItem$Location": data.onlineCount (integer), data.uuid (UUIDv3 string), data.location (id integer, name string, suffix string, lat float, lon float), data.profiles (array of objects with profileImageUrl URL 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 — integer
  • displayed — integer
  • total — integer

Only for v3/cascade:

  • @type — string, "CascadeItemData$FavHeaderV1"

SearchProfileResult

  • age — integer or null
  • displayName — string
  • distance — float
  • hasFaceRecognition — boolean
  • isFavorite — boolean
  • new — boolean
  • lastChatTimestamp — number, may be 0
  • lastViewed — unix timestamp in milliseconds or null
  • lastUpdatedTime — unix timestamp in milliseconds
  • medias — array of ProfileMedia or null
  • profileId — integer
  • profileImageMediaHash — string, See Media or null
  • profileTags — array of Profile tags
  • seen — unix timestamp in milliseconds
  • showAge — boolean
  • showDistance — boolean
  • approximateDistance — boolean
  • boosting — boolean
  • hasAlbum — boolean
  • gender — array of integers or [-1], see Get genders

SearchProfilesResponse

  • profiles — array of SearchProfileResult
  • lastDistanceInKm — float
  • lastProfileId — integer
  • inserts — object
    • mpuFree — integer
    • mpuXtra — integer
    • boostUpsell — array of integers
    • mrecCascadeFirst — integer
    • mrecCascadeSecond — integer
    • mrecCascadeThird — integer

CascadeResponseProfile

Profile data returned in cascade items.

  • profileId — integer
  • onlineUntil — unix timestamp in milliseconds
  • displayName — string
  • distanceMeters — integer, may be absent
  • rightNowRightNowStatus
  • unreadCount — integer
  • isVisiting — boolean
  • isPopular — boolean

Only for v3/cascade:

  • lastOnline — unix timestamp in milliseconds
  • photoMediaHashes — array of strings, see Media
  • lookingFor — array of integers, see Looking for
  • sexualPosition — integer, see Sexual position ID, may be absent
  • approximateDistance — boolean
  • isFavorite — boolean
  • isBoosting — boolean
  • hasChattedInLast24Hrs — boolean
  • hasUnviewedSpark — boolean
  • isTeleporting — boolean
  • isRoaming — boolean
  • isRightNow — boolean
  • hasUnreadThrob — boolean
  • isBlockable — boolean, optional
  • isBoostingSomewhereElse — boolean

Only for v4/cascade:

  • primaryImageUrl — string, URL
  • favorite — boolean
  • viewed — boolean
  • chatted — boolean
  • roaming — boolean

Open Grind is not affiliated with Grindr in any way.