sickn33/agentic-awesome-skills · error · Error

HasData ${r.status} ${await r.text()}

Error message

HasData ${r.status} ${await r.text()}

What it means

Error "HasData ${r.status} ${await r.text()}" thrown in sickn33/agentic-awesome-skills.

Source

Thrown at skills/hasdata/references/code-recipes.md:100

                out[futs[f]] = e
    return out
```

Cap `workers` at your plan's concurrency — anything higher just generates `429`s.

## TypeScript — minimal client

```typescript
const BASE = "https://api.hasdata.com";
const KEY  = process.env.HASDATA_API_KEY!;

async function get<T = any>(path: string, params: Record<string, string | number> = {}): Promise<T> {
  const qs = new URLSearchParams(Object.entries(params).map(([k, v]) => [k, String(v)]));
  const r = await fetch(`${BASE}${path}?${qs}`, {
    headers: { "x-api-key": KEY },
    signal:  AbortSignal.timeout(300_000),
  });
  if (!r.ok) throw new Error(`HasData ${r.status} ${await r.text()}`);
  const body = await r.json() as any;
  if (body?.requestMetadata?.status && body.requestMetadata.status !== "ok") {
    throw new Error(`HasData not-ok: ${JSON.stringify(body.requestMetadata)}`);
  }
  return body as T;
}

async function post<T = any>(path: string, body: unknown): Promise<T> {
  const r = await fetch(`${BASE}${path}`, {
    method:  "POST",
    headers: { "x-api-key": KEY, "Content-Type": "application/json" },
    body:    JSON.stringify(body),
    signal:  AbortSignal.timeout(300_000),
  });
  if (!r.ok) throw new Error(`HasData ${r.status} ${await r.text()}`);
  return r.json() as Promise<T>;
}

View on GitHub (pinned to 58d857988f)

When it happens

Trigger: Thrown at skills/hasdata/references/code-recipes.md:100 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sickn33/agentic-awesome-skills@58d857988f (2026-08-26). Data as JSON: /api/errors/f513f16ab5dd1911. Report an issue: GitHub.