Developers

Developer API

Fetch signals, need gaps, and reports programmatically via the REST API.

Developer API

Fetch ProfitSearcher data programmatically via REST: signals, need gaps, and deep-dive reports. Ideal for plugging into your own research tools, dashboards, or AI workflows.

Quick start

  1. Sign in and create an API key from the "Developer API" card at the bottom of your dashboard (the full key is shown only once — save it immediately)
  2. Pass the key in a request header (either style works):
curl "https://www.profitsearcher.com/api/v1/needs?locale=en&per_page=5" -H "Authorization: Bearer ps_live_xxxxxxxx..."

# or with the X-API-Key header
curl "https://www.profitsearcher.com/api/v1/signals" -H "X-API-Key: ps_live_xxxxxxxx..."

Endpoints

EndpointDescription
GET /api/v1/signalsList signals
GET /api/v1/signals/{slug}Signal detail (full content)
GET /api/v1/needsList need gaps
GET /api/v1/needs/{slug}Need gap detail (full content)
GET /api/v1/reportsList reports (metadata + abstract)
GET /api/v1/reports/{slug}Report detail (full-text rules below)

Common parameters

  • locale: zh (default) or en
  • page: page number, default 1 (list endpoints only)
  • per_page: items per page, default 20, max 100 (list endpoints only)

Response format

Success:

{
  "data": [],
  "meta": { "total": 42, "page": 1, "per_page": 20, "generated_at": "2026-07-05T00:00:00Z" }
}

Error:

{ "error": { "code": "rate_limited", "message": "Daily request limit reached." } }

Every successful response includes X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset headers.

Quotas and content tiers

  • Free accounts: 10 requests total per account (one-time allowance, shared across all keys, does not reset)
  • Pro members: 10 requests per account per day (shared across all keys, resets at 00:00 UTC), and report detail responses include the full content_markdown
  • With a free key, premium report details omit the full text and include "content_locked": true
  • Free allowance exhausted returns 429 (upgrade to Pro); Pro daily quota resets at 00:00 UTC
  • Each account can hold up to 5 active keys; revoke them anytime from the dashboard

Error codes

HTTPcodeDescription
400invalid_requestInvalid parameters
401unauthorizedMissing, invalid, or revoked key
404not_foundResource not found
429rate_limitedFree allowance exhausted or Pro daily quota exceeded

API data refreshes immediately after content is published or updated (it shares the same cache-invalidation pipeline as the website).

Developer API | ProfitSearcher