How to remotely create a user on your WordPress Website using JSON API Request

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)
April 10, 2015

Do you run a membership website using WordPress as your platform? Or do you maintain your users for your web application on WordPress because of its ease of use and other features provided out of the box? In that case, you might have come across times when you needed to add users to your wordpress remotely and without much hassle. WordPress is a very powerful tool and comes with a bunch of APIs that you can use to achieve this functionality, i.e. create a user remotely. However, there is one easy way for you to do it, without having to write complicated codes. You can use JSON API to create users on WordPress.

The first step to do is to install WordPress JSON API plugin. The next step is to install another plugin known as JSON API User. Once you install both of these plugins, you will see “JSON API” under WordPress settings. JSON API User offers a bunch of options to fetch posts, add comments etc. and the JSON API User plugin that depends on the JSON API Plugin adds an icing on the cake by allowing you to remotely create users as well. So, on the settings page for this plugin, activate teh “User” creation option  and save your settings. Below it you will see an API base URL which by default is api. Change api to something that is hard to guess, something like sdf23234sdf and save the settings. Now you are ready to roll.

The first step is to get the nonce ID which is required to create a new user remotely. To obtain this ID, open the the URL in the following format:

Here replace domain with your domain name and api with the api base you created in the earlier step. This will give you the nonce id in the following format:


Now copy the nonce ID which in the above case is 92d7431951(Note that this ID needs to be generated every time you need to create a new user, its not static).

Now use this ID in the following URL format to create a new user:

Make sure to replace domain, APIBASE and NONCEID with the appropriate ones.

Now when you open the above URL, you will see a message saying that the user has been created.

Thats it. This will create a new user with the role that has been set up as default in your wordpress environment. By default, its “Subscriber” but you can change it to other roles from the Settings>General page using theNew User Default role dropdown field.

Thats it, now you can use simply send a request via s URL and a new user will be instantly created in your wordpress installation.

You may also like...

  • Mia

    Hello, is there a way to login using email and password with this plugin ?

  • precogtyrant

    are there a lot of users? if you are the only one that is going to login then you can simply create a new user with the email address as username as well.

  • sanjay thakur

    hey .i have register successfully but now i have login please suggest login URL

  • precogtyrant

    do you mean login to the admin? what do you want to do exactly?
    if you are building any system, you can check if a user exists(the one you created with this method) by checking in the database for the user’s email and if it’s a valid user , you can do something.

  • Terungwa Peter

    I have followed your tutorial and successfully set a new user registration app via the API.
    How do I access the user details (password) and send along with his username which I have already?

  • Kalpesh Bari

    Thanks a lot !

  • Hassan Siraj

    Thanks A lot Bro! 🙂

  • Heemu Koul
  • أيمن الشرقاوي

    the url
    {“status”:”error”,”error”:”Unknown controller ‘user’.”}

  • أيمن الشرقاوي

    thanks, it worked

  • Lolly Lun

    Want to ask if i type this url: http://localhost/wordpress/?json=get_nonce&controller=user&method=register, it is work but if type this url: http://localhost/wordpress/api/get_nonce/?controller=user&method=register, it show me the page with message:
    Object not found!

    The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

    If you think this is a server error, please contact the webmaster.

    Error 404
    May I know what is the problem this?

  • I have the same error:
    {“status”:”error”,”error”:”Unknown controller ‘user’.”}

    somebody here knows the solution?