Integration · Automation

Spyglasses + n8n

Feed placements into Spyglasses and pull your AI visibility metrics out, from n8n Cloud or your own instance.

n8n connects to Spyglasses through the REST API with the HTTP Request node. A workflow can post new placements into a coverage group as they're won, batch a week of links into one call, and pull your metrics every morning into the sheets and reports your team already reads.

Jim Wrubel
Jim Wrubel

Last updated

Key takeaways
  • Inbound: an HTTP Request node posts placements to a coverage group.
  • Batch with an Aggregate node: one call of 200 links beats 200 calls.
  • Outbound: a Schedule Trigger and a GET pull your metrics every day.
  • Coverage calls use your organization API key. Metrics calls use a property API key.
  • The API works on every Spyglasses plan.
HTTP Request nodeCoverage ingest
Method          POST
URL             https://www.spyglasses.io/api/v1/coverage/groups/YOUR_GROUP_ID/items
Authentication  Header Auth  (name: x-api-key)
Body            JSON
                { "url": "{{ $json.link }}" }

What you can do

Workflows teams build first.

01

Log new coverage as it's won

Trigger on a new row in your coverage tracker, a new RSS item or a form submission, and post the link to a coverage group. Spyglasses scores it and starts watching for AI citations.

HTTP Request · POSTPOST /api/v1/coverage/groups/:groupId/items

02

Batch a week of links

Collect a week of placements with an Aggregate node, then send them in one call as urls. Duplicates come back flagged, so overlapping exports are safe.

AggregateHTTP Request · POST

03

Daily metrics and citations

A Schedule Trigger pulls your latest metrics with a property key, and the coverage citations endpoint with the organization key. Append both to a Google Sheet for the team.

Schedule TriggerHTTP Request · GETGET /api/v1/coverage/groups/:groupId/citations

Set it up in a few minutes

You need an organization API key, a coverage group, and an HTTP Request node.

  1. 1

    Generate an organization API key

    Open Organization Settings, then API Key, and generate one. This is the key for anything under /api/v1, including coverage.

    Which key do I need? →
  2. 2

    Save it as a Header Auth credential

    In n8n, create a Header Auth credential named x-api-key with your key as the value. The key stays in n8n's credential store, out of the workflow itself.

  3. 3

    Add the HTTP Request node

    Set the method to POST, the URL to your group's items endpoint, and a JSON body that maps the link from your trigger.

    { "url": "{{ $json.link }}" }
    Coverage automation guide →
  4. 4

    Optional: pull metrics on a scheduleOptional

    Add a Schedule Trigger and a GET to the metrics endpoint with a property API key. n8n splits the response into one item per tracking run, newest first.

    https://www.spyglasses.io/api/properties/YOUR_PROPERTY_ID/historical-metrics/discovery
    Endpoint reference →

The REST API, organization keys and property keys are included on every Spyglasses plan. Admins and owners generate the organization key.

Keep large loads cheap

For a historical archive, load first and score later.

  • Send up to 1000 links per call with urls.
  • Pass score: false to skip placement scoring on a bulk load. Citation tracking still runs.
  • Score what's missing later with Score placements on the group in the app.

Batch request body

Send this from the HTTP Request node after an Aggregate node. Map the aggregated links into urls.

{ "urls": [ "https://www.example.com/2026/09/acme-outdoor-review", "https://news.example.org/best-rain-jackets" ] }

Frequently asked questions

What to know before you connect n8n.

Which API key do I use?

Use your organization API key for coverage, because one key covers every client property in the organization. Use a property API key to read one property's metrics. Both go in the x-api-key header, and you keep them in n8n's credentials, never in the URL.

What if the same placement is sent twice?

Nothing breaks. Spyglasses matches URLs on a normalized form, so www, trailing slashes, UTM parameters and fragments all count as the same placement. A repeat comes back as a duplicate and costs nothing.

How does n8n get new numbers from Spyglasses?

n8n asks for them on the schedule you set. Daily prompt tracking runs once a day on ChatGPT, Gemini and Google AI Overviews, so a daily pull keeps every downstream sheet and report current.

How fast are new placements scored?

Scoring usually finishes within a minute of the call. Every active project that tracks the coverage group also re-checks its goals, so a placement AI was already citing gets credit for those earlier citations.

Which plans include the API?

Every plan. Admins and owners generate the organization key under Organization Settings, and any member with access to a property can copy its property key.

Track every placement from the day it runs

Start a free trial, create a coverage group, and wire up your first n8n workflow in a few minutes.

Spyglasses + n8n: Coverage and AI Visibility Workflows