SEO Content Machine
API
API Docs for SCM.
The default port is 8008
Check out samples @ Postman
GET /test
Send a get to the url above to see if the api server is ready and available.
JSON result
{ "success": true, "message": null, "result": null }
POST /spin
Post a JSON with the following parameters to spin content using the soft spinner.
{"text": "hello world","csvprotectedwords": ""}
JSON fail result
{"success": false,"message": 'You must post an application/json eg {"text": "hello world", "csvprotectedwords": ""}',"result": null}
JSON ok result
{"success": true, "message": null, "result": "{hi|hello} world"}
POST /paraphrase
Post a JSON with the following parameters to paraphrase content. The AI paraphraser expects english input by default.
{"text": "hello world", "login":"[email protected]", "sourcelanguage":"", "finallanguage":""}
text - Send small sentences or one paragraph at a time to avoid timeout errors
login - You must include the SCM login email to access this paid API
sourcelanguage - (optional) Pass a language code of your content if it is not in english. eg "de" for german
finallanguage - (optional) You can translate paraphrased content into another language. eg "zh" for chinese
Language Codes
"en": "English",
"ar": "Arabic",
"az": "Azerbaijani",
"zh": "Chinese",
"nl": "Dutch",
"fi": "Finnish",
"fr": "French",
"de": "German",
"hi": "Hindi",
"hu": "Hungarian",
"id": "Indonesian",
"ga": "Irish",
"it": "Italian",
"ja": "Japanese",
"ko": "Korean",
"pl": "Polish",
"pt": "Portuguese",
"ru": "Russian",
"es": "Spanish",
"sv": "Swedish",
"tr": "Turkish",
"uk": "Ukranian",
"vi": "Vietnamese"
JSON fail result
{"success": false,"message": 'You must post an application/json eg {"text": "hello world"}',"result": null}
JSON ok result
{"success": true, "message": null, "result": "{hi|hello} world"}
POST /aboutme
Generate an aboutme. Post a JSON with the following parameters.
{"keyword": "dog training"}
JSON fail result
{"success": false,"message": 'You must post an application/json eg {"keyword": "dog training"}',"result": null}
JSON ok result
{"success": true,"message": null,"result": "#your about me#"}
GET /projects
Article Creator
Retrieve a list of only article creator projects together with the keywords that have content available for retrieval.
JSON result
{"success":true,"message":null,"result":[{"keywords":["body wash"],"group":"wash group","name":"natural body wash article","type":"Article Creator","id":"5e3bf43a32cf7c6a583e1085"}]}
GET /project/:id/:keyword
Article Creator
Get content from an article creator task. You must send a get with the project id and the keyword you want to retrieve content for. Use the '/projects' call above to retrieve both the id and a list of available keywords with content.
The :keyword section is optional, if you leave it out it will just return content for the first available keyword.
Will return all the content located in the keyword/cache folder.
JSON fail result
{"success": false,"message": 'Unable to find any content for keyword in project with id ' + id,"result": null}
JSON result
{"success":true,"message":null,"result":{"keywords":["natural body wash"],"sentences":["...etc..."]}}
GET /all-projects
Returns a list of ALL projects inside SCM. You can use this to manage all tasks.
You can filter the results by adding the following parameters to the end of the url.
- group
- name
- type
- status
eg: http://localhost:8008/all-projects?type=article%20downloader
will return a list of all article downloader tasks.
JSON result
{"success":true,"message":null,"result":[{"group":"","name":"ad test","type":"article downloader","status":"complete","id":"5fa48668a1133c0890b64719"}]}
GET /project/status/:id
Retrieve the status of a single task .
JSON result
{"success":true, "message":null, "result":[{"group":"", "name":"bing test", "type":"article creator", "status":"complete", "id":"612df54a861fce413871b6c0"}]}
GET /project/delete/:id
Delete an the article creator task with the :id specified in the url.
Will always return true even if the task doesn't exist anymore.
JSON result
{"success": true, "message": null, "result": null}
GET /project/data/:id
Returns the configuration data used by NEXT when a task is run.
Download the data JSON, then edit it and make a POST to the same URL to upload your changes.
JSON fail result
{"success": false, "message": 'Was unable to find task of id 007', "result": null}
JSON result
{"success": true, "message": null, "result": {"jobName":"example job"[...etc]}}
POST /project/data/:id
Upload a modified json data object retrieved from GET /project/data/:id to customize the settings of a task.
Only upload parameters from the "result" property of the GET call.
Eg: to change keywords send post with JSON data:
{"articleKeywordsFile":["dog training tips"]}
You don't need to upload every property, you can just upload the properties you want to update.
JSON fail result
{"success": false, "message": 'Was unable to find task of id 007', "result": null}
JSON result
{"success": true, "message": null, "result": null}
Postman example
1. Use GET to retrieve task properties. You need ID of task first.
2. Upload only the edited results properties to update a task. (Don't include success and message)
GET /project/duplicate/:id
Duplicates an existing project. If the call succeeded it will return the id of the newly created project.
Use this id to retreive the project data, then upload changes via a data post.
Issue a GET /project/run to schedule the task to run.
JSON fail result
{"success": false, "message": 'Was unable to find task of id 007', "result": null}
JSON ok result
{"success": true, "message": null, "result":"39390dsfv9021121x"}
GET /project/run/:id
You can schedule a task to run by issuing this get request.
JSON result
{"success": true, "message": null, "result": null}
GET /create/articlecreator
Instead of duplicating an existing task, creates a blank article creator task with status 'draft'.
Returns the data JSON, which you can edit and re-upload using the 'POST /project/data/:id' call.
Task ID is contained inside data JSON.
JSON result
{"success": true, "message": null, "result": {"id":"43454de22d", "data":{"jobName":"example job etc..."}}}
GET /create/:taskname
Create any SCM task using this get.
Valid list of get urls are as follows: (NB: internal API name of task may not be the same as displayed on the UI)
- /create/articlecreator
- /create/writingassistant (ie: ai writer)
- /create/articledownloader (ie: static page)
- /create/urlfinder
- /create/postuploader
- /create/googlescraper (ie: search & news)
- /create/webscraper (ie: dynamic page)
- /create/webcrawler
- /create/waybackscraper
- /create/bulktranslator (ie: spin & translate)
- /create/mailmerge (ie: csv template merge)
- /create/postemailer
- /create/rssscraper
- /create/paraphraser
- /create/youtubesubscraper
- /create/googlemapsscraper
- /create/wpxmlgenerator
Calling the create url returns a data JSON with task default properties and status set to 'draft'.
Edit the JSON and re-upload using the 'POST /project/data/:id' call. Task ID is contained inside data JSON.
Call 'GET /project/run/:id/' to have the created task run immediately.
JSON result
{"success": true, "message": null, "result": {"id":"43454de22d", "data":{"jobName":"example job etc..."}}}
Sample Javascript Code
The following javascript code shows you how to make a simple get request.
const request = require('request');
request({
method: 'get',
url: 'http://127.0.0.1:8008/test',
json: true,
}, function (error, response, body) {
//Print the Response
console.log(body);
});
The following javascript code shows how you can make a json post to the API server.
const request = require('request');
request({
method: 'post',
url: 'http://127.0.0.1:8008/aboutme',
headers: {"content-type": "application/json",},
json: {keyword: 'cat'},
},function (error, response, body) {
//Print the Response
console.log(body);
});
Get A Free Trial
No Payment Details Required