Track API

Our Enterprise accounts come with unlimited API access so you can add, update and delete tracks programmatically. You can also get lists of your tracks and lists of recent changes. Find your token at https://trackly.io/account/api. Any problems please contact support at support@trackly.io. If you are looking for a webhook that gets triggered when a change is discovered take a look at the webhook documentation.

List tracks

List all existing tracks associated with users workspace. Represent the same data as the tracks list in the dashboard

GET https://trackly.io/api/v2/[:TOKEN]/tracks

Query Parameters

Name Values Description Default
search Search string Keywords to search track name and url Empty (search all)
tag Tag name string Filter list by tag name Empty (all tags)
order Options: newest, oldest, a_z, z_a, last_checked, last_change Reorder the result list newest
format Options: json, csv Format of results list json

JSON Response example

Get a list of your tracks

[
  {
    "Title": "Example page",
    "Url": "https://example.com/example.html",
    "Status": "running",
    "Frequency": "daily",
    "Ignore small changes": true,
    "Last changed": "2024-11-05T15:06:00.022Z",
    "What to track": "Whole page",
    "Next check": "2024-11-06T15:00:00.000Z",
    "Id": "djwop4iufg",
    "Track link": "https://trackly.io/tracks/djwop4iufg",
    "Created at": "2024-11-04T15:36:03.809Z",
    "Receiver": "test@test.com"
  },
  ...
]

List recent changes

List recent changes order by most recent first. Represent the same data as the notifications page in the dashboard. NB: Rather than polling for recent changes you can use our webhook feature instead.

GET https://trackly.io/api/v2/[:TOKEN]/changes

Query Parameters

Name Values Description Default
search Search string Keywords to search by track name and url Empty (search all)
tag Tag name string Filter list by track tag Empty (all tags)
format Options: json, csv Format of results list json
track E.g. djwop4iufg Only get results for given track id Empty (all tracks)

JSON Response example

[
  {
    "Id": 7678889,
    "Notice": "Page change",
    "Track id": "uNqB0ow6KQ",
    "Track Url": "https://bbc.co.uk/news"
    "Track name": "Home - BBC News",
    "Change date": "2024-11-06T11:48:56.799Z",
    "Version link": "https://trackly.io/tracks/uNqB0ow6KQ/versions/13100485",
    "Track link": "https://trackly.io/tracks/uNqB0ow6KQ",
    "Before image": "https://cdn.trackly.io/trackly-production/12345.jpg",
    "After image": "https://cdn.trackly.io/trackly-production/789.jpg",
    "Before html": "<html><body>Before Example</body></html>",
    "After html": "<html><body>After Example</body></html>",
    "Html diff": "Git diff of HTML"
    "Summary image": "https://cdn.trackly.io/trackly-production/654.jpg",
    "Receiver": "max@test.com, julie@test.com, joe@test.com",
    "Added text summary": "Government announces new schools program",
    "Added": ["New text found", "Updated Nov 2024"]
  },
  ...
]

Create new track

Create a new track along with setting the part of page to monitor and schedule.

POST https://trackly.io/api/v2/[:TOKEN]/tracks

Query Parameters

Name Values Description Default
url Eg: https://example.com/test.html Keywords to search by track name and url Required field
title Title name string Name the track Page title
frequency Options: hourly, daily, weekly How often to check daily
hour E.g. 12:00am or 6:00pm Hour in users timezone. Only for daily/weekly Random hour
day E.g. Wednesday Only for weekly Random day
ignore_small_changes E.g. true/false Ignore common noise such as relative dates and paging true
tag_list Comma separated tag names Assign tags Empty
notification_addresses E.g. jo@test.com, max@test.com Comma separated list of existing notification addresses No emails sent
partial_selector #main CSS selector of page part to monitor Empty

JSON POST Payload Example

{
  "url": "https://example.com",
  "title": "",
  "partial_selector": "body > div",
  "frequency": "daily",
  "hour": "03:00am",
  "notification_addresses": "max@test.com, jo@test.com, jan@test.com",
 }

JSON Response Examples

200 {status: 'success', id: 'df6yt9eJh'}
400 {status: 'error', error: 'Url is blank'}

Edit track

List recent changes order by most recent first. Represent the same data as the notifications page in the dashboard.

POST https://trackly.io/api/v2/[:TOKEN]/tracks/[:TRACK_ID]

Query Parameters

Name Values Description Default
url Eg: https://example.com/test.html Keywords to search by track name and url Required field
title Title name string Name the track Page title
frequency Options: hourly, daily, weekly How often to check daily
hour E.g. 12:00am or 6:00pm Hour in users timezone. Only for daily/weekly Random hour
day E.g. Wednesday Only for weekly Random day
partial_selector #main CSS selector of page part to monitor Whole page
ignore_small_changes E.g. true/false Ignore common noise such as relative dates and paging true
tags Comma separated tag names Assign tags Empty
notification_addresses E.g. jo@test.com, max@test.com Comma separated list of existing notification addresses No emails sent

JSON POST Payload Example

{
  "url": "https://example.com",
  "title": "",
  "partial_selector": "body > div",
  "frequency": "daily",
  "hour": "03:00am",
  "notification_addresses": "max@test.com, jo@test.com, jan@test.com",
 }

JSON Response Examples

200 {status: 'success', id: 'df6yt9eJh'}
400 {status: 'error', error: 'Url is blank'}

Delete track

Delete a track

DELETE https://trackly.io/api/v2/[:TOKEN]/tracks/[:TRACK_ID]

JSON Response Examples

200 {status: 'success', id: 'df6yt9eJh'}
404 {status: 'error', error: 'Track not found'}

Track check scheduling

Pause, resume or check a track now.

PUT https://trackly.io/api/v2/[:TOKEN]/tracks/[:TRACK_ID]/[pause|resume|check]

JSON Response Examples

200 {status: 'success', id: 'df6yt9eJh'}
404 {status: 'error', error: 'Track not found'}

Still need help? Contact Us Contact Us