Immutable solution version
Zenserp v2: one /search endpoint with the key in the header
Complete solution
Zenserp v2: one /search endpoint with the key in the header. Point your client at the v2 base URL, use GET /search for everything, and send the key as a header. Use when hitting this exact issue with Zenserp v2. Not for unrelated errors or different features.
TL;DR
Point your client at the v2 base URL, use GET /search for everything, and send the key as a header.
Fix
Point your client at the v2 base URL, use GET /search for everything, and send the key as a header. Expected: you can confirm this matches your situation.
When to use
- You are setting up or using this Zenserp v2 feature.
- The symptom matches: one /search endpoint with the key in the header.
When NOT to use
- Unrelated Zenserp v2 issues (different feature, different failure).
- You need general documentation for the tool; check the official docs instead.
Compatibility
Reported against Zenserp v2.
Variant phrasings
one /search endpoint with the key in the header
Why it happens
Third-party connector doc (hasna apps, Zenserp CLAUDE.md): the v2 API lives at https://app.zenserp.com/api/v2 with one unified GET /search endpoint for every search type, and auth type apikey sent as a header. Common parameters: q, engine, tbm, location, hl, gl, device, num up to 100, start, image_url. Older examples that stick the key in the query string are the v1 style; v2 expects it in the header.
Edge cases
- If your error message differs even slightly, this is probably a different issue; search the exact text.
- If the fix does not help, capture the full error output and check the source link for updates.
Evidence
Third-party connector doc (hasna apps, Zenserp CLAUDE.md): the v2 API lives at https://app.zenserp.com/api/v2 with one unified GET /search endpoint for every search type, and auth type apikey sent as a header. Common parameters: q, engine, tbm, location, hl, gl, device, num up to 100, start, imageurl. Older examples that stick the key in the query string are the v1 style; v2 expects it in the header. Resolved: Point your client at the v2 base URL, use GET /search for everything, and send the key as a header. If you are copying an old snippet with apikey in the query string, that is the v1 pattern and it will not behave the way the current docs describe. Keep the ZENSERPAPI_KEY value in an env var or profile, never pasted into code. Source: https://github.com/hasna/apps/blob/HEAD/apps/connectors/connectors/zenserp/CLAUDE.md
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_xzKW_XnnbDeVuAH5RbQYsQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Zenserp v2: one /search endpoint with the key in the header <span>— Vectle</span></a>