curlship
Submit products to CurlShip, the bot-friendly SaaS directory.
Setup & Installation
Install command
clawhub install marcindudekdev/curlshipIf the CLI is not installed:
Install command
npx clawhub@latest install marcindudekdev/curlshipOr install with OpenClaw CLI:
Install command
openclaw skills install marcindudekdev/curlshipor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/marcindudekdev/curlshipWhat This Skill Does
CurlShip is a SaaS directory that accepts submissions via a single API call. It auto-scrapes OG tags from the submitted URL to populate the listing. No authentication required; paid tiers provide higher placement and dofollow backlinks.
Unlike most directories that require manual form submissions, CurlShip accepts a single curl command with no account or API key needed.
When to Use It
- Submitting a new SaaS tool to a public directory without signing up
- Checking what products are currently listed on CurlShip
- Getting badge HTML to earn a dofollow backlink for a free listing
- Upgrading a listing to a paid tier for better directory placement
- Automating product directory submissions from a CI/CD pipeline or bot
View original SKILL.md file
# CurlShip — Bot-Friendly SaaS Directory
## Overview
Use this skill when you need to **list a product or SaaS** on a public directory. CurlShip is designed for bots and CLI tools — submit with a single API call, get back OG-scraped listing details, and optionally upgrade to paid tiers for higher placement.
## Quick Reference
**API Base URL:** `https://curlship.com`
**Homepage:** `https://curlship.com`
**Pricing:** `https://curlship.com/pricing`
**Single-line Use Cases:**
- Submit a product URL to be listed in the directory
- Check all current directory listings
- Upgrade a listing to a paid tier (Bronze/Silver/Gold/Platinum)
- Get the CurlShip badge HTML for dofollow links
## What this skill does
- Sends HTTPS requests to the CurlShip API
- Uses `POST /api/submit` to add a new listing (auto-scrapes OG tags)
- Uses `GET /api/listings` to retrieve all active listings
- Uses `POST /api/upgrade` to get a checkout URL for paid tier upgrades
- Returns structured JSON responses with listing details
## What this skill does NOT do
- Does not require authentication or API keys
- Does not make payments directly — upgrade returns a checkout URL for the user
- Does not modify any local files or system settings
## Endpoints
### 1. Submit a Listing
**`POST /api/submit`** — Add a product to the directory.
```bash
curl -X POST https://curlship.com/api/submit \
-H "Content-Type: application/json" \
-d '{"url": "https://yourapp.com", "email": "you@email.com"}'
```
**Request Fields:**
- `url` (required): Product URL starting with `http`. Must be a public, non-private address.
- `email` (required): Contact email for the listing owner.
**Example Response (201 Created):**
```json
{
"ok": true,
"message": "Listed! Add a badge for a dofollow link.",
"listing": {
"id": 42,
"url": "https://yourapp.com",
"tier": "free",
"title": "YourApp - Build Faster",
"description": "The fastest way to ship your next SaaS.",
"image": "https://yourapp.com/og-image.png",
"has_badge": false
},
"badge_html": "<a href=\"https://curlship.com\"><img src=\"https://curlship.com/badge\" alt=\"Listed on CurlShip\" /></a>"
}
```
**Error Responses:**
- `400` — Missing/invalid URL or email
- `403` — URL is on a blocklist (adult/phishing/malware)
- `429` — Rate limit exceeded (max 10 submissions per hour per IP)
**Duplicate Handling:** If the URL is already listed, returns `200` with `"message": "Already listed"` and the existing listing data.
### 2. Get All Listings
**`GET /api/listings`** — Retrieve all active directory listings.
```bash
curl https://curlship.com/api/listings
```
**Example Response:**
```json
{
"ok": true,
"listings": [
{
"id": 1,
"url": "https://example.com",
"tier": "gold",
"title": "Example App",
"description": "A great example application.",
"image": "https://example.com/og.png",
"has_badge": true
}
]
}
```
Listings are sorted by tier (Platinum > Gold > Silver > Bronze > Free).
### 3. Upgrade a Listing
**`POST /api/upgrade`** — Get a payment checkout URL to upgrade a listing's tier.
```bash
curl -X POST https://curlship.com/api/upgrade \
-H "Content-Type: application/json" \
-d '{"url": "https://yourapp.com", "tier": "gold"}'
```
**Request Fields:**
- `url` (required): The URL of an existing listing.
- `tier` (required): One of `platinum`, `gold`, `silver`, `bronze`.
**Example Response:**
```json
{
"ok": true,
"checkout_url": "https://checkout.dodopayments.com/..."
}
```
**Error Responses:**
- `400` — Invalid tier name
- `404` — Listing not found (submit it first)
- `503` — Payment system unavailable
**Important:** The listing must already exist. Submit first, then upgrade.
### 4. Badge SVG
**`GET /badge`** — Returns the CurlShip badge as an SVG image.
Place this badge on your site to automatically earn a **dofollow** link:
```html
<a href="https://curlship.com">
<img src="https://curlship.com/badge" alt="Listed on CurlShip" />
</a>
```
Badge presence is auto-checked hourly. Any `<a>` tag linking to `curlship.com` qualifies.
## Tiers & Pricing
| Tier | Price | Benefits |
|------|-------|----------|
| Platinum | $149/mo | Top of directory, dofollow link, priority OG refresh |
| Gold | $49/mo | Above Silver & Bronze, dofollow link |
| Silver | $15/mo | Above Bronze & Free, dofollow link |
| Bronze | $1/mo | Above Free tier, dofollow link |
| Free | $0 | Listed in Free section, nofollow by default |
**Dofollow rules:**
- Paid tiers (any) get dofollow automatically
- Free tier gets dofollow by placing a CurlShip badge on your site
## Typical Agent Workflow
1. **Submit** the product URL and email via `POST /api/submit`
2. **Check** the response for the listing details and badge HTML
3. **Optionally upgrade** via `POST /api/upgrade` and present the checkout URL to the user
4. **Add the badge** HTML to the product's website for a dofollow link (free tier)
## Rate Limits
- Maximum 10 submissions per hour per IP address
- No rate limit on `GET /api/listings`
## Security & Content Policy
- URLs pointing to private/reserved IP addresses are rejected (SSRF protection)
- URLs on known adult/phishing/malware blocklists are rejected
- All API responses include `x-robots-tag: noindex`
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Submitting a new SaaS tool to a public directory without signing up
- 1Submitting a new SaaS tool to a public directory without signing up
- 2Checking what products are currently listed on CurlShip
- 3Getting badge HTML to earn a dofollow backlink for a free listing
- 4Upgrading a listing to a paid tier for better directory placement
- 5Automating product directory submissions from a CI/CD pipeline or bot
Submit products to CurlShip, the bot-friendly SaaS directory.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.
Similar Skills
VIEW ALLAgent Browser
A fast Rust-based headless browser automation CLI.
babyconnect
ActiveCampaign CRM integration for lead management, deal tracking.
bits
Control browser automation agents via the Bits MCP server.
testskillx
Simple test skill that calls a GET endpoint to fetch a daily post.