π Ghost Blog Poster: Easily publish articles to your Ghost blog using this tool! Just provide your blog's API URL, admin API key, and inputs like title, HTML content, tags, slug, excerpt, and status (published or draft). Great for building advanced Ghost API integrations! πβ¨
This actor is a tool that allows you to post articles to your Ghost blog. It is a simple actor that uses the Ghost API to post articles to your blog. It is a good starting point for building more complex actors that interact with the Ghost API and could be used in your ai agents.
(Please note that the actor uses the Ghost API V4. Support for V5 is coming soon.)
The actor expects the following inputs:
title
- the title of the article (required!)html
- the content of the article in HTML formattags
- an array of tags for the article: ["tag1", "tag2", "tag3"]
slug
- the slug of the article (Example: my-article-slug, leave empty to generate automatically)custom_excerpt
- a custom excerpt for the articlestatus
- the status of the article (published
or draft
, default is draft
)GHOST_BASE_API_URL
- the base API URL of your Ghost blogGHOST_ADMIN_API_KEY
- the API key of your Ghost blogSuccessful post creation will return the following output:
1{ 2 "posts": [ 3 { 4 "id": "<post_id>", 5 "uuid": "<post_uuid>", 6 "title": "<post_title>", 7 "slug": "<post_slug>", 8 "mobiledoc": "{ "version": "0.3.1", "atoms": [], "cards": [], "markups": [], "sections": [[1, "p", [[0, [], 0, "<post_content>"]]]] }", 9 "comment_id": "<comment_id>", 10 "feature_image": null, 11 "featured": false, 12 "status": "<post_status>", 13 "visibility": "<post_visibility>", 14 "email_recipient_filter": "<email_filter>", 15 "created_at": "<created_timestamp>", 16 "updated_at": "<updated_timestamp>", 17 "published_at": null, 18 "custom_excerpt": "<custom_excerpt>", 19 "codeinjection_head": null, 20 "codeinjection_foot": null, 21 "custom_template": null, 22 "canonical_url": null, 23 "tags": [ 24 { 25 "id": "<tag_id>", 26 "name": "<tag_name>", 27 "slug": "<tag_slug>", 28 "description": null, 29 "feature_image": null, 30 "visibility": "<tag_visibility>", 31 "og_image": null, 32 "og_title": null, 33 "og_description": null, 34 "twitter_image": null, 35 "twitter_title": null, 36 "twitter_description": null, 37 "meta_title": null, 38 "meta_description": null, 39 "codeinjection_head": null, 40 "codeinjection_foot": null, 41 "canonical_url": null, 42 "accent_color": null, 43 "created_at": "<tag_created_timestamp>", 44 "updated_at": "<tag_updated_timestamp>", 45 "url": "<tag_url>" 46 } 47 ], 48 "authors": [ 49 { 50 "id": "<author_id>", 51 "name": "<author_name>", 52 "slug": "<author_slug>", 53 "email": "<author_email>", 54 "profile_image": "<author_profile_image_url>", 55 "cover_image": null, 56 "bio": null, 57 "website": null, 58 "location": null, 59 "facebook": null, 60 "twitter": null, 61 "accessibility": "{ "nightShift": true, "whatsNew": { "lastSeenDate": "<last_seen_date>" } }", 62 "status": "<author_status>", 63 "meta_title": null, 64 "meta_description": null, 65 "tour": null, 66 "last_seen": "<author_last_seen>", 67 "created_at": "<author_created_timestamp>", 68 "updated_at": "<author_updated_timestamp>", 69 "roles": [ 70 { 71 "id": "<role_id>", 72 "name": "<role_name>", 73 "description": "<role_description>", 74 "created_at": "<role_created_timestamp>", 75 "updated_at": "<role_updated_timestamp>" 76 } 77 ], 78 "url": "<author_url>" 79 } 80 ], 81 "tiers": [], 82 "primary_author": { 83 "id": "<primary_author_id>", 84 "name": "<primary_author_name>", 85 "slug": "<primary_author_slug>", 86 "email": "<primary_author_email>", 87 "profile_image": "<primary_author_profile_image_url>", 88 "cover_image": null, 89 "bio": null, 90 "website": null, 91 "location": null, 92 "facebook": null, 93 "twitter": null, 94 "accessibility": "{ "nightShift": true, "whatsNew": { "lastSeenDate": "<last_seen_date>" } }", 95 "status": "<primary_author_status>", 96 "meta_title": null, 97 "meta_description": null, 98 "tour": null, 99 "last_seen": "<primary_author_last_seen>", 100 "created_at": "<primary_author_created_timestamp>", 101 "updated_at": "<primary_author_updated_timestamp>", 102 "roles": [ 103 { 104 "id": "<role_id>", 105 "name": "<role_name>", 106 "description": "<role_description>", 107 "created_at": "<role_created_timestamp>", 108 "updated_at": "<role_updated_timestamp>" 109 } 110 ], 111 "url": "<primary_author_url>" 112 }, 113 "primary_tag": { 114 "id": "<primary_tag_id>", 115 "name": "<primary_tag_name>", 116 "slug": "<primary_tag_slug>", 117 "description": null, 118 "feature_image": null, 119 "visibility": "<primary_tag_visibility>", 120 "og_image": null, 121 "og_title": null, 122 "og_description": null, 123 "twitter_image": null, 124 "twitter_title": null, 125 "twitter_description": null, 126 "meta_title": null, 127 "meta_description": null, 128 "codeinjection_head": null, 129 "codeinjection_foot": null, 130 "canonical_url": null, 131 "accent_color": null, 132 "created_at": "<primary_tag_created_timestamp>", 133 "updated_at": "<primary_tag_updated_timestamp>", 134 "url": "<primary_tag_url>" 135 }, 136 "url": "<post_url>", 137 "excerpt": "<post_excerpt>", 138 "og_image": null, 139 "og_title": null, 140 "og_description": null, 141 "twitter_image": null, 142 "twitter_title": null, 143 "twitter_description": null, 144 "meta_title": null, 145 "meta_description": null, 146 "email_subject": null, 147 "frontmatter": null, 148 "feature_image_alt": null, 149 "feature_image_caption": null, 150 "email_only": false, 151 "email": null 152 } 153 ] 154}
The actor uses the Pay-Per-Event pricing model, detailed below:
actor-start
- Price for Actor start: $0.02token-generation
- Price for generating a signed token: $0.01actor-dataset-push
- Price for pushing to the dataset: $0.01ghost-api-call
- Price for making a Ghost API call: $0.03Please note that this toll is in its early stages and might not cover all the features of the Ghost API. If you need more features, please contact us or create an issue. Thank you & happy blogging :)
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool β just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. Youβll be guided to input a search term and get structured results. No setup needed!