OnlyFans API
Saved for later (messages)

List Saved For Later Messages

List all messages that are marked as "Save For Later".

GET
/api/{account}/saved-for-later/messages
AuthorizationBearer <token>

You can retrieve your token by visiting the OnlyFansAPI Console and clicking API Keys -> Create API Key.

In: header

Path Parameters

accountstring

The Account ID

Query Parameters

limitinteger

Maximum number of messages to return (default = 10)

offsetinteger

Offset for pagination (default = 0)

Response Body

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10"
fetch("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10")
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10"

  req, _ := http.NewRequest("GET", url, nil)
  
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10"

response = requests.request("GET", url)

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;

HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10"))
  .GET()
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var response = await client.GetAsync("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/saved-for-later/messages?limit=10");
var responseBody = await response.Content.ReadAsStringAsync();
{
  "data": {
    "list": [
      {
        "id": 123,
        "type": "chat",
        "publishDateTime": null,
        "createdDateTime": "2025-01-01T01:01:01+01:01",
        "entity": {
          "responseType": "message",
          "id": 123,
          "text": "<p>Text</p>",
          "rawText": "Text",
          "giphyId": null,
          "lockedText": false,
          "isNew": true,
          "isFree": true,
          "isOpened": false,
          "price": 0,
          "isMediaReady": true,
          "mediaCount": 0,
          "media": [],
          "previews": [],
          "createdAt": "2025-01-01T01:01:01+01:01",
          "changedAt": "2025-01-01T01:01:01+01:01",
          "scheduledAt": null,
          "isTip": false,
          "cancelSeconds": 1000000,
          "isLiked": false,
          "canPurchase": false,
          "isMarkdownDisabled": true,
          "releaseForms": [],
          "userIds": [
            "123"
          ],
          "sentRulesType": "user",
          "sentRulesExtra": "username",
          "isFromQueue": true,
          "queueId": 123,
          "canUnsendQueue": true,
          "unsendSecondsQueue": 1000000
        }
      }
    ],
    "hasMore": false,
    "syncInProcess": false
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 999999943,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 999,
      "remaining_day": 49974
    }
  }
}