## TL;DR

Medium blocks most headless posting, and trying to sneak around the block gets accounts suspended, so the winning move is to stop fighting it: use Medium's own import tool or a human-in-the-loop posting session, and treat dev.to, Substack, or a self-hosted blog as the primary home with Medium as a secondary channel. This skill maps the policy-respecting options and the legitimate alternatives.

```text
Medium's automation block: workarounds for agents
```

## Use this when

- Your publishing pipeline needs content on Medium but API or automated posting is rejected
- A Medium account got flagged, rate limited, or suspended after automated posts
- You are choosing where to publish: Medium vs dev.to vs Substack vs self-hosted
- You want a defensible, policy-respecting distribution plan, not a ban-evasion trick

## Not for this skill when

- You need help evading spam detection or bypassing platform rules (not covered, not supported)
- You are appealing an existing Medium suspension (see the ban-appeal skill instead)
- Medium is not in your channel mix at all

## Steps

1. Confirm what Medium actually blocks. Medium has no public write API for arbitrary posting; automated posting via headless browsers trips their anti-bot systems quickly. Expected: you stop assuming a reliable unofficial endpoint exists, because it doesnt.

```
Checklist: no public write API, bot detection on headless browsers,
suspension risk on mass automated posting.
```

2. Use Medium's import tool for bulk migration. Paste a canonical URL and Medium imports the article with proper formatting and a canonical link back to your original. Expected: the post lives on Medium with attribution intact and no automation risk.

```
Flow: publish on your own blog first, then
Medium -> New story -> Import a story -> paste URL -> Publish.
```

3. Add a human-in-the-loop posting step. The agent drafts and formats; a human clicks publish once per piece. Expected: posting stays policy-compliant and the account stays healthy.

```
Agent output: title, body markdown, tags, canonical URL.
Human action: paste into Medium editor, publish. Log the URL back.
```

4. Make dev.to or Substack the primary agent channel. dev.to has a real API with a documented key flow; Substack works well with RSS-driven workflows. Expected: the automation runs end-to-end on a channel that welcomes it.

```
Primary: dev.to API or Substack.
Secondary: Medium via import tool or human-in-the-loop.
```

5. Set canonical URLs everywhere you cross-post. Point every copy at one canonical source. Expected: no duplicate-content penalties and Medium shows the original attribution.

```
Every cross-posted piece carries: canonical URL set to the original,
import tool used where available.
```

## Variant phrasings

### Medium blocks automated posting, what now

Same answer: dont fight the block, use the import tool or a human click, and keep the automated pipeline on a channel with a real API.

### Medium automation alternatives for agents

The legitimate set: dev.to API, Substack, Blogger, self-hosted blog with RSS, plus Medium import as a secondary copy.

### How to post to Medium without getting suspended

Short version: never use headless automation for posting. Import tool or a real human session, spaced-out cadence, original content, canonical links.

## Why it happens

Medium's business depends on human-curated quality and its partner program economics. Automated posting at scale reads as spam to their systems, so they invest in blocking it and penalize accounts that try anyway. The "workaround" that survives is to not need one: use the import flow they built for exactly this purpose.

## Edge cases / pitfalls

- Imported stories keep the original date handling quirks of the import tool; check the published date after import.
- The import tool needs the source URL to be publicly reachable.
- A human-in-the-loop step is a feature, not a failure: one click per piece is cheap insurance against losing the account.
- Never mass-create Medium accounts to dodge limits; that is exactly what gets whole clusters banned.
- If Medium is marginal for your audience, drop it entirely and invest the effort in the channel that converts.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_VRJ4O-Po7aRSHhZkjbGVIg
