diff --git a/pkg/internal/services/fediverse.go b/pkg/internal/services/fediverse.go
index ff56d12..0ef1b5e 100644
--- a/pkg/internal/services/fediverse.go
+++ b/pkg/internal/services/fediverse.go
@@ -17,10 +17,10 @@ type FromFediversePost interface {
 }
 
 type FediverseFriendConfig struct {
-	ID        string `json:"id"`
-	URL       string `json:"url"`
-	Type      string `json:"type"`
-	BatchSize int    `json:"batch_size" toml:"batch_size"`
+	ID       string `json:"id"`
+	URL      string `json:"url"`
+	Type     string `json:"type"`
+	Trending bool   `json:"trending"`
 }
 
 var fediverseFriends []FediverseFriendConfig
@@ -35,7 +35,7 @@ func ReadFriendConfig() {
 func FetchFediversePost(cfg FediverseFriendConfig) ([]models.FediversePost, error) {
 	switch cfg.Type {
 	case "mastodon":
-		data, err := mastodon.FetchTimeline(cfg.URL, 50)
+		data, err := mastodon.FetchTimeline(cfg.URL, 50, cfg.Trending)
 		if err != nil {
 			return nil, err
 		}
diff --git a/pkg/internal/services/mastodon/fetch.go b/pkg/internal/services/mastodon/fetch.go
index a4e1e32..92a9bac 100644
--- a/pkg/internal/services/mastodon/fetch.go
+++ b/pkg/internal/services/mastodon/fetch.go
@@ -59,8 +59,16 @@ func (v MastodonPost) ToFediversePost() models.FediversePost {
 	}
 }
 
-func FetchTimeline(server string, limit int) ([]MastodonPost, error) {
-	url := fmt.Sprintf("%s/api/v1/trends/statuses?limit=%d", server, limit)
+func FetchTimeline(server string, limit int, useTrend bool) ([]MastodonPost, error) {
+	url := fmt.Sprintf(
+		lo.Ternary(
+			useTrend,
+			"%s/api/v1/trends/statuses?limit=%d",
+			"%s/api/v1/timelines/public?limit=%s",
+		),
+		server,
+		limit,
+	)
 	log.Debug().Str("url", url).Msg("Fetching mastodon timeline...")
 
 	resp, err := http.Get(url)