# REST API

REST API


      # JSON API conventions


      Base URL: `https://jdstzpeukxcxxnodvess.supabase.co/functions/v1`


      All extraction endpoints are `POST` with JSON bodies. Always send:


      `Authorization: Bearer <user JWT or anon key>
apikey: <anon/publishable key>
Content-Type: application/json`

      ## extract_comments


      `POST /extract-comments` — paste public post URLs and receive normalized comments.


      `{
  "urls": ["https://www.tiktok.com/@user/video/123"],
  "platform": "tiktok",
  "limit": 500,
  "includeReplies": true,
  "exportLikesOnly": false,
  "exportJobId": null
}`
      `platform` is optional; it is inferred from the URL when omitted. `limit` caps comments returned. Response includes `comments[]` with username, text, likes, timestamp, replyTo, and platform fields, plus `creditsUsed`.



      ## extract_reviews


      `POST /extract-reviews` — Amazon, Yelp, Google Maps, Airbnb, Trustpilot, and similar review sources.


      `{
  "url": "https://www.amazon.com/dp/B0EXAMPLE",
  "platform": "amazon",
  "maxItems": 200
}`

      ## extract_universal


      `POST /extract-universal` — product-typed extraction (posts, followers, leads, transcription, OCR, likes, profiles).


      `{
  "url": "https://www.instagram.com/example/",
  "platform": "instagram",
  "productType": "posts",
  "maxItems": 100
}`

      ## check_subscription


      `POST /check-subscription` — current plan, credit balance, and Stripe subscription state for the authenticated user.



      ## create_checkout


      `POST /create-checkout` — creates a Stripe Checkout session. Confirm with the user before charging.



      Full schemas: [openapi.json](/openapi.json).
