Endpoint: https://api.imgur.com/3
The value of the Authorization
header should be the string
"Client-ID <YOUR-CLIENT-ID>"
.
To make requests for the current account, you may use me
as the
{username}
parameter. For example,
https://api.imgur.com/3/account/me/images
will request all the
images for the account that is currently authenticated.
Request standard user information. If you need the username for the account that is logged in, it is returned in the request for an access token.
GET /account/{username}
Authorization: {}
Create a new user on Imgur.
Note: You you MUST send recaptcha information with this request.
Use this as the public captcha key:
6Lf7R8USAAAAAIkTcbhc8Di49orfHUuExshF9z8I
.
POST /account/{username}
Authorization: {}
Delete a user account, you can only access this if you're logged in as the user.
DELETE /account/{username}
Authorization: {}
Return an array of images that have been upvoted by the user.
GET /account/{username}/likes
Authorization: {}
Return the images a user has submitted to the gallery.
GET /account/{username}/submissions/{page}
Authorization: {}
Returns the account settings, only accessible if you're logged in as the user.
GET /account/{username}/settings
Authorization: {}
Return the statistics about the account.
GET /account/{username}/stats
Authorization: {}
Returns the totals for the gallery profile.
GET /account/{username}/gallery_profile
Authorization: {}
Get all the albums associated with the account. Must be logged in as the user to see secret and hidden albums.
GET /account/{username}/albums/{page}
Authorization: {}
Key | Required | Description |
page | optional | integer - allows you to set the page number so you don't have to retrieve all the data at once. |
Get additional information about an album, this endpoint works the same as the Album endpoint. You can also use any of the additional routes that are used on an album in the Album endpoint.
GET /account/{username}/album/{id}
Authorization: {}
Return an array of all of the album IDs.
GET /account/{username}/albums/ids
Authorization: {}
Return the total number of albums associated with the account.
GET /account/{username}/albums/count
Authorization: {}
Delete an Album with a given id.
DELETE /account/{username}/album/{id}
Authorization: {}
Return the comments the user has created.
GET /account/{username}/comments
Authorization: {}
Return information about a specific comment. This endpoint works the same as the Comment endpoint. You can use any of the additional actions that the comment endpoint allows on this end point.
GET /account/{username}/comment/{id}
Authorization: {}
Return an array of all of the comment IDs.
GET /account/{username}/comments/ids
Authorization: {}
Return a count of all of the comments associated with the account.
GET /account/{username}/comments/count
Authorization: {}
Delete a comment. You are required to be logged in as the user whom created the comment.
DELETE /account/{username}/comment/{id}
Authorization: {}
Return all of the images associated with the account. You can page through the images by setting the page, this defaults to 0.
GET /account/{username}/images/{page}
Authorization: {}
Return information about a specific image. This endpoint works the same as the Image Endpoint. You can use any of the additional actions that the image endpoint with this endpoint.
GET /account/{username}/image/{id}
Authorization: {}
Returns an array of Image IDs that are associated with the account.
GET /account/{username}/images/ids
Authorization: {}
Returns the total number of images associated with the account.
GET /account/{username}/images/count
Authorization: {}
Deletes an Image. This requires a delete hash rather than an ID.
DELETE /account/{username}/image/{deletehash}
Authorization: {}
Return all of the notifications associated with the account. Defaults to return only new notifications, however you can set the GET variable, new, to false to return all of the notifications. You're required to be logged in as the user to view this information.
GET /account/{username}/notifications
?[new=true]
Authorization: {}
Key | Required | Value |
new | optional | boolean - false for all notifications, true for only non-viewed notification. Default is true. |
Returns all messages sent to the user, formatted as a notification. Required to be logged in to view this information.
GET /account/{username}/notifications/messages
?[new=true]
Authorization: {}
Key | Required | Value |
new | optional | boolean - false for all notifications, true for only non-viewed notification. Default is true. |
Send a message to the user in the URL from the user that's currently logged in. Set the variables subject (the subject of the message) and body (the body of the message) accordingly. A user must be logged in to send a message to another user.
POST /account/{username}/message
?body={}
&[subject={}]
&[parent_id={}]
Authorization: {}
Key | Required | Value |
body | required | The text of the message. Similar to the body of an email. |
subject | optional | The subject of the message |
parent_id | optional | The ID of the first message in the thread, by setting this, the message will be threaded to the given message. |
Returns all of the reply notifications for the user. Required to be logged in as that user.
GET /account/{username}/notifications/replies
?[new=true]
Authorization: {}
Key | Required | Value |
new | optional | boolean - false for all notifications, true for only non-viewed notification. Default is true. |
Get information about a specific album.
GET /album/{id}
Authorization: {}
Return all of the images in the album
GET /album/{id}/images
Authorization: {}
Get information about an image in an album, any additional actions
found in Image Endpoint
will also work.
GET /album/{id}/image/{id}
Authorization: {}
Create a new album. optional parameter of ids[] is an array of image ids to add to the album.
POST /album/
?[ids={}]
&[title={}]
&[description={}]
&[cover={}]
Authorization: {}
Key | Required | Description |
ids[] | optional | The image ids that you want to be included in the album. |
title | optional | The title of the album |
description | optional | The description of an album |
cover | optional | The ID of an image that you want to be the cover of the album |
Update the information of an album.
PUT /album/{id}
?[ids={}]
&[title={}]
&[description={}]
&[cover={}]
Authorization: {}
Key | Required | Description |
ids[] | optional | The image ids that you want to be included in the album. |
title | optional | The title of the album |
description | optional | The description of an album |
cover | optional | The ID of an image that you want to be the cover of the album |
Delete an album with a given ID. You are required to be logged in as the user to delete the album.
DELETE /album/{id}
Authorization: {}
Sets the images for an album, removes all other images and only uses the images in this request.
POST /album/{id}/
?ids={}
Authorization: {}
Key | Required | Description |
ids[] | required | The image ids that you want to be added to the album. |
Takes parameter, ids[], as an array of ids to add to the album.
POST /album/{id}/add
?ids={}
Authorization: {}
Key | Required | Description |
ids[] | required | The image ids that you want to be added to the album. |
Takes parameter, ids[], as an array of ids and removes from the labum.
DELETE /album/{id}
?ids={}
Authorization: {}
Key | Required | Description |
ids[] | required | The image ids that you want to be added to the album. |
Get information about a specific comment.
GET /comment/{id}
Authorization: {}
Creates a new comment, returns the ID of the comment.
POST /comment
?image_id={}
&comment={}
&[parent_id={}]
Authorization: {}
Parameters
Key | Required | Description |
image_id | required | The ID of the image in the gallery that you wish to comment on |
comment | required | The comment text, this is what will be displayed |
parent_id | optional | The ID of the parent comment, this is an alternative method to create a reply. |
Delete a comment by the given id.
DELETE /comment/{id}
Authorization: {}
Get the comment with all of the replies for the comment.
GET /comment/{id}/replies
Authorization: {}
Vote on a comment. The {vote} variable can only be set as "up" or "down".
POST /comment/{id}/vote/{vote}
Authorization: {}
Report a comment for being inappropriate.
POST /comment/{id}/report
Authorization: {}
Create a reply for the given comment.
POST /comment/{id}
?image_id={}
&comment={}
Authorization: {}
Parameters
Key | Required | Description |
image_id | required | The ID of the image in the gallery that you wish to comment on |
comment | required | The comment text, this is what will be displayed |
Returns the images in the gallery. For example the main gallery is
https://api.imgur.com/3/gallery/hot/viral/0.json
.
GET /gallery/{section}/{sort}/{page}
Authorization: {}
Key | Required | Value |
section | optional | viral | score | time - defaults to viral |
sort | optional | hot | top | new - defaults to hot |
page | optional | integer - the data paging number |
View gallery images for a sub-reddit
GET /gallery/r/{subreddit}/{sort}/{page}
Authorization: {}
Key | Required | Value |
subreddit | required | pics - A valid sub-reddit name |
sort | optional | hot | new - defaults to hot |
page | optional | integer - the data paging number |
Search the gallery with a given query string.
GET /gallery/search
?q={}
Authorization: {}
Key | Required | Value |
q | required | Query string |
Add an Album or Image to the Gallery.
POST /gallery/image/{id}
?title={}
&[terms={}]
Authorization: {}
Key | Required | Value |
title | required | The title of the image. This is required. |
terms | optional | If the user has not accepted our terms yet, this endpoint will return an error. To by-pass the terms in general simply set this value to 1. |
Get additional information about an album in the gallery.
GET /gallery/album/{id}
Authorization: {}
Get additional information about an image in the gallery.
GET /gallery/image/{id}
Authorization: {}
Report an Image in the gallery
POST /3/gallery/{id}/report
Authorization: {}
Get the vote information about an image
GET /gallery/album/{id}/votes
Authorization: {}
Vote for an image, up or down vote
POST /gallery/album/{id}/vote/{vote}
Authorization: {}
Comment on an image in the gallery.
GET /gallery/album/{id}/comments
Authorization: {}
Information about a specific comment. This action also allows any of
the additional actions provided in the Comment Endpoint
.
GET /gallery/album/{id}/comment/{id}
Authorization: {}
Create a comment for an image.
POST /gallery/album/{id}/comment
?comment={}
Authorization: {}
Key | Required | Value |
comment | required | The text of the comment. |
Reply to a comment that has been created for an image.
POST /gallery/album/{id}/comment/{id}
?comment={}
Authorization: {}
Key | Required | Value |
comment | required | The text you want to use as the reply. |
List all of the IDs for the comments on an image.
GET /gallery/album/{id}/comments/ids
Authorization: {}
The number of comments on an Image.
GET /gallery/album/{id}/comments/count
Authorization: {}
Get information about an image.
GET /image/{id}
Authorization: {}
Delete an image with the deletehash that is returned to image owners.
DELETE /image/{deletehash}
Authorization: {}
Upload a new image.
POST /image
?image={}
&[album_id={}]
&[type={}]
&[name={}]
&[title={}]
&[description={}]
Authorization: {}
Key | Required | Description |
image | required | A binary file, base64 data, or a URL for an image |
album_id | optional | The id of the album you want to add the image to |
type | optional | The type of the file that's being sent; file, base64 or URL |
name | optional | The name of the file, this is automatically detected if uploading a file with a POST and multipart / form-data |
title | optional | The title of the image. |
description | optional | The description of the image. |
Updates the title or description of an image. You can only update an image you own and is associated with your account.
PUT /image/{id}
?[title={}]
&[description={}]
Authorization: {}
Key | Required | Description |
title | optional | The title of the image. |
description | optional | The description of the image. |
Get one message from every thread the user has received. For example if a user has 5 messages, but 3 of them are on the same thread there will be 3 messages returned.
GET /messages
Authorization: {}
Returns an array of the message ids, this also limited and is paged.
GET /messages/ids/{page}
Authorization: {}
Return the total count of messages for the user.
GET /messages/count
Authorization: {}
Get information about a specific message
get /message/{id}
Authorization: {}
Get a specific message and the rest of the conversation with that message. The message ID sent needs to be the parent id. This is the same id as the first message in the thread.
GET /message/{id}/thread
Authorization: {}
Create a new message.
POST /message
?recipient={}
&body={}
&[subject={}]
&[parent_id={}]
Authorization: {}
Key | Required | Description |
recipient | required | The recipient username, this person will receive the message |
body | required | The message itself, similar to the body of an email. |
subject | optional | The subject of the message, this is not required |
parent_id | optional | If this message is in reply to another message set the parent_id to message id of the initial message. |
Delete a message by the given ID.
DELETE /message/{id}
Authorization: {}
Report a user for sending messages that are against the Terms of Service.
POST /message/report/{username}
Authorization: {}
Block the user from sending messages to the user that is logged in.
POST /message/block/{username}
Authorization: {}
Get all notifications for the user that's currently logged in.
GET /notification
?[new={}]
Authorization: {}
Key | Required | Value |
new | optional | boolean - false for all notifications, true for only non-viewed notification. Default is true. |
Returns the data about a specific notification
GET /notification/{id}
Authorization: {}
Marks a notification as viewed, this way it no longer shows up in the basic notification request.
PUT /notification/{id}
Authorization: {}
Check your rate limits.
GET /credits
Authorization: {}