Home / API
Free · No API key · CORS enabled

Platform API

One URL returns all 207 free posting platforms — name, URL, and domain — as JSON or XML. Built for automation.

Endpoints

Both return the complete directory. Pick whichever format your system prefers.

JSON https://freepostfinder.com/api/platforms.json Open →
XML https://freepostfinder.com/api/platforms.xml Open →

/api/platforms also works and defaults to JSON (add ?format=xml to switch).

Quick start

# Every platform name + URL, as JSON
curl -s https://freepostfinder.com/api/platforms.json

# Same data as XML
curl -s https://freepostfinder.com/api/platforms.xml

# Just the names and URLs, using jq
curl -s https://freepostfinder.com/api/platforms.json \
  | jq -r '.platforms[] | "\(.name)\t\(.url)"'

Response shape

JSON

{
  "meta": {
    "source": "FreePostFinder",
    "source_url": "https://freepostfinder.com",
    "api_version": "1.0",
    "generated_at": "2026-08-05T10:03:22+00:00",
    "count": 207,
    "total": 207  },
  "platforms": [
    {
      "name": "ArticleCube",
      "slug": "articlecube",
      "url": "https://www.articlecube.com",
      "domain": "articlecube.com",
      "detail_url": "https://freepostfinder.com/platform/articlecube"
    }
  ]
}

XML

<freepostfinder>
  <meta>
    <source>FreePostFinder</source>
    <count>207</count>
  </meta>
  <platforms>
    <platform>
      <name>ArticleCube</name>
      <slug>articlecube</slug>
      <url>https://www.articlecube.com</url>
      <domain>articlecube.com</domain>
      <detail_url>https://freepostfinder.com/platform/articlecube</detail_url>
    </platform>
  </platforms>
</freepostfinder>

Parameters

All optional. With none, you get every platform.

Parameter Values Description
fields minimal | full minimal (default) returns name, slug, url, domain, detail_url. full adds summary, content types, risk, verification, guidelines and source links.
format json | xml Only needed on /api/platforms. The .json / .xml extension always wins.
type content-type slug Only platforms supporting this content type, e.g. type=article.
types comma-separated slugs Platforms supporting ALL listed types, e.g. types=article,video.
search text Matches name, domain, URL, summary and best-for text.
risk_level low | medium | high | unknown Filter by risk level.
verification_status verified | needs_review | unverified Filter by verification status.
moderation_strictness low | medium | high | unknown Filter by how strictly the platform moderates.
free_public_posting_status yes | partial | no | unknown Filter by free public posting support.
registration_required 0 | 1 Whether an account is needed to post.
sort name_asc | name_desc | most_types | recently_updated | last_checked | risk_level | verified_first Result ordering. Defaults to name_asc.
limit 1–1000 Maximum rows to return.
offset integer Rows to skip, for paging through results.
pretty 1 Pretty-print the JSON output.
# Verified, low-risk platforms that accept articles — with full detail
curl -s "https://freepostfinder.com/api/platforms.json?type=article&risk_level=low&verification_status=verified&fields=full"

Content type slugs

Valid values for type and types.

article blog post story newsletter website page forum qa directory listing repository community slides video image reels-shorts live-stream events reviews code-app documents maps

Usage notes

No key, no signup
The endpoint is open. There is no authentication and no hard rate limit.
Cache your results
Responses carry Cache-Control: public, max-age=3600 and an ETag. Send If-None-Match to get a cheap 304 when nothing changed. Fetching once an hour is plenty — the data changes slowly.
Cross-origin friendly
CORS is open (Access-Control-Allow-Origin: *), so browser-side JavaScript can call it directly.
Stable identifiers
Use slug as the key for a platform. Names and URLs can change; slugs are stable.
Attribution
Free to use commercially or non-commercially. A link back to freepostfinder.com is appreciated but not required.
Verify before you rely on it
Platforms marked needs_review have not been fully checked. Always confirm a platform’s own terms before posting.

Errors

Invalid parameters return HTTP 400 with a machine-readable body in the format you requested.

{
  "error": {
    "code": "invalid_filter",
    "message": "risk_level must be one of: low, medium, high, unknown.",
    "docs": "https://freepostfinder.com/api"
  }
}

Prefer to browse by hand?

The full directory is searchable and filterable in your browser.

Browse All Platforms Use the Recommender