Beta — data is real and verified against each vendor’s page.

For agents

Let your agent answer “what free credits can I get for X?” with Perq’s verified data: 147 live offers across 12 categories and 7 packs, each with the vendor’s source URL, a verbatim quote from that page and a last-verified time (latest: Oct 20, 2026, 6:27 AM ET). No API key, no signup, read-only, CORS open.

Please show the source link and last-verified date with every offer, and never present an offer that the API didn’t return. Terms belong to the vendors and can change.

Remote MCP server

URL: https://perq.sh/mcp. Transport: Streamable HTTP (stateless, JSON responses). No auth. Tools:

Claude Code

claude mcp add --transport http perq https://perq.sh/mcp

Cursor (~/.cursor/mcp.json or .cursor/mcp.json)

{
  "mcpServers": {
    "perq": {
      "url": "https://perq.sh/mcp"
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "perq": {
      "type": "http",
      "url": "https://perq.sh/mcp"
    }
  }
}

Codex (~/.codex/config.toml)

[mcp_servers.perq]
url = "https://perq.sh/mcp"

Claude Desktop and claude.ai

Settings → Connectors → Add custom connector, then paste https://perq.sh/mcp.

Other clients

Point any MCP client that supports Streamable HTTP at https://perq.sh/mcp. For stdio-only clients, bridge it:

# Any client that only speaks stdio
npx -y mcp-remote https://perq.sh/mcp

Raw JSON-RPC, for testing:

curl -sS https://perq.sh/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_credits","arguments":{"need":"free speech to text credits","filters":{"limit":3}}}}'

Search API

GET https://perq.sh/api/search?q=<need> returns offers ranked against a plain-language need. Closed offers are excluded unless include_closed=true.

curl -sS -G "https://perq.sh/api/search" \
  --data-urlencode "q=free speech to text credits" -d limit=5
# GPU compute for a bootstrapped startup, no application needed
curl -sS -G "https://perq.sh/api/search" --data-urlencode "q=GPU for a bootstrapped startup" -d no_application=true

# Student and research perks for LLM APIs
curl -sS -G "https://perq.sh/api/search" --data-urlencode "q=LLM API" -d student=true

# One offer by id
curl -sS "https://perq.sh/api/offers/deepgram-200-credit"

GET https://perq.sh/api/offers/<id> returns one offer (404 with suggestions for an unknown id). Response fields include credit_value, eligibility, how_to_claim, claim_url, source_url, source_snippet, last_verified and status. Example result (real data):

{
  "query": "free speech to text credits",
  "total_matches": "…",
  "results": [
    {
      "id": "deepgram-200-credit",
      "vendor": "Deepgram",
      "category": "voice/audio",
      "offer_type": "signup credit",
      "status": "live",
      "credit_value": "$200 free credit, then pay-as-you-go",
      "eligibility": "New Deepgram accounts",
      "how_to_claim": "Sign up",
      "claim_url": "https://deepgram.com/pricing",
      "source_url": "https://deepgram.com/pricing",
      "source_snippet": "Free $200 Credit then pay-as-you-go",
      "last_verified": "2026-10-20T06:12:52-04:00",
      "no_application": true,
      "perq_url": "https://perq.sh/offers/deepgram-200-credit",
      "score": "…"
    }
  ]
}

Static files: /api/offers.json (full dataset), /api/packs.json (packs with total breakdowns), /llms.txt, /llms-full.txt, /feed.xml.

Agent skill

A SKILL.md (agentskills.io format) that tells an agent when to use Perq and how to present results: /skill.md. Install it for Claude Code:

mkdir -p ~/.claude/skills/perq && curl -fsSL https://perq.sh/skill.md -o ~/.claude/skills/perq/SKILL.md

Fair use

Free to use with attribution (a link to https://perq.sh). Responses are cached for five minutes. The data is re-verified against vendor pages daily. Questions or corrections: ops@avatar33.com. Perq is operated by Avatar 8 LLC. No paid ranking.