### GET /v1/store-and-profile Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store and profile-drawer sections. ```APIDOC ## GET /v1/store-and-profile ### Description Retrieves store and profile-drawer sections (cards, callouts, rows). Requires authorization. ### Method GET ### Endpoint /v1/store-and-profile ``` -------------------------------- ### GET /v3/store/googleplay/products/store Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store products. ```APIDOC ## GET /v3/store/googleplay/products/store ### Description Retrieves store products. ### Method GET ### Endpoint /v3/store/googleplay/products/store ``` -------------------------------- ### GET /v2/offers Source: https://opengrind.org/grindr-api/commerce/offers Retrieves a list of offers. ```APIDOC ## GET /v2/offers ### Description Retrieves a list of offers. ### Method GET ### Endpoint /v2/offers ``` -------------------------------- ### GET /v3/bootstrap Source: https://opengrind.org/grindr-api/system/bootstrap Retrieves the initial bootstrap configuration for the application. ```APIDOC ## GET /v3/bootstrap ### Description Retrieves the initial bootstrap configuration for the application. Note that this endpoint is currently a work in progress. ### Method GET ### Endpoint /v3/bootstrap ``` -------------------------------- ### GET /v1/shop/googleplay/products-with-details/{oneStopShopCategory} Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves shop products with details. ```APIDOC ## GET /v1/shop/googleplay/products-with-details/{oneStopShopCategory} ### Description Retrieves shop products with details. Requires authorization. ### Method GET ### Endpoint /v1/shop/googleplay/products-with-details/{oneStopShopCategory} ### Parameters #### Path Parameters - **oneStopShopCategory** (string) - Required - The category identifier. ``` -------------------------------- ### GET /v1/shop/googleplay/products/explore Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves explore shop products. ```APIDOC ## GET /v1/shop/googleplay/products/explore ### Description Retrieves explore shop products. ### Method GET ### Endpoint /v1/shop/googleplay/products/explore ``` -------------------------------- ### GET /v2/offers/eligible Source: https://opengrind.org/grindr-api/commerce/offers Retrieves a list of eligible offers. ```APIDOC ## GET /v2/offers/eligible ### Description Retrieves a list of eligible offers. ### Method GET ### Endpoint /v2/offers/eligible ``` -------------------------------- ### GET /v1/modal Source: https://opengrind.org/grindr-api/system/modal Retrieves modal information. ```APIDOC ## GET /v1/modal ### Description Retrieves modal information. ### Method GET ### Endpoint /v1/modal ``` -------------------------------- ### Cold-start ClientHello Fingerprints Source: https://opengrind.org/grindr-api/security-headers Fingerprint values for the initial connection after installation or cache clearing. ```text JA3 fullstring: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-51-45-43-21,29-23-24,0 JA3 hash: 1d714db2228763eab228fc28ce7f8e4f JA4 (h2): t13d1513h2_8daaf6152771_eca864cca44a JA4 (h1): [not applicable, see below] ``` -------------------------------- ### GET /v1/rightnow/googleplay/sku Source: https://opengrind.org/grindr-api/right-now Retrieves the Google Play SKU for Right Now. ```APIDOC ## GET /v1/rightnow/googleplay/sku ### Description Retrieves the Google Play SKU for Right Now. ### Method GET ### Endpoint /v1/rightnow/googleplay/sku ``` -------------------------------- ### GET /v4/store/products/{productId} Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves a store product by its ID. ```APIDOC ## GET /v4/store/products/{productId} ### Description Retrieves a store product by its ID. ### Method GET ### Endpoint /v4/store/products/{productId} ### Parameters #### Path Parameters - **productId** (string) - Required - The product identifier. ``` -------------------------------- ### GET /v2/boost/sessions Source: https://opengrind.org/grindr-api/commerce/boosting Retrieves a list of boost sessions. ```APIDOC ## GET /v2/boost/sessions ### Description Retrieves the current boost sessions. ### Method GET ### Endpoint /v2/boost/sessions ``` -------------------------------- ### Get profile drawer shop products Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves shop products for the profile drawer. ```http GET /v1/shop/googleplay/products/profile_drawer ``` -------------------------------- ### GET /v1/shop/googleplay/products/profile_drawer Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves profile drawer shop products. ```APIDOC ## GET /v1/shop/googleplay/products/profile_drawer ### Description Retrieves profile drawer shop products. ### Method GET ### Endpoint /v1/shop/googleplay/products/profile_drawer ``` -------------------------------- ### GET /v5/legal-agreements/vip-matchmaker Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the VIP matchmaker agreement. ```APIDOC ## GET /v5/legal-agreements/vip-matchmaker ### Description Retrieves the VIP matchmaker agreement. ### Method GET ### Endpoint /v5/legal-agreements/vip-matchmaker ``` -------------------------------- ### GET /v3/video-call Source: https://opengrind.org/grindr-api/videocalls Retrieves information about a video call. ```APIDOC ## GET /v3/video-call ### Description Retrieves video call information. ### Method GET ### Endpoint /v3/video-call ``` -------------------------------- ### GET /v1/vip-profiles Source: https://opengrind.org/grindr-api/commerce/vip Retrieves a list of VIP profiles. ```APIDOC ## GET /v1/vip-profiles ### Description Retrieves a list of VIP profiles. ### Method GET ### Endpoint /v1/vip-profiles ``` -------------------------------- ### Get shop products with details Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves shop products with detailed information for a category, requiring authorization. ```http GET /v1/shop/googleplay/products-with-details/{oneStopShopCategory} ``` -------------------------------- ### GET /v3/me/prefs/settings Source: https://opengrind.org/grindr-api/settings/account Retrieves the current user's account preferences and settings. Requires authorization. ```APIDOC ## GET /v3/me/prefs/settings ### Description Retrieves the current user's account preferences and settings. Requires Authorization. ### Method GET ### Endpoint /v3/me/prefs/settings ### Response #### Success Response (200) - **profileId** (integer) - Account ID - **locationSearchOptOut** (boolean) - Opt-out status for location search - **incognito** (boolean) - Incognito mode status - **hideViewedMe** (boolean) - Hides the Viewed Me list - **approximateDistance** (boolean) - Approximate distance status - **viewRightNowNsfw** (boolean) - NSFW view status - **mapLocationFuzzRadius** (integer) - Map-location privacy fuzz radius - **showOnMap** (boolean) - Whether the profile is shown on the map ``` -------------------------------- ### GET /v2/warnings Source: https://opengrind.org/grindr-api/safety/warnings Retrieves a list of warnings for the authenticated user. ```APIDOC ## GET /v2/warnings ### Description Retrieves a list of warnings. ### Method GET ### Endpoint /v2/warnings ### Response #### Success Response (200) - **BannedWarningList** (object) - A list of warnings. ``` -------------------------------- ### GET /v1/visiting/settings Source: https://opengrind.org/grindr-api/settings/account Retrieves the current visiting status settings. ```APIDOC ## GET /v1/visiting/settings ### Description Retrieves the current visiting-status mode. ### Method GET ### Endpoint /v1/visiting/settings ### Response #### Success Response (200) - **setting** (string) - visiting-status mode: OFF, ON, or AUTO ``` -------------------------------- ### GET /v1/store/googleplay/products/profile_drawer Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store products for the profile drawer. ```APIDOC ## GET /v1/store/googleplay/products/profile_drawer ### Description Retrieves store products for the profile drawer. ### Method GET ### Endpoint /v1/store/googleplay/products/profile_drawer ``` -------------------------------- ### Get explore shop products Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves shop products for the explore section. ```http GET /v1/shop/googleplay/products/explore ``` -------------------------------- ### GET /v1/tags Source: https://opengrind.org/grindr-api/users/profiles Retrieves a list of profile tags. ```APIDOC ## GET /v1/tags ### Description Retrieves an array of profile tags. ### Method GET ### Endpoint /v1/tags ### Response #### Success Response (200) - **profiles** (Array) - Array of ProfileTagLanguage. ``` -------------------------------- ### Get store products profile drawer Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store products specifically for the profile drawer. ```http GET /v1/store/googleplay/products/profile_drawer ``` -------------------------------- ### Get store product by id Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves a specific store product by its unique identifier. ```http GET /v4/store/products/{productId} ``` -------------------------------- ### Get store-and-profile sections Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store and profile-drawer sections, requiring authorization. ```http GET /v1/store-and-profile ``` -------------------------------- ### Get store products Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves store products from the Google Play store. ```http GET /v3/store/googleplay/products/store ``` -------------------------------- ### GET /v1/age-verification/options Source: https://opengrind.org/grindr-api/browse/age-verification Retrieves the available age verification options. ```APIDOC ## GET /v1/age-verification/options ### Description Retrieves the available age verification options. ### Method GET ### Endpoint /v1/age-verification/options ``` -------------------------------- ### GET /v3/me/subscriptions Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves user subscriptions. ```APIDOC ## GET /v3/me/subscriptions ### Description Retrieves user subscriptions. ### Method GET ### Endpoint /v3/me/subscriptions ### Parameters #### Query Parameters - **status** (string) - Optional - Subscription status. - **platform** (string) - Optional - Platform identifier. ``` -------------------------------- ### GET /v5/legal-agreements/top-picks Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the top picks agreement v5. ```APIDOC ## GET /v5/legal-agreements/top-picks ### Description Retrieves the top picks agreement v5. ### Method GET ### Endpoint /v5/legal-agreements/top-picks ``` -------------------------------- ### Retrieve bootstrap data Source: https://opengrind.org/grindr-api/system/bootstrap Fetches initial bootstrap configuration for the application. ```http GET /v3/bootstrap ``` -------------------------------- ### GET /v3/me/prefs Source: https://opengrind.org/grindr-api/messaging/saved-phrases Retrieves saved phrases using the legacy preferences endpoint. ```APIDOC ## GET /v3/me/prefs ### Description Retrieves saved phrases using the legacy preferences endpoint. ### Method GET ### Endpoint /v3/me/prefs ### Response #### Success Response (200) - **phrases** (object) - Map where key is phrase ID (uuid) and value is an object containing phraseId, phraseText, timestamp, and frequency. ``` -------------------------------- ### POST /v1/boost/preferences/standard Source: https://opengrind.org/grindr-api/commerce/boosting Sets preferences for standard boosts. ```APIDOC ## POST /v1/boost/preferences/standard ### Description Updates the user's preferences for standard boosts. ### Method POST ### Endpoint /v1/boost/preferences/standard ``` -------------------------------- ### GET /v1/alist/updates Source: https://opengrind.org/grindr-api/interest/alist Retrieves a list of updates. ```APIDOC ## GET /v1/alist/updates ### Description Retrieves a list of updates. ### Method GET ### Endpoint /v1/alist/updates ``` -------------------------------- ### GET /public/v2/genders Source: https://opengrind.org/grindr-api/users/profiles Retrieves the list of available genders. ```APIDOC ## GET /public/v2/genders ### Description Retrieves the list of available genders. ### Method GET ### Endpoint /public/v2/genders ### Response #### Success Response (200) - **genders** (array of Gender) - List of available genders. ``` -------------------------------- ### GET /v1/pronouns Source: https://opengrind.org/grindr-api/users/profiles Retrieves the list of available pronouns. ```APIDOC ## GET /v1/pronouns ### Description Retrieves dynamic pronoun fields managed by the server. ### Method GET ### Endpoint /v1/pronouns ### Response #### Success Response (200) - **pronouns** (array of Pronoun) - List of available pronouns. ``` -------------------------------- ### GET /v1/visiting/home Source: https://opengrind.org/grindr-api/settings/account Retrieves the user's home location details. ```APIDOC ## GET /v1/visiting/home ### Description Retrieves the human-readable name and coordinates of the home location. ### Method GET ### Endpoint /v1/visiting/home ### Response #### Success Response (200) - **name** (string) - human-readable name of location - **lat** (number) - latitude - **lon** (number) - longitude ``` -------------------------------- ### GET /v1/albums/storage Source: https://opengrind.org/grindr-api/messaging/albums Retrieves the current album storage limits and subscription details. ```APIDOC ## GET /v1/albums/storage ### Description Retrieves the storage limits for albums, including maximum counts for albums, content items, and shares. Requires Authorization. ### Method GET ### Endpoint /v1/albums/storage ### Response #### Success Response (200) - **subscriptionType** (string) - The type of subscription (e.g., FreeAlbums). - **maxAlbums** (integer) - Maximum number of albums allowed. - **maxContentItemsPerAlbum** (integer) - Maximum content items per album. - **maxShares** (integer) - Maximum number of shares allowed. - **maxViewableAlbums** (integer) - Maximum viewable albums. - **maxViewableVideos** (integer) - Maximum viewable videos. - **maxContentSizeInBytes** (long integer) - Maximum content size in bytes. - **maxContentSizeHumanReadable** (string) - Human-readable representation of max content size. - **maxVideoLength** (long integer) - Maximum video length in milliseconds. - **minVideoLength** (long integer) - Minimum video length in milliseconds. - **maxShareableAlbums** (integer) - Maximum number of shareable albums. - **maxVideosPerAlbum** (integer) - Maximum number of videos per album. ``` -------------------------------- ### GET /v3/legal-agreements Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves general legal agreements information. ```APIDOC ## GET /v3/legal-agreements ### Description Retrieves general legal agreements information. ### Method GET ### Endpoint /v3/legal-agreements ``` -------------------------------- ### Get offers endpoint Source: https://opengrind.org/grindr-api/commerce/offers Retrieves a list of offers. This endpoint is currently a work in progress. ```http GET /v2/offers ``` -------------------------------- ### GET /v2/store/googleplay/products/{oneStopShopCategory} Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves products by one stop shop category. ```APIDOC ## GET /v2/store/googleplay/products/{oneStopShopCategory} ### Description Retrieves products by one stop shop category. ### Method GET ### Endpoint /v2/store/googleplay/products/{oneStopShopCategory} ### Parameters #### Path Parameters - **oneStopShopCategory** (string) - Required - The category identifier. ``` -------------------------------- ### GET /v1/favorites/notes Source: https://opengrind.org/grindr-api/users/favorites Retrieves all notes associated with favorites. ```APIDOC ## GET /v1/favorites/notes ### Description Retrieves all notes associated with favorites. Requires Authorization. ### Method GET ### Endpoint /v1/favorites/notes ### Response #### Success Response (200) - **notes** (Array) - List of favorite notes. ``` -------------------------------- ### GET /v1/entitlements Source: https://opengrind.org/grindr-api/browse/entitlements Retrieves general user entitlement information. ```APIDOC ## GET /v1/entitlements ### Description Retrieves general user entitlements. ### Method GET ### Endpoint /v1/entitlements ### Response #### Success Response (200) - **rightNow** (integer) - count of Right Now entitlements ``` -------------------------------- ### GET https://api.spotify.com/v1/search Source: https://opengrind.org/grindr-api/third-party-integrations/spotify Searches for Spotify tracks. ```APIDOC ## GET https://api.spotify.com/v1/search ### Description Searches for Spotify tracks. ### Method GET ### Endpoint https://api.spotify.com/v1/search ### Parameters #### Query Parameters - **q** (string) - Optional - Search query - **type** (string) - Optional - Type of search ``` -------------------------------- ### Get media in drawer Source: https://opengrind.org/grindr-api/messaging/drawer Retrieves an array of DrawerMedia objects. Requires authorization. ```http GET /v4/chat/media/drawer ``` -------------------------------- ### Get boost sessions Source: https://opengrind.org/grindr-api/commerce/boosting Retrieves current boost sessions. ```http GET /v2/boost/sessions ``` -------------------------------- ### GET /v1/rightnow/requests/outbox Source: https://opengrind.org/grindr-api/right-now Retrieves sent Right Now requests. ```APIDOC ## GET /v1/rightnow/requests/outbox ### Description Retrieves sent Right Now requests. Requires Authorization. ### Method GET ### Endpoint /v1/rightnow/requests/outbox ``` -------------------------------- ### GET /v1/rightnow/requests/inbox Source: https://opengrind.org/grindr-api/right-now Retrieves received Right Now requests. ```APIDOC ## GET /v1/rightnow/requests/inbox ### Description Retrieves received Right Now requests. Requires Authorization. ### Method GET ### Endpoint /v1/rightnow/requests/inbox ``` -------------------------------- ### Fetch device-key challenge Source: https://opengrind.org/grindr-api/media Initiates the device-key registration process by retrieving a one-time challenge string. ```http POST /v1/verification/device-keys/challenge ``` -------------------------------- ### GET /v4/legal-agreements/top-picks Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the top picks agreement v4. ```APIDOC ## GET /v4/legal-agreements/top-picks ### Description Retrieves the top picks agreement v4. ### Method GET ### Endpoint /v4/legal-agreements/top-picks ``` -------------------------------- ### GET /v4/chat/media/drawer Source: https://opengrind.org/grindr-api/messaging/drawer Retrieves the list of media items currently in the drawer. ```APIDOC ## GET /v4/chat/media/drawer ### Description Retrieves all media items stored in the drawer. ### Method GET ### Endpoint /v4/chat/media/drawer ### Response #### Success Response (200) - **Array** (DrawerMedia) - List of media items in the drawer. ``` -------------------------------- ### POST /v1/boost/preferences/super Source: https://opengrind.org/grindr-api/commerce/boosting Sets preferences for super boosts. ```APIDOC ## POST /v1/boost/preferences/super ### Description Updates the user's preferences for super boosts. ### Method POST ### Endpoint /v1/boost/preferences/super ``` -------------------------------- ### GET /v5/rightnow/feed Source: https://opengrind.org/grindr-api/right-now Retrieves the Right Now feed (v5). ```APIDOC ## GET /v5/rightnow/feed ### Description Retrieves the Right Now feed using the v5 feature flag. Requires authorization. ### Method GET ### Endpoint /v5/rightnow/feed ### Response #### Success Response (200) - **items** (array) - List of RightNowFeedResponseItem objects. - **viewerCount** (number) - Number of profiles currently viewing the feed area. ``` -------------------------------- ### GET /v3/me/legal-agreements Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the list of accepted legal agreements for the current user. ```APIDOC ## GET /v3/me/legal-agreements ### Description Retrieves the list of accepted legal agreements for the current user. ### Method GET ### Endpoint /v3/me/legal-agreements ``` -------------------------------- ### POST /v2/media/upload Source: https://opengrind.org/grindr-api/right-now Uploads Right Now media with cropping, rotation, and flipping parameters. ```APIDOC ## POST /v2/media/upload ### Description Uploads an uncropped photo with a separate crop rectangle, a thumbnail crop, plus rotate and flip_vertical settings. ### Method POST ### Endpoint /v2/media/upload ### Parameters #### Query Parameters - **crop_top** (integer) - Optional - **crop_bottom** (integer) - Optional - **crop_left** (integer) - Optional - **crop_right** (integer) - Optional - **img_1_top** (integer) - Optional - **img_1_bottom** (integer) - Optional - **img_1_left** (integer) - Optional - **img_1_right** (integer) - Optional - **rotate** (integer) - Optional - 0, 90, 180 or 270 - **flip_vertical** (boolean) - Optional ### Request Body - **Binary file** - Required ``` -------------------------------- ### GET /v3/rightnow/active-post Source: https://opengrind.org/grindr-api/right-now Retrieves the active Right Now post. ```APIDOC ## GET /v3/rightnow/active-post ### Description Retrieves the active Right Now post. ### Method GET ### Endpoint /v3/rightnow/active-post ``` -------------------------------- ### GET /v3/discover Source: https://opengrind.org/grindr-api/browse/discover Retrieves discover profiles using a geohash and a list of previewed profiles. ```APIDOC ## GET /v3/discover ### Description Retrieves discover profiles based on location and previously viewed profiles. ### Method GET ### Endpoint /v3/discover ### Parameters #### Query Parameters - **geohash** (string) - Required - Geohash - **previewedProfiles** (array of long integers) - Optional - List of profile IDs already previewed ### Response #### Success Response (200) - **status** (string) - Subscription status (e.g., "SubscriptionRequired") - **body** (object) - Response body containing upsell info and profiles ``` -------------------------------- ### POST /v8/sessions/thirdparty Source: https://opengrind.org/grindr-api/authentication Handles initial login or session refresh via third-party providers. ```APIDOC ## POST /v8/sessions/thirdparty ### Description Performs initial login or session refresh using third-party credentials. ### Method POST ### Endpoint /v8/sessions/thirdparty ### Request Body - **thirdPartyVendor** (integer) - Optional - 1 for Facebook, 2 for Google. - **thirdPartyToken** (string) - Optional - Provider access token. - **thirdPartyUserId** (string) - Optional - Stable provider user id for session refresh. - **authToken** (string) - Optional - Grindr authToken for session refresh. - **geohash** (string) - Optional - Geohash string or null. ### Response #### Success Response (200) - **profileId** (string) - Account's ID. - **sessionId** (string) - Session ID. - **authToken** (string) - Auth token for session refresh. ``` -------------------------------- ### GET /v1/explore_heatmaps/all_locations Source: https://opengrind.org/grindr-api/system/heatmap Retrieves all explore heatmaps for all locations. ```APIDOC ## GET /v1/explore_heatmaps/all_locations ### Description Retrieves all explore heatmaps for all locations. ### Method GET ### Endpoint /v1/explore_heatmaps/all_locations ``` -------------------------------- ### Create a new album Source: https://opengrind.org/grindr-api/messaging/albums Creates a new album with an optional name. Returns a 402 error if the user has reached their album limit. ```http POST /v2/albums ``` -------------------------------- ### Create offer endpoint Source: https://opengrind.org/grindr-api/commerce/offers Creates a new offer. Supports an optional offerType query parameter. ```http POST /v2/offers ``` -------------------------------- ### GET https://cdns.grindr.com/images/profile/{size}/{mediaHash} Source: https://opengrind.org/grindr-api/media/public-cdn-files Retrieves a profile image resized to the requested dimensions. ```APIDOC ## GET https://cdns.grindr.com/images/profile/{size}/{mediaHash} ### Description Retrieves a profile image. One side will be the requested size and the other will be less than or equal to the requested size. ### Method GET ### Endpoint https://cdns.grindr.com/images/profile/{size}/{mediaHash} ### Parameters #### Path Parameters - **size** (string) - Required - Available sizes: 2048x2048, 1024x1024, 480x480, 320x320. - **mediaHash** (string) - Required - The hash identifier for the media. ### Response #### Success Response (200) - **body** (binary) - Image binary. ``` -------------------------------- ### POST /v5/chat/media/upload Source: https://opengrind.org/grindr-api/messaging/drawer Uploads a media file to the server. ```APIDOC ## POST /v5/chat/media/upload ### Description Uploads a binary media file. ### Method POST ### Endpoint /v5/chat/media/upload ### Parameters #### Query Parameters - **length** (long integer) - Optional - Length for audio/video. - **looping** (boolean) - Optional - Looping flag for video. - **takenOnGrindr** (boolean) - Optional - Indicates if captured with in-app camera. ### Request Body - **Binary file** - The media file content. ### Response #### Success Response (200) - **mediaId** (long integer) - The ID of the uploaded media. - **url** (URL) - The URL of the uploaded media. - **mediaHash** (string) - The hash of the media. ``` -------------------------------- ### Get all notes Source: https://opengrind.org/grindr-api/users/favorites Retrieves all favorite notes for the user. Requires authorization. ```http GET /v1/favorites/notes ``` -------------------------------- ### GET /v3/alist/profiles Source: https://opengrind.org/grindr-api/interest/alist Retrieves a list of profiles with optional filtering. ```APIDOC ## GET /v3/alist/profiles ### Description Retrieves a list of profiles with optional filtering. ### Method GET ### Endpoint /v3/alist/profiles ### Parameters #### Query Parameters - **filter** (array of strings) - Optional - Filter criteria for the profiles. ``` -------------------------------- ### GET /v1/store/googleplay/products/consumables Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves consumable products (deprecated). ```APIDOC ## GET /v1/store/googleplay/products/consumables ### Description Retrieves consumable products (deprecated). ### Method GET ### Endpoint /v1/store/googleplay/products/consumables ``` -------------------------------- ### Upload Right Now Media (v2) Source: https://opengrind.org/grindr-api/right-now Uploads media with cropping, rotation, and flipping parameters when the right-now-media-upload-v2 flag is enabled. ```http POST /v2/media/upload ``` -------------------------------- ### GET /v4/legal-agreements/right-now Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the right now agreement (deprecated). ```APIDOC ## GET /v4/legal-agreements/right-now ### Description Retrieves the right now agreement (deprecated). Removed in the official Android client v26.13.0. ### Method GET ### Endpoint /v4/legal-agreements/right-now ``` -------------------------------- ### Retrieve chat media via signed URL Source: https://opengrind.org/grindr-api/media/signed-cdn-files Use this GET request to fetch binary media content from the CDN using the required authentication query parameters. ```http GET https://{distribution}.cloudfront.net/{uploaderProfileId}/{mediaHash} ``` -------------------------------- ### POST /v1/verification/device-keys/challenge Source: https://opengrind.org/grindr-api/media Fetches a one-time challenge required for device-key registration. ```APIDOC ## POST /v1/verification/device-keys/challenge ### Description First step of device-key registration. Returns a one-time challenge to fold into the registration signature. ### Method POST ### Endpoint /v1/verification/device-keys/challenge ### Response #### Success Response (200) - **challenge** (string) - Opaque challenge string to fold into the registration signature. - **expiresAt** (string) - ISO-8601 instant after which the challenge is no longer accepted. ``` -------------------------------- ### GET /v1/access-requests Source: https://opengrind.org/grindr-api/safety/access-requests Retrieves access requests for v1. ```APIDOC ## GET /v1/access-requests ### Description Retrieves access requests. ### Method GET ### Endpoint /v1/access-requests ``` -------------------------------- ### GET https://cdns.grindr.com/images/thumb/{size}/{mediaHash} Source: https://opengrind.org/grindr-api/media/public-cdn-files Retrieves a thumbnail image cropped to the requested dimensions. ```APIDOC ## GET https://cdns.grindr.com/images/thumb/{size}/{mediaHash} ### Description Retrieves a thumbnail image. The image will be cropped at the center and both sides will be exactly the requested size. ### Method GET ### Endpoint https://cdns.grindr.com/images/thumb/{size}/{mediaHash} ### Parameters #### Path Parameters - **size** (string) - Required - Available sizes: 480x480, 320x320, 75x75. - **mediaHash** (string) - Required - The hash identifier for the media. ### Response #### Success Response (200) - **body** (binary) - Image binary. ``` -------------------------------- ### Get my albums Source: https://opengrind.org/grindr-api/messaging/albums Retrieves a list of the authenticated user's albums. ```http GET /v1/albums ``` -------------------------------- ### GET /v3/vip-profiles Source: https://opengrind.org/grindr-api/commerce/vip Retrieves a list of VIP profiles. Requires authorization. ```APIDOC ## GET /v3/vip-profiles ### Description Retrieves a list of VIP profiles. Requires Authorization. ### Method GET ### Endpoint /v3/vip-profiles ### Response #### Success Response (200) - **vip-profiles** (array) - An array of VipProfileResponse objects. ``` -------------------------------- ### Get visiting settings Source: https://opengrind.org/grindr-api/settings/account Retrieves the current visiting-status mode for the authenticated user. ```http GET /v1/visiting/settings ``` -------------------------------- ### POST /v1/boost/preferences/mega Source: https://opengrind.org/grindr-api/commerce/boosting Sets preferences for mega boosts. ```APIDOC ## POST /v1/boost/preferences/mega ### Description Updates the user's preferences for mega boosts. ### Method POST ### Endpoint /v1/boost/preferences/mega ``` -------------------------------- ### GET /v2/access-requests Source: https://opengrind.org/grindr-api/safety/access-requests Retrieves access requests for v2. ```APIDOC ## GET /v2/access-requests ### Description Retrieves access requests. ### Method GET ### Endpoint /v2/access-requests ``` -------------------------------- ### GET /v1/chat/phrases Source: https://opengrind.org/grindr-api/messaging/saved-phrases Retrieves a list of saved phrases. ```APIDOC ## GET /v1/chat/phrases ### Description Retrieves a list of saved phrases. ### Method GET ### Endpoint /v1/chat/phrases ### Response #### Success Response (200) - **phrases** (array) - List of SavedPhrase objects ``` -------------------------------- ### POST /v2/offers Source: https://opengrind.org/grindr-api/commerce/offers Creates a new offer. ```APIDOC ## POST /v2/offers ### Description Creates a new offer. ### Method POST ### Endpoint /v2/offers ### Parameters #### Query Parameters - **offerType** (string) - Optional - The type of offer to create. ``` -------------------------------- ### POST /v1/age-verification/session Source: https://opengrind.org/grindr-api/browse/age-verification Starts the age-verification flow required when the session is age-restricted. ```APIDOC ## POST /v1/age-verification/session ### Description Starts the age-verification flow required when the session is age-restricted (JWT restriction = AGE_RESTRICTED, regions UK/BR/AU). ### Method POST ### Endpoint /v1/age-verification/session ``` -------------------------------- ### Get genders Source: https://opengrind.org/grindr-api/users/profiles Retrieves gender information from the public API. ```http GET /public/v2/genders ``` ```http GET /public/v1/genders ``` -------------------------------- ### GET /v7/profiles/{id} Source: https://opengrind.org/grindr-api/users/profiles Fetches a single profile by its unique identifier. ```APIDOC ## GET /v7/profiles/{id} ### Description Fetch a single profile by ID. When the ID belongs to the authenticated user, self-presence fields are returned as null. ### Method GET ### Endpoint /v7/profiles/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the profile. ### Response #### Success Response (200) - **profiles** (Array) - Array of Profile objects. ``` -------------------------------- ### GET https://cdns.grindr.com/grindr/chat/gaymoji/{id} Source: https://opengrind.org/grindr-api/media/public-cdn-files Retrieves a specific Gaymoji asset by its ID. ```APIDOC ## GET https://cdns.grindr.com/grindr/chat/gaymoji/{id} ### Description Retrieves a specific Gaymoji asset by its ID. The ID must include the file extension (e.g., name.png). ### Method GET ### Endpoint https://cdns.grindr.com/grindr/chat/gaymoji/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the Gaymoji including file extension. ### Response #### Success Response (200) - **body** (binary) - Image binary. ``` -------------------------------- ### Get User Preferences Source: https://opengrind.org/grindr-api/settings/account Retrieves the current user's settings and preferences. Requires authorization. ```http GET /v3/me/prefs/settings ``` -------------------------------- ### PUT /v3/me/prefs/settings Source: https://opengrind.org/grindr-api/settings/account Updates the current user's account preferences and settings. Requires authorization. ```APIDOC ## PUT /v3/me/prefs/settings ### Description Updates the current user's account preferences and settings. Requires Authorization. ### Method PUT ### Endpoint /v3/me/prefs/settings ### Request Body - **settings** (object) - User settings object - **locationSearchOptOut** (boolean) - Optional - **incognito** (boolean) - Optional - **hideViewedMe** (boolean) - Optional - **approximateDistance** (boolean) - Optional - **viewRightNowNsfw** (boolean) - Optional - **showOnMap** (boolean) - Optional - **mapLocationFuzzRadius** (integer) - Optional ### Response #### Success Response (200) - Empty ``` -------------------------------- ### GET /v1/hides Source: https://opengrind.org/grindr-api/browse/hides Retrieves a list of all hidden users. ```APIDOC ## GET /v1/hides ### Description Retrieves a list of all hidden users. Requires Authorization. ### Method GET ### Endpoint /v1/hides ### Response #### Success Response (200) - **hides** (array) - List of hidden user objects - **profileId** (long integer) - The ID of the profile - **displayName** (string) - The display name of the user - **mediaHash** (string) - The media hash ``` -------------------------------- ### POST /v1/verification/device-keys Source: https://opengrind.org/grindr-api/security-headers Submits a registered device key using a signature generated from the challenge. ```APIDOC ## POST /v1/verification/device-keys ### Description Submits the device public key and a registration signature to the server. ### Method POST ### Endpoint /v1/verification/device-keys ### Request Body - **publicKey** (string) - base64url(SPKI) - **keyId** (string) - base64url(SHA-256(SPKI)) - **registrationSignature** (string) - base64url(DER signature) ### Request Example { "publicKey": "", "keyId": "", "registrationSignature": "" } ### Response #### Success Response (200) - **keyId** (string) - The accepted key id ``` -------------------------------- ### Upload media (signed) Source: https://opengrind.org/grindr-api/messaging/drawer Uploads binary media files with device-key signature verification. Requires authorization and specific security headers. ```http POST /v6/chat/media/upload ``` -------------------------------- ### GET /v3/albums/{albumId}/view Source: https://opengrind.org/grindr-api/messaging/albums Records a view for an album. ```APIDOC ## GET /v3/albums/{albumId}/view ### Description Records a view for an album. ### Method GET ### Endpoint /v3/albums/{albumId}/view ### Parameters #### Path Parameters - **albumId** (string) - Required - The ID of the album ### Response #### Success Response (200) - Empty response #### Error Response (403) - Repeated requests on view-once albums are forbidden ``` -------------------------------- ### GET /v3.1/me/profile/images Source: https://opengrind.org/grindr-api/users/profiles Retrieves the current user's profile photos. ```APIDOC ## GET /v3.1/me/profile/images ### Description Retrieves the profile photos for the authenticated user. ### Method GET ### Endpoint /v3.1/me/profile/images ### Parameters #### Query Parameters - **selected** (boolean) - Optional - Filter by selection status. ### Response #### Success Response (200) - **medias** (array of ProfileImageState) - List of profile images. ``` -------------------------------- ### GET /v2/albums/{albumId} Source: https://opengrind.org/grindr-api/messaging/albums Retrieves details for a specific album. ```APIDOC ## GET /v2/albums/{albumId} ### Description Retrieves details for a specific album. ### Method GET ### Endpoint /v2/albums/{albumId} ### Parameters #### Path Parameters - **albumId** (string) - Required - The ID of the album ### Response #### Success Response (200) - **AlbumDetailsResponse** (object) - Album details #### Error Response (403) - Access denied or album does not exist ``` -------------------------------- ### Configure OkHttp Redirects Source: https://opengrind.org/grindr-api/security-headers Disables automatic redirects for both standard and SSL connections. ```java followRedirects(false).followSslRedirects(false) ``` -------------------------------- ### GET /v4/me/profile Source: https://opengrind.org/grindr-api/users/profiles Retrieves the authenticated user's own profile information. ```APIDOC ## GET /v4/me/profile ### Description Returns the authenticated user's own profile in a single-element `profiles` envelope. ### Method GET ### Endpoint /v4/me/profile ### Response #### Success Response (200) - **profiles** (array) - Array of ProfileSummaryWithRightNow ``` -------------------------------- ### GET /v1/chat/suggestions Source: https://opengrind.org/grindr-api/messaging/conversations Retrieves AI-generated chat suggestions for a conversation. ```APIDOC ## GET /v1/chat/suggestions ### Description Fetches AI chat suggestions for a given conversation. ### Method GET ### Endpoint /v1/chat/suggestions ### Parameters #### Query Parameters - **conversationId** (string) - Required - The ID of the conversation. ### Response #### Success Response (200) - **suggestions** (array) - Array of objects containing id (UUIDv3), text (string), and type (string: SAVED_PHRASE or SMART_PHRASE). ``` -------------------------------- ### GET https://api.spotify.com/v1/tracks Source: https://opengrind.org/grindr-api/third-party-integrations/spotify Retrieves Spotify tracks by ID. ```APIDOC ## GET https://api.spotify.com/v1/tracks ### Description Retrieves Spotify tracks by ID. ### Method GET ### Endpoint https://api.spotify.com/v1/tracks ### Parameters #### Query Parameters - **ids** (string) - Optional - Comma-separated list of track IDs ``` -------------------------------- ### Get age verification options Source: https://opengrind.org/grindr-api/browse/age-verification Retrieves available options for the age verification process. ```http GET /v1/age-verification/options ``` -------------------------------- ### GET /v4/rightnow/feed Source: https://opengrind.org/grindr-api/right-now Retrieves the Right Now feed of nearby posts. ```APIDOC ## GET /v4/rightnow/feed ### Description Retrieves the Right Now feed of nearby posts. Requires Authorization. ### Method GET ### Endpoint /v4/rightnow/feed ### Parameters #### Query Parameters - **sort** (string) - Optional - **hosting** (boolean) - Optional - **sexualPositions** (array) - Optional - Integers concatenated with a comma - **ageMin** (integer) - Optional - **ageMax** (integer) - Optional ### Response #### Success Response (200) - **items** (array) - List of RightNowFeedResponseItem - **viewerCount** (number) - Number of profiles currently viewing the feed area ``` -------------------------------- ### GET /v2/discover Source: https://opengrind.org/grindr-api/browse/discover Legacy endpoint to retrieve discover profiles using a geohash. ```APIDOC ## GET /v2/discover ### Description Legacy endpoint for retrieving discover profiles. ### Method GET ### Endpoint /v2/discover ### Parameters #### Query Parameters - **geohash** (string) - Required - Geohash ``` -------------------------------- ### Get Right Now Google Play SKU Source: https://opengrind.org/grindr-api/right-now Retrieves the Google Play SKU for the Right Now feature. ```http GET /v1/rightnow/googleplay/sku ``` -------------------------------- ### POST /v1/media/upload Source: https://opengrind.org/grindr-api/right-now Uploads media for a Right Now post. ```APIDOC ## POST /v1/media/upload ### Description Uploads media for a Right Now post. ### Method POST ### Endpoint /v1/media/upload ### Parameters #### Query Parameters - **img_1_bottom** (integer) - Optional - Bottom coordinate. - **img_1_left** (integer) - Optional - Left coordinate. - **img_1_right** (integer) - Optional - Right coordinate. - **img_1_top** (integer) - Optional - Top coordinate. ### Request Body - **file** (binary) - Required - The media file to upload. ``` -------------------------------- ### GET /v3.1/flags/{id} Source: https://opengrind.org/grindr-api/safety/reports Retrieves a report with version 3.1. ```APIDOC ## GET /v3.1/flags/{id} ### Description Retrieves a report using the v3.1 API. ### Method GET ### Endpoint /v3.1/flags/{id} ``` -------------------------------- ### GET /v4/flags/{id} Source: https://opengrind.org/grindr-api/safety/reports Retrieves a report with version 4. ```APIDOC ## GET /v4/flags/{id} ### Description Retrieves a report using the v4 API. ### Method GET ### Endpoint /v4/flags/{id} ``` -------------------------------- ### Create account via email Source: https://opengrind.org/grindr-api/settings/account Endpoint for creating a new account using an email address. The URL is dynamic and currently undocumented. ```http POST /v?/users/registration/email ``` -------------------------------- ### L-Time-Zone Header Example Source: https://opengrind.org/grindr-api/security-headers Time zone header format using standard Country/Region identifiers. ```text America/New_York ``` ```text Europe/Madrid ``` -------------------------------- ### Get a list profiles Source: https://opengrind.org/grindr-api/interest/alist Retrieves a list of profiles, optionally filtered by an array of strings. ```http GET /v3/alist/profiles ``` -------------------------------- ### Get album shares Source: https://opengrind.org/grindr-api/messaging/albums Returns a list of profile IDs that the album has been shared with. Requires authorization. ```http GET /v1/albums/{albumId}/shares ``` -------------------------------- ### POST /v1/video-call Source: https://opengrind.org/grindr-api/videocalls Creates a new video call. ```APIDOC ## POST /v1/video-call ### Description Creates a new video call session. ### Method POST ### Endpoint /v1/video-call ``` -------------------------------- ### GET /v3/profile-insights/me/settings Source: https://opengrind.org/grindr-api/users/profiles Retrieves the authenticated user's profile insight settings. ```APIDOC ## GET /v3/profile-insights/me/settings ### Description Fetches the current user's profile insight settings. Requires Authorization. ### Method GET ### Endpoint /v3/profile-insights/me/settings ### Response #### Success Response (200) - **status** (ProfileInsightsStatus) - Current status - **settings** (array) - User settings ``` -------------------------------- ### Get own profile Source: https://opengrind.org/grindr-api/users/profiles Retrieves the authenticated user's profile. Requires authorization. ```http GET /v4/me/profile ``` -------------------------------- ### Get subscriptions Source: https://opengrind.org/grindr-api/commerce/storeapirest Retrieves the current user's subscriptions. ```http GET /v3/me/subscriptions ``` -------------------------------- ### POST /v?/users/registration/email Source: https://opengrind.org/grindr-api/settings/account Creates a new account via email. Note: This endpoint is currently a work in progress and undocumented. ```APIDOC ## POST /v?/users/registration/email ### Description Creates a new account using an email address. ### Method POST ### Endpoint /v?/users/registration/email ### Request Body - **CreateAccountEmailRequest** (object) - Required - Undocumented request body structure. ### Response - **FirstPartyCreateAccountResponse** (object) - Undocumented response structure. ``` -------------------------------- ### Get pronouns Source: https://opengrind.org/grindr-api/users/profiles Retrieves dynamic pronoun fields from the server. Requires authorization. ```http GET /v1/pronouns ``` -------------------------------- ### WebSocket Connection Source: https://opengrind.org/grindr-api/websocket/index Details for establishing a connection to the WebSocket server. ```APIDOC ## WebSocket Connection ### Description Connect to the Grindr WebSocket service to receive real-time events. Requires Authorization and User-Agent headers. ### Endpoint `wss://grindr.mobi/v1/ws` ### Headers - **Authorization** (string) - Required - Authentication token. - **User-Agent** (string) - Required - Client identification. ### Connection Behavior - Upon successful connection, the client receives a `ws.connection.established` event. - Expired tokens do not close the connection immediately, but using them with commands will result in a 4401 status code closure. ``` -------------------------------- ### Registration string format Source: https://opengrind.org/grindr-api/security-headers The canonical format for the registration message before signing. ```text |||| ``` -------------------------------- ### GET /v5/legal-agreements/subscriber-sponsored-content Source: https://opengrind.org/grindr-api/safety/legal-agreements Retrieves the subscriber sponsored content agreement. ```APIDOC ## GET /v5/legal-agreements/subscriber-sponsored-content ### Description Retrieves the subscriber sponsored content agreement. ### Method GET ### Endpoint /v5/legal-agreements/subscriber-sponsored-content ``` -------------------------------- ### POST /v5/media/upload Source: https://opengrind.org/grindr-api/users/profiles Uploads media to a user profile. This endpoint requires a valid device-key signature in the headers. ```APIDOC ## POST /v5/media/upload ### Description Uploads media to the user profile. This is the signed successor to the legacy upload endpoint and requires a valid device-key signature over the request body. ### Method POST ### Endpoint /v5/media/upload ### Parameters #### Query Parameters - **thumbCoords** (RectF) - Optional - Coordinates for square thumbnail generation. - **takenOnGrindr** (boolean) - Optional - Indicates if the media was captured with the in-app camera. #### Headers - **X-Key-Id** (base64url) - Required - SHA-256 of the device key SPKI. - **X-Sig** (base64url) - Required - DER ECDSA-P256-SHA256 signature. - **X-Timestamp** (string) - Required - Unix epoch milliseconds. - **X-Nonce** (base64url) - Required - 32 random bytes. ### Request Body - **Binary file** - Required - The raw media file. ### Response #### Success Response (200) - **hash** (string) - Media hash. - **imageSizes** (array) - List of image size objects. - **mediaHash** (string) - Public CDN hash. - **fullUrl** (URL) - Full image URL. - **state** (string) - Moderation state. - **thumbnail** (boolean) - Whether the image is a thumbnail. - **size** (integer) - Pixel size of the longest edge. ``` -------------------------------- ### Get eligible offers endpoint Source: https://opengrind.org/grindr-api/commerce/offers Retrieves a list of eligible offers. This endpoint is currently a work in progress. ```http GET /v2/offers/eligible ```