Login     Sign Up     Forget Password   

SpinnerChief Developer API Documnet

The Spinnerchief API provides an easy interface for programmers to use Spinnerchief's functions in their own programs directly. The Spinnerchief API is very easy to use. It uses Http Post protocol to accept your command and return a result.

Now the SpinnerChief API supports 27 different languages, that means you can post 27 different language articles to spin with the SpinnerChief API, the supported languages currently are: Arabic,Belarusian,Bulgarian,Croatian,Danish,Dutch,English, Filipino,Finnish,French,German,Greek,Hebrew,Indonesian,Italian,Lithuanian,Norwegian, Polish,Portuguese,Romanian,Slovak,Slovenian,Spanish,Swedish,Turkish,Vietnamese.

The new SpinnerChief API can indentify the part of speech of the word in the sentence and understand the article, that means it can now use better synonyms to replace, this will return a significantly more readable article. Additionally SpinnerChief continues to study users’ inputs and so gets smarter and smarter day by day.

The new SpinnerChief API also contains a Grammar AI program that can correct grammar errors in your article or in the spun article. The Grammar AI is also continuing to increase and improve.

The new SpinnerChief API have some intelligent auto-replace methods like replacing phrases first, then replacing words untill the article passes copyscape. These new replace methods will guarantee that you can get the most readable article and pass copyscape at the same time.

Now let's go to the detail of the Spinnerchief API.

Post Url

The http post url is : http://api.:9001/ To access the API, you perform an HTTP POST to the above url (Click Here to download the full example using this API written in C#.  Click here to download the example of php )

Notice: we have also opened some other ports for the api, if you can't use 9001, you also can use 8000, 8080 and 443. For example: http://api.spinnerchief.com:8000/

Important: If you are using php,you'd better use 443 port, else it maybe not work.

Necessary Parameters

For using the Spinnerchief API as a developer, you need to register a developer account at http://developer.spinnerchief.com and then you will get an API Key after logging into your developer account. You need to send the API Key as a parameter when posting to the Spinnerchief server. When a user wants to use your program with the Spinnerchief API, the user needs to register a Spinnerchief account at http://account.spinnerchief.com and then fill in his account username and password in your program, you need to send the username and password as a parameter when posting to the Spinnerchief server, so the post url will be like this http://api.spinnerchief.com: 9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword So the parameters – apikey, username and password are necessary when you post to Spinnerchief every time.

Post Article

When posting your article to http://api.spinnerchief.com: 9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword, you should put your article as the POST DATA, and don’t write any other content or parameters in the POST DATA. For example, your article is “Hello, what is your name?” and the correct c# code to post is shown below :

Normal post way:
WebClient wb = new WebClient();
string newArticle = wb.UploadString(“http://api.spinnerchief.com: 9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword”, "POST", “Hello, what is your name?”);

Post using base64 (When the article has some special chars like † ‡ ‰ ‹ › ♠ ♣ ♦ ‾ ← ↑ → ↓ © « ® ± ° » ¼ ½ ¾ ¿ ► 【 】 「 」 ₂ ▪ $ ▷ √ ● ):
WebClient wb = new WebClient();
byte[] article = System.Text.Encoding.UTF8.GetBytes("Hello, what is your name? - ♠ ♣ ♦ ‾ ← ");
string base64article = Convert.ToBase64String(article);
string newArticle = wb.UploadString("http://api.spinnerchief.com: 9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword", "POST", base64article);
newArticle = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(newArticle));

To make sure the API work well for all articles, we suggest that you use the base64 post way. Please note that when use base64 post, you need convert your article to byte[] using UTF8 first, then convert the byte[] to base64 string, then post. After you get the result from api server, you need convert the result from base64 string to byte[], then convert the byte[] to the real result using UTF8.

More Parametersers

Notice: The server will use the default value if you don’t send the parameter in your post.
Parameter Name Default Value Introduction
spintype 0 When spintype=0, SpinnerChief will return the spun article in {} (Spyntax) format. For example, if your article is "This is a great software", the return will be "{It|This} {is|must be} a {good|nice} {software|program}". when spintype=1, SpinnerChief will return the spun article directly. For example, if your article is "This is a great software", the return will be "It is a nice program".
spinfreq 4 The spinfreq means word spin frequency, for example if spinfreq=1, every word will be spun, if spinfreq=3, 1/3 of all words will be spun, etc.
autospin 1 When autospin=0, SpinnerChief will not spin the words in your article without the {}(Spyntax) format. For example, if you post an article like "{It|This} is a good software", SpinnerChief will only spin the {It|This} part, other words will not get spun.
When autospin=1, SpinnerChief will auto-spin the words in your article without the {}(Spyntax) format. For example, if you post an article like "{It|This} is a good software", SpinnerChief will not only spin {It|This} part, but also spin the words "good" and "software", so the return would be "This is a great program".
original 0 When original=0, the server will delete the original word in the return result.
When original=1, server will keep the original words in the spun article,
Wordscount 5 Wordscount means how many words to use when spintype=0. For example, if the article is “hello”, Wordscount=3, the result will be {hello|hi|hey}. If Wordscount=2, the result will be {hello|hi}.
protecthtml 0 When protecthtml=0, the server will not spin the words in the html tags in your article.
When protecthtml =1, the server will still spin the words in html tags in your article.
spinhtml 0 When spinhtml=0, the server will still spin the {} part within html tags in your article.
When spinhtml=1, the server will not spin the {} part within html tags in your article.
wordquality 0 wordquality=0, use Best Thesaurus to spin
wordquality=1, use Better Thesaurus to spin
wordquality=2, use Good Thesaurus to spin
wordquality=3, use All Thesaurus to spin
wordquality=9, use Everyone’s favorite to spin
Orderly 0 When orderly=0, the server uses the thesaurus in its listed order to spin.
When orderly=1, the server uses the thesaurus randomly to spin.
protectwords   When you set protectwords, the server will not spin words in the the protect words list, the format is protectwords=word1,word2,word3,phrase1,phrase2
If you don’t want to use protectwords, just don’t use this parameter in your post url.
tagprotect [] This will protect the text between tags. If tagprotect=null, it will not protect any tags. If tagprotect=[],(),<- -> , it will protect the text between [ and ], ( and ), <- and ->.
querytimes   When querytimes=1, the server returns today’s used query times of this account.
When querytimes=2, the server returns today’s remaining query times of this account.
thesaurus English Arabic,Belarusian,Bulgarian,Croatian,Danish,Dutch,English,Filipino,Finnish,French,German,
Slovenian,Spanish,Swedish,Turkish,Vietnamese, Users’thesaurus ID
pos 0 pos=0:Don’t use ‘part of speech’ analysis;
 pos=1:Use ‘part of speech’ analysis
UseGrammarAI 0 UseGrammarAI =0:Don’t use grammar correction;
UseGrammarAI =1:Use grammar correction
replacetype 0 replacetype =0:Replace phrase and word
replacetype =1:Only replace phrase
replacetype =2: Only replace word
replacetype =3: Replace phrase first, then replace word till the article passes copyscape
replacetype =4: Spin the article to most unique
replacetype =5: Spin the article to most readable
phrasecount 2 phrasecount =2,3,4,X:When replacing the phrase, how many words define a phrase.
rule none Arabic,Belarusian,Bulgarian,Croatian,Danish,Dutch,English,Filipino,Finnish,French,German,
Slovenian,Spanish,Swedish,Turkish,Vietnamese, Users’rule ID
usehurricane 1 When usehurricane=0, use hurricane. When usehurricane =1, don’t use hurricane function. If you don’t know what is this, please visit http://www.contenthurricane.com
 Chartype 1 Chartype=1:Normal Chars;chartype=2:Special Chars;chartype=3:Non Unicode.(this parameter will only work when hurricane=0.)
convertbase 0 convertbase=0:Convert Based On Char;chartype=1:Convert Based On Word。(this parameter will only work when hurricane=0.)
onecharforword 0 onecharforword=0:Don’t use“Only Convert One Char for every word” function;onecharforword =1:use “Only Convert One Char for every word”function.(this parameter will only work when hurricane=0.)
percent 0 percent=50:50% Conversion Rate(Must be integer from 1 to 100. (this parameter will only work when hurricane=0.)

Example of Post url to use more parameters:::

1. Use default value for all parameters http://api.spinnerchief.com:9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword

2. Auto-Spin every word and return spun article directly, use default value for other parameters. http://api.spinnerchief.com:9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword&spintype=1&spinfreq=1

3. Use everyone's favorite thesaurus to spin every word to {}(spyntax) format without the original word, protected words are hello, hi and hey. http://api.spinnerchief.com:9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword&spinfreq=1& original=1& wordquality=9& protectwords=hello,hi,hey

4. Return today’s remaining query times of this account. http://api.spinnerchief.com:9001/apikey=YourAPIKey&username=YourUsername&password=YourPassword& querytimes=2

For more examples, please check the

c#   example code

php example code

Return Result:

When a command is posted to the Spinnerchief api server, the server will return the result. If there is any error or problem, the server will return a result like this “error=error reason”, so your program can detect if the “error=” string is at the beginning of the return result, then you will know if the query is successful or not. If there is not any error, the server will just return the right result like the new article, spun article with {}, today’s query times etc, the result is up to whatever command(parameters) you use to post to the server.


Free user is limited to 20 queries to the system per day currently. If you have a valid need for a higher limit, you can buy more credits after login into your account.


Text submitted to the API is limited to 1,000 words for free user and 5,000 words for paid users. Anything larger will return an error.

Please email to [email protected] for any help or suggestions.

Copyright 2011-2012 WhiteHatAutomation.com - All Rights Reserved