Free & Open

API Documentation

REST API for news intelligence, app store charts, startup funding data, and market analysis. Built for AI agents, iOS/Android apps, and developers.

Base URL: https://freequicknews.com/api/v1
Rate Limit: 100/day (free) · 1,000/day (registered) · 10,000/day (premium)

Authentication

Pass your API key in the X-API-Key header. Generate a key from your Dashboard. Endpoints marked Registered require a free account. Premium requires a paid plan.

# With API key

curl "https://freequicknews.com/api/v1/apps/top-charts" \

-H "X-API-Key: fqn_your_key_here"

News Intelligence

Bias-rated articles from 300+ sources, updated hourly.

GET/api/v1/search

Search articles with bias distribution analysis and sentiment breakdown. Designed for AI agents.

Parameters

NameTypeRequiredDescription
qstringRequiredSearch query
biasstringOptionalComma-separated: left,left-center,center,right-center,right
categorystringOptionaltech, ai, business, world, politics, health, etc.
fromISO dateOptionalArticles after this date (e.g. 2024-01-01)
limitnumberOptional1–100, default 20
formatstringOptional'full' (default) or 'summary' (compact for agents)
sortstringOptional'relevance' (default) or 'date'

Example

curl "https://freequicknews.com/api/v1/search?q=artificial+intelligence&bias=left,right&format=summary&limit=10"

# Response:
{
  "query": "artificial intelligence",
  "resultCount": 10,
  "biasDistribution": { "left": 4, "right": 6 },
  "results": [{ "title": "...", "source": "...", "bias": "left", "url": "...", "date": "..." }]
}
GET/api/v1/articles

Paginated list of all indexed articles with bias and sentiment metadata.

Parameters

NameTypeRequiredDescription
pagenumberOptionalPage number (default 1)
limitnumberOptional1–50, default 20
categorystringOptionalFilter by category
biasstringOptionalFilter by bias rating
qstringOptionalSearch in titles
countrystringOptionalISO 3166-1 alpha-2 country code (e.g. US, GB, CN). Filters by source country and geo-tagged entities.

Example

curl "https://freequicknews.com/api/v1/articles?category=tech&bias=center&limit=10"

# Filter by country (uses geo-mapping, not just text match):
curl "https://freequicknews.com/api/v1/articles?country=US&limit=20"
curl "https://freequicknews.com/api/v1/articles?country=GB&category=politics&limit=10"
GET/api/v1/sources

List all indexed news sources grouped by bias rating.

Example

curl "https://freequicknews.com/api/v1/sources"

App Store Intelligence

iOS and Android chart rankings, updated daily.

GET/api/v1/apps/top-chartsRegistered

Top iOS and Android apps by chart type. Filter by platform, chart, and country.

Parameters

NameTypeRequiredDescription
platformstringOptional'ios', 'android', or omit for both
chartTypestringOptional'top-free', 'top-paid', 'top-grossing'
countrystringOptionalISO country code, default 'us'
limitnumberOptional1–50, default 20

Example

curl "https://freequicknews.com/api/v1/apps/top-charts?platform=ios&chartType=top-free&limit=10" \
  -H "X-API-Key: fqn_your_key"

# Response:
{
  "apps": [
    {
      "rank": 1,
      "name": "ChatGPT",
      "developer": "OpenAI",
      "platform": "ios",
      "chartType": "top-free",
      "rating": 4.7,
      "category": "Productivity",
      "iconUrl": "https://...",
      "url": "https://apps.apple.com/..."
    }
  ]
}
GET/api/v1/apps/risingRegistered

Apps with the biggest rank improvements over the past 7 days. Great for spotting trends early.

Parameters

NameTypeRequiredDescription
platformstringOptional'ios' or 'android'
limitnumberOptional1–50, default 20

Example

curl "https://freequicknews.com/api/v1/apps/rising?platform=ios" \
  -H "X-API-Key: fqn_your_key"

# Response:
{
  "apps": [
    { "name": "...", "rankChange": 42, "currentRank": 8, "platform": "ios", ... }
  ]
}
GET/api/v1/apps/[id]Registered

Single app detail with 30-day rank history for trend analysis.

Parameters

NameTypeRequiredDescription
idpathRequiredApp database ID

Example

curl "https://freequicknews.com/api/v1/apps/123" \
  -H "X-API-Key: fqn_your_key"
GET/api/v1/apps/competitorsPremium

Find apps in the same category with similar chart rankings — your direct competitors.

Parameters

NameTypeRequiredDescription
appIdnumberRequiredApp ID to find competitors for

Example

curl "https://freequicknews.com/api/v1/apps/competitors?appId=123" \
  -H "X-API-Key: fqn_your_key"
GET/api/v1/apps/opportunitiesPremium

Categories with high revenue (grossing) but lower free competition — market gaps worth building for.

Parameters

NameTypeRequiredDescription
platformstringOptional'ios' or 'android'

Example

curl "https://freequicknews.com/api/v1/apps/opportunities?platform=ios" \
  -H "X-API-Key: fqn_your_key"

# Response:
{
  "opportunities": [
    { "category": "Finance", "grossingApps": 12, "freeApps": 3, "opportunityScore": 0.87 }
  ]
}

Startup Funding

Funding rounds auto-extracted from 300+ news sources in real-time.

GET/api/v1/fundingRegistered

Recent startup funding rounds with company, amount, round type, and investor names.

Parameters

NameTypeRequiredDescription
roundTypestringOptionalSeed, Series A, Series B, Series C, etc.
minAmountnumberOptionalMinimum amount in USD millions
daysnumberOptionalLookback window in days (default 7)
limitnumberOptional1–100, default 20

Example

curl "https://freequicknews.com/api/v1/funding?roundType=Series+A&minAmount=10&days=30" \
  -H "X-API-Key: fqn_your_key"

# Response:
{
  "rounds": [
    {
      "companyName": "Acme Corp",
      "amount": 25.0,
      "amountRaw": "$25M",
      "roundType": "Series A",
      "investors": ["Andreessen Horowitz", "Y Combinator"],
      "announcedAt": "2024-01-15T10:00:00Z",
      "sourceUrl": "https://techcrunch.com/..."
    }
  ]
}
GET/api/v1/funding/investorsRegistered

Investor leaderboard ranked by deal count or total capital deployed.

Parameters

NameTypeRequiredDescription
sortBystringOptional'deals' (default) or 'amount'
limitnumberOptional1–50, default 20

Example

curl "https://freequicknews.com/api/v1/funding/investors?sortBy=deals" \
  -H "X-API-Key: fqn_your_key"
GET/api/v1/funding/statsRegistered

Aggregate funding stats: total raised per week, breakdown by round type, top sectors.

Parameters

NameTypeRequiredDescription
daysnumberOptionalLookback window in days (default 30)

Example

curl "https://freequicknews.com/api/v1/funding/stats" \
  -H "X-API-Key: fqn_your_key"

# Response:
{
  "totalRaisedUSD": 1250000000,
  "roundCount": 47,
  "byRoundType": { "Seed": 18, "Series A": 12, "Series B": 9 },
  "avgDealSize": 26.6
}

Authentication & API Keys

Sign in with Google, then manage API keys from your dashboard.

GET/api/auth/api-keysRegistered

List your API keys (masked). POST to generate a new key. DELETE ?id=... to revoke.

Example

# List keys
curl "https://freequicknews.com/api/auth/api-keys" \
  -H "Cookie: fqn-session=your_session_token"

# Generate new key
curl -X POST "https://freequicknews.com/api/auth/api-keys" \
  -H "Cookie: fqn-session=your_session_token" \
  -H "Content-Type: application/json" \
  -d '{"name": "My iOS App"}'

# Response:
{ "key": "fqn_abc123...", "name": "My iOS App", "dailyLimit": 1000 }

Rate Limits & Tiers

TierPriceRequests/dayAccess
Free$0100News search only
RegisteredFree with signup1,000News + App Charts + Funding
Premium$4.99/mo10,000Everything + Competitors + Opportunities

Rate limits reset at midnight UTC. Exceeded limits return HTTP 429 with a Retry-After header.

Quick Start

JavaScript / TypeScript

const res = await fetch(
  "https://freequicknews.com/api/v1/apps/top-charts?platform=ios&limit=10",
  { headers: { "X-API-Key": "fqn_your_key" } }
);
const { apps } = await res.json();

Python

import requests
r = requests.get(
    "https://freequicknews.com/api/v1/funding",
    headers={"X-API-Key": "fqn_your_key"},
    params={"days": 7, "minAmount": 5}
)
rounds = r.json()["rounds"]

Swift (iOS)

var request = URLRequest(url: URL(string: "https://freequicknews.com/api/v1/apps/top-charts?platform=ios")!)
request.setValue("fqn_your_key", forHTTPHeaderField: "X-API-Key")
let (data, _) = try await URLSession.shared.data(for: request)
let result = try JSONDecoder().decode(AppsResponse.self, from: data)