{"meta":{"info":"Full API reference for instapi.co. All endpoints are listed below with methods, auth requirements, parameters, and example responses."},"endpoints":[{"method":"GET","url":"/api/start","auth":"none","description":"Service info and onboarding steps."},{"method":"GET","url":"/api/help","auth":"none","description":"This endpoint. Full API reference."},{"method":"POST","url":"/api/signup","auth":"none","body":{"email":"string (use a real email — password resets, invoices, and alerts are sent here)","password":"string (min 8 chars)"},"description":"Create an account. Returns a JWT token and 10 free credits."},{"method":"POST","url":"/api/login","auth":"none","body":{"email":"string","password":"string"},"description":"Log in. Returns a JWT token and current credit balance."},{"method":"GET","url":"/api/status","auth":"Bearer jwt_instapi_eyJ...","description":"Full account dashboard: credits, API keys, purchase history."},{"method":"POST","url":"/api/checkout","auth":"Bearer jwt_instapi_eyJ...","body":{"amountCents":"number (min 100, increments of 100)"},"description":"Get a Stripe payment link to add credits."},{"method":"GET","url":"/api/keys","auth":"Bearer jwt_instapi_eyJ...","description":"List all active API keys."},{"method":"POST","url":"/api/keys","auth":"Bearer jwt_instapi_eyJ...","body":{"name":"string"},"description":"Create a new API key. Save the returned key — it won't be shown again."},{"method":"DELETE","url":"/api/keys/:id","auth":"Bearer jwt_instapi_eyJ...","description":"Revoke an API key."},{"method":"GET","url":"/api/instagram/search?q={query}","auth":"Bearer sk_instapi_abc...","description":"Search Instagram users, hashtags, and places. Costs 1 credit."},{"method":"GET","url":"/api/instagram/users/{username}/posts?count={n}","auth":"Bearer sk_instapi_abc...","description":"Get enriched posts for an Instagram user. Costs 1 credit. Count defaults to 12."}]}