nowyourlink-com Spotlights API
The Spotlights API from nowyourlink-com — 4 operation(s) for spotlights.
The Spotlights API from nowyourlink-com — 4 operation(s) for spotlights.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/nowyourlink-com:nowyourlink-com-spotlights-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Nowyourlink Com Spotlights API
version: 1.0.0
description: 'Operations tagged Spotlights across 2 of this provider''s published API definitions: nowyourlink-com-openapi.json, nowyourlink-com-preview-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://nowyourlink.com
- url: https://preview.nowyourlink.com
security: []
tags:
- name: Spotlights
paths:
/api/v1/spotlights:
get:
operationId: listSpotlights
summary: List settled Spotlights, newest first, using a date cursor or bounded offset…
description: List settled Spotlights, newest first, using a date cursor or bounded offset pagination; cursor and offset are mutually exclusive.
security: []
parameters:
- name: limit
in: query
description: Maximum number of records, default 20.
schema:
type: integer
minimum: 1
maximum: 50
default: 20
- name: cursor
in: query
description: Exclusive date boundary from nextCursor; cannot be combined with offset.
schema:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
- name: offset
in: query
description: Number of settled records to skip, default 0; cannot be combined with cursor.
schema:
type: integer
minimum: 0
maximum: 10000
default: 0
responses:
'200':
description: Successful public read.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
content:
application/json:
schema:
type: object
required:
- data
- nextOffset
- nextCursor
properties:
data:
type: array
items:
type: object
additionalProperties: false
required:
- day
- headline
- description
- advertiser
- canonicalUrl
- contentType
properties:
day:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
headline:
type: string
description:
type: string
advertiser:
type: string
canonicalUrl:
type: string
format: uri
contentType:
type: string
enum:
- paid_advertisement
- house_advertisement
nextOffset:
type:
- integer
- 'null'
nextCursor:
anyOf:
- type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
- type: 'null'
'400':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'404':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'429':
description: Shared public token bucket exhausted. Wait Retry-After seconds before retrying.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
Retry-After:
schema:
type: integer
minimum: 1
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'503':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
tags:
- Spotlights
servers:
- url: https://nowyourlink.com
/api/v1/spotlights/batch:
get:
operationId: batchGetSpotlights
summary: Read 1–10 public settled days in one request.
description: Read 1–10 public settled days in one request. Missing or removed days return per-item 404; input order is preserved.
security: []
parameters:
- name: days
in: query
required: true
description: '1–10 comma-separated UTC dates. Example: 2026-09-01,2026-09-02.'
schema:
type: string
maxLength: 109
pattern: ^\d{4}-\d{2}-\d{2}(,\d{4}-\d{2}-\d{2}){0,9}$
responses:
'200':
description: Successful public read.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
content:
application/json:
schema:
type: object
required:
- results
properties:
results:
type: array
maxItems: 10
items:
type: object
required:
- day
- status
- data
properties:
day:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
status:
type: integer
enum:
- 200
- 404
data:
anyOf:
- type: object
additionalProperties: false
required:
- day
- headline
- description
- advertiser
- canonicalUrl
- contentType
properties:
day:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
headline:
type: string
description:
type: string
advertiser:
type: string
canonicalUrl:
type: string
format: uri
contentType:
type: string
enum:
- paid_advertisement
- house_advertisement
- type: 'null'
'400':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'404':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'429':
description: Shared public token bucket exhausted. Wait Retry-After seconds before retrying.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
Retry-After:
schema:
type: integer
minimum: 1
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'503':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
tags:
- Spotlights
servers:
- url: https://nowyourlink.com
/api/v1/spotlights/{day}/metrics:
get:
operationId: getSpotlightMetricsPaid
summary: Read the paid click aggregate of one settled Spotlight day
description: 'Costs 100 cents EUR per request over the Machine Payments Protocol. Without a credential the response is 402 with a WWW-Authenticate: Payment challenge (method stripe, intent charge). Retry with Authorization: Payment carrying a Stripe Shared Payment Token; a settled response carries Payment-Receipt.'
security: []
x-payment-info:
intent: charge
method: stripe
amount: '100'
currency: eur
description: One Spotlight day of click metrics. Read methodDetails from the live challenge for the configured merchant profile.
resource: https://nowyourlink.com/api/v1/spotlights/2026-09-01/metrics
parameters:
- name: day
in: path
required: true
example: '2026-09-01'
schema:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
responses:
'200':
description: Metrics after settlement. Payment-Receipt carries the base64url receipt.
headers:
Payment-Receipt:
schema:
type: string
content:
application/json:
schema:
type: object
required:
- data
- paid
properties:
data:
type: object
required:
- day
- clicks
- human_clicks
- countries
properties:
day:
type: string
format: date
clicks:
type: integer
human_clicks:
type: integer
countries:
type: integer
paid:
type: object
properties:
cents:
type: integer
currency:
type: string
'402':
description: 'Payment challenge. WWW-Authenticate: Payment id, realm, method, intent, request, expires, description.'
headers:
WWW-Authenticate:
schema:
type: string
content:
application/problem+json:
schema:
type: object
'404':
description: No settled Spotlight on that day.
'429':
description: Shared public token bucket exhausted. Wait Retry-After seconds before retrying.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
Retry-After:
schema:
type: integer
minimum: 1
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
tags:
- Spotlights
servers:
- url: https://nowyourlink.com
/api/v1/spotlights/{day}:
get:
operationId: getSpotlight
summary: Read one settled Spotlight by UTC date
description: Read one settled Spotlight by UTC date.
security: []
parameters:
- name: day
in: path
required: true
description: Settled UTC auction date.
schema:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
responses:
'200':
description: Successful public read.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: object
additionalProperties: false
required:
- day
- headline
- description
- advertiser
- canonicalUrl
- contentType
properties:
day:
type: string
format: date
pattern: ^\d{4}-\d{2}-\d{2}$
description: Settled auction date in UTC, YYYY-MM-DD.
headline:
type: string
description:
type: string
advertiser:
type: string
canonicalUrl:
type: string
format: uri
contentType:
type: string
enum:
- paid_advertisement
- house_advertisement
'400':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'404':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'429':
description: Shared public token bucket exhausted. Wait Retry-After seconds before retrying.
headers:
RateLimit-Policy:
description: 'IETF draft structured field: 120-token capacity, replenished at 2 tokens per second; no fixed window.'
schema:
type: string
example: '"agent";q=120;nyl-refill=2'
RateLimit:
description: Actual remaining tokens after this request; shared per trusted client IP across public agent endpoints.
schema:
type: string
example: '"agent";r=119'
Retry-After:
schema:
type: integer
minimum: 1
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
'503':
description: Invalid input, unavailable content, or temporary service failure. See problem detail.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
docs:
type: string
format: uri
tags:
- Spotlights
servers:
- url: https://nowyourlink.com
components:
securitySchemes:
affiliateSession:
type: apiKey
in: cookie
name: nyl_sess
description: Signed-in user session. State changes require the website Origin. Preview uses nyl_sess_preview.
agentOAuth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://api.nowyourlink.com/oauth/authorize
tokenUrl: https://api.nowyourlink.com/oauth/token
refreshUrl: https://api.nowyourlink.com/oauth/token
scopes:
account:read: Read account, settings and eligibility
account:write: Update eligible company details and contact preferences
reports:read: Read your campaign reports and Spotlight performance
bids:read: Read own bids
bids:write: Place and raise bids within the mandate
creatives:read: Read own creatives
creatives:write: Upload and submit creatives
invoices:read: Read invoices
billing:read: Read your saved payment methods
billing:write: Manage your saved payment methods and billing portal
security:read: Read your registered passkeys
security:write: Remove your registered passkeys
privacy:write: Request data export or account erasure
connections:read: Read your authorized agent connections
connections:write: Revoke your authorized agent connections
affiliate:read: Read own partner statistics, referral links and payouts
affiliate:write: Configure own callback and request commission payouts
x-refined-from:
- nowyourlink-com-openapi.json
- nowyourlink-com-preview-openapi.json