Accessing the API requires an API key. The API key identifies your application (mobile app, website, etc), as opposed to authentication which identifies the specific user that is accessing the API.
To sign up for an API key go to this page.
All method requests require the parameter apiKey=[apiKey].
API usage is not limited in any way, but if you are using it in either a free or a commercial application, please make it clear to the users that your application is powered by memegenerator.net.
Authentication to the API can be done with credentials of any user from the website. Most methods can be used with or without authentication. To invoke a method in the context of a particular user, provide the method with a [sessionKey] that you get from logging in the user with MgUser_Login(). Even methods that only select data benefit from using a logged in session key because then they can return the data with voting information for the logged in user. Make sure to check the result for errors in case the sessionKey has expired and the user needs to be logged in again.
When parsing a returned JSON, the field imageUrl always refers to an image of a character without any captioned text, for example:
When parsing a returned JSON, the field instanceImageUrl always refers to an image of a character with its captioned text, for example:
JavaScript bindings to the API calls can be used from http://memegenerator.net/Version1Api/javascript.js.
Example usage:
window.MgApi.SetApiKey('[your api key]'); // This is called only once. Get your api key at https://memegenerator.net/api.
window.MgApi.Login('username', 'password'); // This is optional, if the user of your app logs in.
// Most functions can be called anonymously, without logging in.
window.MgApi.Generators_Search('frog', 0, 24);
http://memegenerator.net/Version1Api/Comment_Create
Post a comment to an instance. Use entityName=Instance for instance, with entityID=[instanceID].
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| entityName | Use 'Instance' for instances or 'Generator' for generators. |
| entityID | For entityName=Instance, the entityID would be the instanceID. |
|
parentCommentID
optional
|
The comment whose child comments we're interested in. |
| text | Some text. |
http://memegenerator.net/Version1Api/Comment_Create?entityName=Instance&entityID=72628355&parentCommentID=&text=first post best post&apiKey=demo
http://memegenerator.net/Version1Api/Comment_Delete
Delete a comment, will only work if the user has created it or is admin.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| commentID | The ID of the comment. |
http://memegenerator.net/Version1Api/Comment_Delete?commentID=-1&apiKey=demo
http://memegenerator.net/Version1Api/Comments_Select
Returns all the comments for a specific entity. Use entityName=Instance for instance, with entityID=[instanceID].
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| entityName | Use 'Instance' for instances or 'Generator' for generators. |
| entityID | For entityName=Instance, the entityID would be the instanceID. |
|
parentCommentID
optional
|
The comment whose child comments we're interested in. |
http://memegenerator.net/Version1Api/Comments_Select?entityName=Instance&entityID=72628355&parentCommentID=&apiKey=demo
http://memegenerator.net/Version1Api/ContentFlag_Create
Flag content for removal, for cases of harassment etc.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| contentUrl | The URL on the website which contains the offending content. |
| reason | A short description of why the content should be removed. |
| Email address for notification of removal. |
http://memegenerator.net/Version1Api/ContentFlag_Create?contentUrl=https://memegenerator.net/John-Doe&reason=personal information exposed&[email protected]&apiKey=demo
http://memegenerator.net/Version1Api/Generator_Create
Create a new generator.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| image | Image url or HTTP posted file. |
| displayName | The display name of the requested generator, e.g. 'Insanity Wolf'. |
http://memegenerator.net/Version1Api/Generator_Create?image=https://cdn.meme.am/images/983.jpg&displayName=Insanity Wolf&apiKey=demo
http://memegenerator.net/Version1Api/Generator_Select_ByUrlNameOrGeneratorID
Returns information about a specific generator, either by its [generatorID] or by its [urlName].
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
|
generatorID
optional
|
The GeneratorID of the generator as received from any of the Generators_Select_* methods. |
| urlName | The URL name of the requested generator, e.g. 'Insanity-Wolf'. Leave as [null] to show all the generators. |
http://memegenerator.net/Version1Api/Generator_Select_ByUrlNameOrGeneratorID?generatorID=45&urlName=Insanity-Wolf&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Search
Returns a list of search results by the search keyword [q].
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| q | The search query. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Generators_Search?q=insanity&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_ByMgUser
Returns generators created by a particular user.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| byMgUserID | The ID of the user that created the content. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Generators_Select_ByMgUser?byMgUserID=1&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_ByNew
Returns the most recently created generators. This list gets updated whenever the website moderators approve another batch of generators to appear on the website. Some generators may not be approved due to poor quality, nsfw content, etc, so this list is highly selective.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Generators_Select_ByNew?pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_ByPopular
Returns the most popular generators for the last [days] days.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
|
days
optional
|
The time period for which to filter the result set. ([days] == null) for all time. |
http://memegenerator.net/Version1Api/Generators_Select_ByPopular?pageIndex=0&pageSize=12&days=&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_ByRecentlyCaptioned
Returns generators that were recently used to create an instence. Sort of most-recently-used list.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
http://memegenerator.net/Version1Api/Generators_Select_ByRecentlyCaptioned
http://memegenerator.net/Version1Api/Generators_Select_BySubscriber
Returns the list of generators that a particular user is subscribed to.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| subscriberMgUserID | The mgUserID of the user whose subscriptions we're interested in. |
http://memegenerator.net/Version1Api/Generators_Select_BySubscriber?subscriberMgUserID=1&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_ByTrending
Returns recently trending generators.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
http://memegenerator.net/Version1Api/Generators_Select_ByTrending
http://memegenerator.net/Version1Api/Generators_Select_ByUpvoted
Returns generators upvoted (liked) by a particular user.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| byMgUserID | The ID of the user that created the content. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Generators_Select_ByUpvoted?byMgUserID=1&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Generators_Select_Related_ByDisplayName
Returns generators that are related to a particular generator, a sort of 'see also' list.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| displayName | The display name of the requested generator, e.g. 'Insanity Wolf'. |
http://memegenerator.net/Version1Api/Generators_Select_Related_ByDisplayName?displayName=Insanity Wolf&apiKey=demo
http://memegenerator.net/Version1Api/Group_Select_Moderators
Returns the users who are moderators of a group.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| groupID | The ID of the group. |
http://memegenerator.net/Version1Api/Group_Select_Moderators?groupID=2&apiKey=demo
http://memegenerator.net/Version1Api/Instance_Create
Creates a captioned image. Images created with this method are created in the database and may appear on the website. User credentials of an ordinary user must be provided to create images. Sign up on http://{memegenerator.net}/ to create your user. ImageID may by omitted to use the default template for the character, or specified to use one of the alternative templates.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| languageCode | The language to filter the result set by, or the language of the text on the created image, indicated by a 2-letter language code. Currently supported languages are English (en), Spanish (es), French (fr), Hebrew (he), Russian (ru), Other (--). |
| generatorID | The GeneratorID of the generator as received from any of the Generators_Select_* methods. |
|
groupID
optional
|
The ID of the group. |
|
imageID
optional
|
The background image on which to caption the text. If generatorID is also requested then imageID must be one of the images of the specified generator, e.g. for Insanity Wolf (generatorID 45) the imageID must be 20, as received from any of the Generators_Select_* methods. |
| text0 | The first line to appear on the image. If only one line is specified it will appear on the bottom of the image. If two lines are specified ([text0] and [text1]), [text0] will appear on the top and [text1] will appear on the bottom on the image. Both lines are automatically converted to uppercase. |
| text1 | The second line to appear on the image. Will appear on the bottom of the image. Automatically converted to uppercase. |
| tags | Hashtags for the instance |
http://memegenerator.net/Version1Api/Instance_Create?languageCode=en&generatorID=45&groupID=2&imageID=20&text0=push a hipster down the stairs&text1=now look who's tumbling&tags=food gaming gameofthrones&apiKey=demo
http://memegenerator.net/Version1Api/Instance_Delete
Delete an instance, will only work if the user has created it or is admin or is moderator of the group the instance is posted in.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| instanceID | The ID of the instance. |
http://memegenerator.net/Version1Api/Instance_Delete?instanceID=72628355&apiKey=demo
http://memegenerator.net/Version1Api/Instance_Select
Select an instance by its instanceID.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| instanceID | The ID of the instance. |
http://memegenerator.net/Version1Api/Instance_Select?instanceID=72628355&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Search
Returns a list of search results of instances by the search keyword [q].
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| q | The search query. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Instances_Search?q=insanity&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Select_By_SubscriberMgUserID
Get the feed instances of the current user. Feed instances are all the instances from the user's subscribed to generators and users.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| languageCode | The language to filter the result set by, or the language of the text on the created image, indicated by a 2-letter language code. Currently supported languages are English (en), Spanish (es), French (fr), Hebrew (he), Russian (ru), Other (--). |
|
fromInstanceID
optional
|
Feed instances are not paged, rather they are being infinitely scrolled. To get the next batch of instances, fromInstanceID specifies where (exclusively) we should start from. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Instances_Select_By_SubscriberMgUserID?sessionKey=[sessionKey]&languageCode=en&fromInstanceID=1000000&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Select_ByMgUser
Returns instances created by a particular user.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| byMgUserID | The ID of the user that created the content. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Instances_Select_ByMgUser?byMgUserID=1&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Select_ByNew
Returns recently created instances, for a particular generator ([urlName] != null) or for all generators ([urlName] == null). Only shows moderator approved content.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| languageCode | The language to filter the result set by, or the language of the text on the created image, indicated by a 2-letter language code. Currently supported languages are English (en), Spanish (es), French (fr), Hebrew (he), Russian (ru), Other (--). |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| urlName | The URL name of the requested generator, e.g. 'Insanity-Wolf'. Leave as [null] to show all the generators. |
http://memegenerator.net/Version1Api/Instances_Select_ByNew?languageCode=en&pageIndex=0&urlName=Insanity-Wolf&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Select_ByPopular
Returns the most popular instances for a particular period ([days]=null for all time, [days]=1 for the last day, [days]=7 for the last week, [days]=30 for the last month) for a particular generator ([urlName] != null) or for all generators ([urlName] == null). Only shows moderator approved content.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| languageCode | The language to filter the result set by, or the language of the text on the created image, indicated by a 2-letter language code. Currently supported languages are English (en), Spanish (es), French (fr), Hebrew (he), Russian (ru), Other (--). |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| urlName | The URL name of the requested generator, e.g. 'Insanity-Wolf'. Leave as [null] to show all the generators. |
| tag | food |
|
days
optional
|
The time period for which to filter the result set. ([days] == null) for all time. |
http://memegenerator.net/Version1Api/Instances_Select_ByPopular?languageCode=en&pageIndex=0&urlName=Insanity-Wolf&tag=food&days=&apiKey=demo
http://memegenerator.net/Version1Api/Instances_Select_ByUpvoted
Returns instances upvoted (liked) by a particular user.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| byMgUserID | The ID of the user that created the content. |
| pageIndex | Page index of the requested result set. Defaults to 0 if not specified. |
| pageSize | Page size of the requested result set. Defaults to 12 if not specified. |
http://memegenerator.net/Version1Api/Instances_Select_ByUpvoted?byMgUserID=1&pageIndex=0&pageSize=12&apiKey=demo
http://memegenerator.net/Version1Api/MgImage_Select
Returns information about an image.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| mgImageID | An ID of an image or video file in the database. |
http://memegenerator.net/Version1Api/MgImage_Select?mgImageID=42&apiKey=demo
http://memegenerator.net/Version1Api/MgImages_Search
Search the image database.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| q | The search query. |
http://memegenerator.net/Version1Api/MgImages_Search?q=insanity&apiKey=demo
http://memegenerator.net/Version1Api/MgUser_Login
Returns a session key which can be used for methods that support a logged in user context - methods that accept [sessionKey].
| username | The credentials of a signed up user. Use the website or MgUser_Signup to sign up. |
| password | The credentials of a signed up user. Use the website or MgUser_Signup to sign up. |
http://memegenerator.net/Version1Api/MgUser_Login?username=test8&password=test8&apiKey=demo
http://memegenerator.net/Version1Api/MgUser_Login_Facebook
Logs in with a facebook access token.
| facebookAccessToken | Get a facebook access token by logging in with the facebook API. |
http://memegenerator.net/Version1Api/MgUser_Login_Facebook?facebookAccessToken=[facebook access token]&apiKey=demo
http://memegenerator.net/Version1Api/MgUser_SignUp
Create a new user account.
| Email address for notification of removal. | |
| username | The credentials of a signed up user. Use the website or MgUser_Signup to sign up. |
| password | The credentials of a signed up user. Use the website or MgUser_Signup to sign up. |
http://memegenerator.net/Version1Api/[email protected]&username=test8&password=test8&apiKey=demo
http://memegenerator.net/Version1Api/MgUser_Update_Image
Change a user's profile image.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| image | Image url or HTTP posted file. |
http://memegenerator.net/Version1Api/MgUser_Update_Image?sessionKey=[sessionKey]&image=https://cdn.meme.am/images/983.jpg&apiKey=demo
http://memegenerator.net/Version1Api/MgUser_Update_Username
Change a user's username. This can be done by the user only once, when setting up their account.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| newUsername | The new username. |
http://memegenerator.net/Version1Api/MgUser_Update_Username?sessionKey=[sessionKey]&newUsername=test8&apiKey=demo
http://memegenerator.net/Version1Api/MgUsers_Select_ByPublisher
Returns the list of users that are following a particular user.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| publisherMgUserID | The mgUserID of a user that is being subscribed to (followed) or unsubscribed from (unfollowed). |
http://memegenerator.net/Version1Api/MgUsers_Select_ByPublisher?publisherMgUserID=1&apiKey=demo
http://memegenerator.net/Version1Api/MgUsers_Select_BySubscriber
Returns the list of users that a user follows.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| subscriberMgUserID | The mgUserID of the user whose subscriptions we're interested in. |
http://memegenerator.net/Version1Api/MgUsers_Select_BySubscriber?subscriberMgUserID=1&apiKey=demo
http://memegenerator.net/Version1Api/Subscription_Generator_Create
Subscribe to a generator. This is not the same as liking (upvoting) a generator. Subscribed generator's instances appear in the user's feed.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| publisherGeneratorID | The generatorID of a generator that is being subscribed to or unsubscribed from. |
http://memegenerator.net/Version1Api/Subscription_Generator_Create?sessionKey=[sessionKey]&publisherGeneratorID=225&apiKey=demo
http://memegenerator.net/Version1Api/Subscription_Generator_Delete
Unsubscribe from a generator.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| publisherGeneratorID | The generatorID of a generator that is being subscribed to or unsubscribed from. |
http://memegenerator.net/Version1Api/Subscription_Generator_Delete?sessionKey=[sessionKey]&publisherGeneratorID=225&apiKey=demo
http://memegenerator.net/Version1Api/Subscription_MgUser_Create
Subscribe to (follow) a user.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| publisherMgUserID | The mgUserID of a user that is being subscribed to (followed) or unsubscribed from (unfollowed). |
http://memegenerator.net/Version1Api/Subscription_MgUser_Create?sessionKey=[sessionKey]&publisherMgUserID=1&apiKey=demo
http://memegenerator.net/Version1Api/Subscription_MgUser_Delete
Unsubscribe from (unfollow) a user.
| sessionKey | A logged in user session key. Use MgUser_Login to get a session key. |
| publisherMgUserID | The mgUserID of a user that is being subscribed to (followed) or unsubscribed from (unfollowed). |
http://memegenerator.net/Version1Api/Subscription_MgUser_Delete?sessionKey=[sessionKey]&publisherMgUserID=1&apiKey=demo
http://memegenerator.net/Version1Api/Templates_Select_ByUrlName
Returns a list of alternative images for a generator.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| urlName | The URL name of the requested generator, e.g. 'Insanity-Wolf'. Leave as [null] to show all the generators. |
http://memegenerator.net/Version1Api/Templates_Select_ByUrlName?urlName=Insanity-Wolf&apiKey=demo
http://memegenerator.net/Version1Api/Vote
Vote (like/dislike) on generators and instances. VoteScore can be 1 (like), -1 (dislike) or 0 (no vote). You can vote anonymously, and to vote for a particular user (adds to their favorites), add [username] and [password] fields.
|
sessionKey
optional
|
A logged in user session key. Use MgUser_Login to get a session key. |
| entityName | Use 'Instance' for instances or 'Generator' for generators. |
| entityID | For entityName=Instance, the entityID would be the instanceID. |
| voteScore | Like (1), dislike (-1) or none (0). |
http://memegenerator.net/Version1Api/Vote?entityName=Instance&entityID=72628355&voteScore=1&apiKey=demo