REST API v1

API for AI Agents

Send product photos, get marketplace listings ready to publish. REST API with API key authentication, quota, and rate limiting.

Quick Start

1

Get an API key

Create an account and generate an API key from your dashboard.

Manage API keys
2

Check your quota

curl https://phototolisting.com/api/v1/usage \
  -H "X-API-Key: ptl_your_key_here"
3

Generate listings

curl -X POST https://phototolisting.com/api/v1/listings \
  -H "X-API-Key: ptl_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "photos": ["data:image/jpeg;base64,..."],
    "platforms": ["leboncoin", "vinted"],
    "language": "fr",
    "tone": "friendly"
  }'

Endpoints

MethodPathDescription
POST/api/v1/listingsGenerate listings from product photos
GET/api/v1/usageCheck remaining quota

Authentication

All API requests require an API key passed via the X-API-Key header.

X-API-Key: ptl_your_key_here
  • Keys use the ptl_ prefix followed by 64 hex characters
  • Maximum 10 active keys per account
  • The key is shown only once at creation — save it immediately

Limits & Quota

Rate Limiting

Free10 req/min
Pro60 req/min

X-RateLimit-Limit and X-RateLimit-Remaining headers are included in every response.

Generation Quota

Free3 / month
ProUnlimited
Credit Pack20 generations

Example Response

{
  "success": true,
  "data": {
    "listings": [
      {
        "platform": "leboncoin",
        "title": "Veste en cuir noir - Taille M",
        "description": "Superbe veste en cuir véritable...",
        "price": 45,
        "category": "Vêtements",
        "condition": "Bon état"
      }
    ],
    "attributes": {
      "name": "Veste en cuir noir",
      "brand": "Unknown",
      "size": "M",
      "condition": "good",
      "color": "Noir",
      "material": "Cuir"
    },
    "suggestedPrice": 45
  },
  "usage": {
    "freeUsed": 1,
    "freeLimit": 3,
    "creditsRemaining": 0,
    "isSubscribed": false,
    "canGenerate": true
  }
}

Supported Platforms

leboncoin
Leboncoin
France
vinted
Vinted
Europe
marketplace
Facebook Marketplace
Global
ebay
eBay
Global
etsy
Etsy
Global
vestiaire
Vestiaire Collective
Europe
selency
Selency
France
poshmark
Poshmark
US
mercari
Mercari
US/Japan
depop
Depop
UK/US
craigslist
Craigslist
US
offerup
OfferUp
US

Error Codes

CodeMeaning
400Bad Request
401Unauthorized
402Payment Required
429Too Many Requests
500Server Error

Resources

Ready to integrate?

Start free with 3 generations per month. Upgrade to Pro for unlimited access.