Skip to content

Trash Nothing API

by trashnothing.com

OAuthHTTPSCORSSocial
Open documentation ↗

Overview

A freecycling community with thousands of free items posted every day

Trash Nothing is a social API from trashnothing.com. Requests are authenticated with OAuth. It is served over HTTPS and allows browser requests (CORS). Its OpenAPI description documents 76 endpoints.

At a glance

Authentication
OAuth
HTTPS
Yes
CORS
Yes
Category
Social
Base URL
https://trashnothing.com/api/v1.3
Version
1.3
Endpoints
76
Spec updated
2023-03-03

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://trashnothing.com/api/v1.3/conversations" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"
JavaScript
const response = await fetch("https://trashnothing.com/api/v1.3/conversations", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://trashnothing.com/api/v1.3/conversations",
    headers={
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/conversationsList conversations
PUT/conversations/archive-allArchive all conversations
PUT/conversations/mark-all-readMark all conversations as read
GET/conversations/searchSearch conversations
DELETE/conversations/{conversation_id}Delete conversation
PUT/conversations/{conversation_id}/archiveArchive conversation
PUT/conversations/{conversation_id}/blockBlock conversation
PUT/conversations/{conversation_id}/mark-readMark conversation as read
GET/conversations/{conversation_id}/messagesList conversation messages
POST/conversations/{conversation_id}/replyReply to conversation
POST/conversations/{conversation_id}/reportReport conversation
PUT/conversations/{conversation_id}/unarchiveUnarchive conversation
PUT/conversations/{conversation_id}/unblockUnblock conversation
POST/feedbackSend feedback
GET/groupsSearch groups
GET/groups/multipleRetrieve multiple groups
POST/groups/subscribeJoin groups
GET/groups/{group_id}Retrieve a group
POST/groups/{group_id}/answersSubmit group answers
POST/groups/{group_id}/contactContact group moderators
POST/groups/{group_id}/unsubscribeLeave a group
POST/photosCreate a photo
GET/photos/multipleRetrieve multiple photos
DELETE/photos/{photo_id}Delete a photo
POST/photos/{photo_id}/rotateRotate a photo
GET/postsList posts
POST/postsSubmit a post
GET/posts/allList all posts
GET/posts/all/changesList all post changes
GET/posts/multipleRetrieve multiple posts
GET/posts/searchSearch posts
GET/posts/{post_id}Retrieve a post
PUT/posts/{post_id}Update a post
DELETE/posts/{post_id}Delete a post
PUT/posts/{post_id}/bookmarkBookmark a post
DELETE/posts/{post_id}/bookmarkDelete a post bookmark
GET/posts/{post_id}/displayRetrieve post display data
PUT/posts/{post_id}/promisePromise an offer post
POST/posts/{post_id}/replyReply to a post
POST/posts/{post_id}/reportReport a post
PUT/posts/{post_id}/satisfySatisfy a post
POST/posts/{post_id}/shareShare a post
PUT/posts/{post_id}/unpromiseUnpromise an offer post
PUT/posts/{post_id}/withdrawWithdraw a post
GET/storiesList stories
POST/storiesSubmit a story
GET/stories/{story_id}Retrieve a story
PUT/stories/{story_id}/likeLike a story
PUT/stories/{story_id}/unlikeUnlike a story
POST/stories/{story_id}/viewedRecord story viewed
GET/users/meRetrieve current user
PUT/users/meUpdate current user
GET/users/me/alertsList current users' email alerts
PUT/users/me/alertsCreate an email alert
DELETE/users/me/alerts/{alert_id}Delete an email alert
POST/users/me/emailChange email address
PUT/users/me/email/not-bouncingSet users' email address as not bouncing
GET/users/me/groupsList current users' groups
PUT/users/me/locationUpdate location
GET/users/me/noticesList current users' group notices
GET/users/me/post-locationsList current users' post locations
PUT/users/me/post-locationsSave a post location for the current user
GET/users/me/postsList current users' posts
GET/users/me/posts/searchSearch current users' posts
POST/users/me/profile-imageSet a profile image
GET/users/me/profile-imagesList current users' profile images
POST/users/me/resend-verificationResend account verification email
POST/users/me/reset-passwordSend password reset email
POST/users/reportReport a user
GET/users/{user_id}Retrieve a user
GET/users/{user_id}/displayRetrieve user display info
POST/users/{user_id}/feedbackSubmit feedback on a user
DELETE/users/{user_id}/feedbackRemove feedback on a user
GET/users/{user_id}/postsList posts by a user
GET/users/{user_id}/posts/searchSearch posts by a user
GET/users/{user_id}/profile-imageRetrieve a users' profile image

Questions

Does the Trash Nothing API need an API key?

Yes. The Trash Nothing API uses OAuth authentication; the documentation explains how to get credentials.

Can I call the Trash Nothing API from the browser?

Yes. The Trash Nothing API sends CORS headers, so a web page can call it directly with fetch().

Does the Trash Nothing API support HTTPS?

Yes, the Trash Nothing API is served over HTTPS.

How many endpoints does the Trash Nothing API have?

Its OpenAPI description lists 76 endpoints in version 1.3. All of them are shown on this page.

What are alternatives to the Trash Nothing API?

Other Social APIs include Blogger, Facebook, Twitter, Pinterest, TikTok.

Compare alternatives →

Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).