Bulk Guest Post Writer & AI Article Generator
How to use the bulk guest post writer
Back to the toolYour own API key writes every article in the browser, one row per brief, and nothing is stored after you close the tab.
- 01
Connect your own API key
Pick a provider, paste its key, then press Connect. The key is never saved: it lives in this tab only, so a reload clears it and nothing about it reaches this site. The Model field appears once the key answers, listing only the models that key can actually write with, newest first. Switching provider clears the key as well — a Gemini key is rejected by OpenAI and the other way round, so a filled field there would only look ready.
- 02
Paste your briefs from a sheet
One row per article: the topic first, then anchor and URL in pairs. Tabs and pipes both work, so a block copied straight out of a spreadsheet lands correctly. Two rows sharing a topic merge into one article with both sets of links. A pair missing one half stops that row from running, and it says so on the row rather than letting the model guess. Up to 30 articles per run.
- 03
Set how the articles should be written
Writing settings sits behind the gear, and the defaults are meant to be strong enough to leave alone. Article language decides the language the article is written in and the direction it reads, independently of the language of this page. Saving mid-run applies to every article that has not been sent yet, so a change here reaches the rest of the batch and never rewrites what already came back.
- 04
Run the batch and watch the table
Rows finish independently, so one slow article never holds up the rest, and stopping keeps everything already written. A row that fails carries the reason in Result — a rejected key, an exhausted quota, a provider that would not answer — and the retry button in Actions is its only way back: the main run button only picks up rows that have never run.
- 05
Read an article and download it
View opens the article under its row, in HTML for pasting into a classic editor or rendered for reading. Both the copy and the download follow the mode you are looking at: HTML gives you a .txt of the markup, rendered gives you a real .docx. Download all articles writes one .docx holding every finished article, each starting on its own page.
How to read the article table
A row reads left to right: what you asked for, then what came back.
Result table columns
- #
- The row number, and the one thing that tells two articles apart when their topics normalise to the same file name. A download tagged with it belongs to the row carrying that number.
- Topic / Keyword
- What the article is about, and the file name it downloads under. Editable until the row has an article; after that the row is frozen, so changing a topic means clearing the results first.
- Links
- The anchor and URL pairs that must appear in the finished article, each exactly once. The same anchor may be listed twice with different URLs, and then it has to appear twice, once per URL.
- Result
- Whether the write finished. Two outcomes for the first pass — Done or the reason it failed — plus a count once the article has been rewritten successfully. A failed rewrite says so without discarding the article it already has.
- Words
- Words in the finished article, counted on the text a reader sees rather than on the markup. Empty until the row has an article.
- Actions
- Buttons, not answers. A finished row gets View, which opens the article underneath it; a failed row gets Retry, which re-runs just that one.
- Rewrite
- Opens the rewrite options for the article already in that row. The number on the button counts how many rewrites you have asked for, failed ones included, so it answers what the quota went on — not the same question as the count in Result.
What Result says
- Writing…
- The request is out. Articles are written one at a time so a batch cannot trip a rate limit on its own, which is why a long run moves down the table rather than lighting up at once.
- Done
- The article came back and is ready to read. It has already been measured against the brief once and given one chance to fix itself, so this is the second draft, not the first.
- Rewritten ×2
- How many rewrites actually produced a new article. Every rewrite replaces the one before it, so the row always holds the latest.
- Rewrite failed
- The rewrite did not come back, and the article you already had is untouched. The provider error sits in the tooltip; the way to try again is the rewrite button, not retry.
- Stopped
- You stopped the run before this row was sent. Nothing was spent on it, and the main run button picks it up again.
Rewrite options
- Longer
- Expands the article that is already there rather than writing a new one. Useful when the draft came in under the length you set.
- More E-E-A-T
- Asks for named organisations, regulators or publications behind the factual claims — in plain text, never as links, because the only links allowed are the ones from your brief.
- Concrete examples
- Trades general statements for specific ones: numbers, situations, and cases a reader can check against their own.
- Lists and tables
- Turns dense paragraphs into lists and tables where the content actually suits them, which is also what survives best when the article is pasted elsewhere.
- Your own instruction
- Your own sentence, sent alongside the existing article. This is the one place a free instruction reaches the model, and it applies to that row only. Rewrite all is a different button: it writes fresh articles from the briefs, which is what you want after changing the settings or the model.