Quick start
TrueStare gives you instant access to pre-scraped market data, trending keywords, and AI text processing — all through a single REST API.
https://api.truestare.com
1. Get an API key
Create a free account to get your API key. Free tier includes 100 data calls and 10 text calls per day.
2. Make your first request
curl https://api.truestare.com/v1/data/keywords?niche=saas \ -H "X-Api-Key: YOUR_API_KEY"
import requests
res = requests.get(
"https://api.truestare.com/v1/data/keywords",
params={"niche": "saas"},
headers={"X-Api-Key": "YOUR_API_KEY"}
)
print(res.json())
const res = await fetch(
"https://api.truestare.com/v1/data/keywords?niche=saas",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data);
Authentication
All requests require an API key passed in the X-Api-Key header.
X-Api-Key: ts_live_xxxxxxxxxxxxxxxx
Never expose your API key in client-side code or public repositories. Generate separate keys for development and production from your dashboard.
Errors
TrueStare uses standard HTTP status codes.
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — check your parameters |
| 401 | Invalid or missing API key |
| 422 | Validation error — missing required field |
| 429 | Rate limit exceeded — upgrade or wait until midnight UTC |
| 500 | Server error — try again shortly |
Error responses always include a JSON body: {"detail": "error message"}
Rate limits
Limits reset daily at midnight UTC. Exceeding a limit returns a 429 response.
| Tier | Data / day | Text / day | Automation / day |
|---|---|---|---|
| Free | 100 | 10 | 5 |
| Starter | 1,000 | 200 | 50 |
| Pro | 5,000 | 1,000 | 200 |
| Business | 50,000 | 5,000 | 1,000 |
Keywords
Returns trending keywords and hot Reddit posts for a given niche. Data is refreshed every 6 hours from Google Trends and Reddit.
| Parameter | Type | Description | |
|---|---|---|---|
| niche | string | optional | Filter by niche (e.g. "saas", "fitness", "crypto"). Omit to return all. |
| limit | integer | optional | Max results to return (default 20, max 100). |
# Example response { "data": [ { "niche": "saas", "source": "google_trends", "rising": [ { "query": "ai saas tools", "value": 200 } ], "top": [ { "query": "saas pricing", "value": 100 } ] }, { "niche": "saas", "source": "reddit", "subreddit": "SaaS", "trending_posts": [ { "title": "I launched my first SaaS!", "score": 412, "comments": 89, "url": "https://reddit.com/..." } ] } ], "count": 2 }
Market data
Returns live crypto prices, market caps, 24h change, and the Fear & Greed index. Updated every 30 minutes.
| Parameter | Type | Description | |
|---|---|---|---|
| category | string | optional | Filter by category. Currently supports "crypto". |
# Example response { "data": [ { "data": { "name": "Bitcoin", "symbol": "BTC", "rank": 1, "price_usd": 71909.0, "change_24h": 1.34, "change_7d": -2.1, "market_cap": 1418000000000, "volume_24h": 28500000000 }, "as_of": "2026-04-10T01:23:09Z" } ] }
Domain enrichment
Returns WHOIS data, tech stack, DNS records, and page title for any domain. Common domains are pre-cached; others are fetched on-demand (may take up to 30 seconds on first request).
| Parameter | Type | Description | |
|---|---|---|---|
| domain | string | required | Domain to enrich (e.g. stripe.com). |
curl "https://api.truestare.com/v1/data/enrich?domain=stripe.com" \ -H "X-Api-Key: YOUR_API_KEY"
PII detection
Detects and flags personally identifiable information in text — names, emails, phone numbers, SSNs, credit card numbers, and more.
| Body field | Type | Description | |
|---|---|---|---|
| text | string | required | The text to scan for PII. |
curl -X POST https://api.truestare.com/v1/text/pii-detect \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Contact John at [email protected] or 555-867-5309"}'
Text extraction
Extracts structured data from unstructured text — key facts, entities, dates, and summaries.
| Body field | Type | Description | |
|---|---|---|---|
| text | string | required | The text to extract information from. |
Content moderation
Classifies text as safe, unsafe, or borderline. Returns category flags for hate speech, violence, adult content, spam, and harassment.
| Body field | Type | Description | |
|---|---|---|---|
| text | string | required | The text to moderate. |
Contract clauses
Extracts and categorizes key clauses from contract text — payment terms, termination conditions, liability caps, IP ownership, and more.
| Body field | Type | Description | |
|---|---|---|---|
| text | string | required | The contract text to analyze. |
curl -X POST https://api.truestare.com/v1/text/contract-clauses \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Either party may terminate this agreement with 30 days written notice..."}'
API keys
Returns all API keys on your account. Key values are never returned after creation.
| Body field | Type | Description | |
|---|---|---|---|
| name | string | optional | A label for this key (e.g. "Production"). |
The full key value is returned once and never again — save it immediately.
Usage
# Example response { "date": "2026-04-10", "tier": "free", "usage": { "data": 42, "text": 3, "automation": 0 }, "limits": { "data": 100, "text": 10, "automation": 5 } }