Endpoints
Context API Access and Setup
The Spur Context API provides a lookup capability for individual IP addresses. By default, the data returned by our API reflects what we know at this moment. It is a real-time representation of our IP address data. Accessing historical records is possible with an additional add-on subscription.
All Context API authentication is performed using a Token
header.
https://api.spur.us
Don't have a token yet?
Visit the Spur dashboard and purchase a subscription today!
Query Arguments
Code | Description |
---|---|
dt | A datetime in the format YYYYmmdd. This argument is only valid for subscriptions with access to historical records. |
Response Codes
Code | Description |
---|---|
200 | The request succeeded. |
400 | Bad input provided; IP must be a public IPv4 or IPv6 address. |
401 | Access is denied; your token is most likely invalid. |
403 | Your token is valid but does not have access to the Context API. |
429 | Your account has insufficient queries to perform this action. |
500 | An error occurred. |
Response Headers
Code | Description |
---|---|
x-balance-remaining | The number of queries remaining in this billing cycle. |
x-result-dt | The date for which this response is sourced in the format YYYYmmdd. When performing historical lookups, this date indicates that the IP context response is from the YYYYmmdd data feed. |
The IP Context Object
The IP Context Object summarizes all available information for an IP address. It is provided as a single dictionary. All fields not explicitly marked as required may be omitted if their value is null.
Attributes
Container for BGP autonomous system information.
Descriptive data about the connecting client.
Infrastructure type.
IPv4 address associated with the connection.
Location information of the IP or user.
List of identified risk factors or behaviors.
List of services or protocols in use (e.g., OPENVPN, IPSEC).
Information about tunneling methods (VPN, TOR, etc.) used.
{"as": {"number": 30083,"organization": "AS-30083-GO-DADDY-COM-LLC"},"client": {"behaviors": ["TOR_PROXY_USER"],"concentration": {"city": "Weldon Spring","country": "US","density": 0.202,"geohash": "9yz","skew": 45,"state": "Missouri"},"count": 14,"countries": 1,"proxies": ["LUMINATI_PROXY", "SHIFTER_PROXY"],"spread": 4941431,"types": ["MOBILE", "DESKTOP"]},"infrastructure": "DATACENTER","ip": "148.72.164.186","location": {"city": "St Louis","country": "US","state": "Missouri"},"risks": ["WEB_SCRAPING", "TUNNEL"],"services": ["IPSEC", "OPENVPN"],"tunnels": [{"anonymous": true,"entries": ["148.72.164.179"],"exits": ["148.72.164.177"],"operator": "NORD_VPN","type": "VPN"}]}
Lookup an IP Address
Retrieves an IP Context Object by IPv4 or IPv6 address. An IP Context Object summarizes all available information about the queried IP address. Some fields are optional and will be omitted if not available.
curl https://api.spur.us/v2/context/148.72.164.186 \-H "Token: SPUR_TOKEN"
{"as": {"number": 30083,"organization": "AS-30083-GO-DADDY-COM-LLC"},"client": {"behaviors": ["TOR_PROXY_USER"],"concentration": {"city": "Weldon Spring","country": "US","density": 0.202,"geohash": "9yz","skew": 45,"state": "Missouri"},"count": 14,"countries": 1,"proxies": ["LUMINATI_PROXY", "SHIFTER_PROXY"],"spread": 4941431,"types": ["MOBILE", "DESKTOP"]},"infrastructure": "DATACENTER","ip": "148.72.164.186","location": {"city": "St Louis","country": "US","state": "Missouri"},"risks": ["WEB_SCRAPING", "TUNNEL"],"services": ["IPSEC", "OPENVPN"],"tunnels": [{"anonymous": true,"entries": ["148.72.164.179"],"exits": ["148.72.164.177"],"operator": "NORD_VPN","type": "VPN"}]}
The Tag Metadata Object
The Tag Metadata Object includes analysis, statistics, and metrics for a service tag.
Attributes
Whether the service supports or facilitates crypto-based payments or platforms.
Whether the service is available for free usage.
Whether the service offers multi-hop or chaining functionalities.
Whether the service permits torrent or P2P file-sharing traffic.
Indicates whether white-label or rebranded versions of the service exist.
Product categories for bandwidth reselling and routing.
A free-text description of the service or entity.
Whether the service or infrastructure primarily aims to anonymize user traffic.
Whether the service includes callback or reverse-proxy functionalities.
Whether the service or platform is oriented toward enterprise usage.
Whether the service is currently inactive or defunct.
Whether the service claims a 'no logging' policy.
Human-readable name of the service or entity.
Operating systems and environments supported by this service.
Protocols or services used for network traffic.
Unique identifier or tag for this service or entity.
Possible granularities for configuring a service exit or route.
Primary website or homepage for the service.
{"allowsCrypto": "false","allowsFreeAccess": "false","allowsMultihop": "false","allowsTorrents": "false","allowsWhiteLabel": "true","categories": ["RESIDENTIAL_PROXY", "DATACENTER_PROXY", "MOBILE_PROXY", "ISP_PROXY"],"description": "OxyLabs is the second largest proxy provider tracked. Their users are sourced through SDKs embedded in mobile applications and browser extensions. These users are likely unaware that they agreed to contribute to this proxy network.","isAnonymous": "true","isCallbackProxy": "true","isEnterprise": "false","isInactive": "false","isNoLog": "true","metrics": {"averageDeviceCount": "37.20332478669546","churnRate": "0.08675012801772562","distinctASNs": "25334","distinctCountries": "235","distinctIPs": "6367903","distinctISPs": "67413"},"name": "Oxylabs","platforms": ["ROUTER"],"protocols": [],"tag": "OXYLABS_PROXY","targetingTypes": ["CITY", "STATE", "COUNTRY", "ASN"],"website": "https://oxylabs.io"}
Lookup Tag Metadata
Retrieves a Tag Metadata Object which contains a summary of metrics and information for the provided tag.
curl https://api.spur.us/v2/metadata/tags/OXYLABS_PROXY \-H "Token: SPUR_TOKEN"
{"allowsCrypto": "false","allowsFreeAccess": "false","allowsMultihop": "false","allowsTorrents": "false","allowsWhiteLabel": "true","categories": ["RESIDENTIAL_PROXY", "DATACENTER_PROXY", "MOBILE_PROXY", "ISP_PROXY"],"description": "OxyLabs is the second largest proxy provider tracked. Their users are sourced through SDKs embedded in mobile applications and browser extensions. These users are likely unaware that they agreed to contribute to this proxy network.","isAnonymous": "true","isCallbackProxy": "true","isEnterprise": "false","isInactive": "false","isNoLog": "true","metrics": {"averageDeviceCount": "37.20332478669546","churnRate": "0.08675012801772562","distinctASNs": "25334","distinctCountries": "235","distinctIPs": "6367903","distinctISPs": "67413"},"name": "Oxylabs","platforms": ["ROUTER"],"protocols": [],"tag": "OXYLABS_PROXY","targetingTypes": ["CITY", "STATE", "COUNTRY", "ASN"],"website": "https://oxylabs.io"}
Lookup API Token Status
Retrieves the status of your API token, the number of queries remaining for your billing period, and your service tier.
curl https://api.spur.us/status \-H "Token: SPUR_TOKEN"
{"active": true,"queriesRemaining": 49283,"serviceTier": "online"}
Frequent Questions
Do you have a bulk lookup endpoint?
No. We require that each IP be submitted individually.
Where is the last-seen time?
We return the assessment as of the time of the query. We age off any data that we believe is no longer accurate.
Do you offer historical search?
Enterprise API subscriptions have the ability to add historical lookups to their API subscription. If you are interested, please contact your Spur sales rep or sales@spur.us.
How do I get a token?
If you purchased our API from our website or have linked your enterprise plan to an online account, you can view your token at https://app.spur.us/settings/api. Otherwise, contact your Spur rep for access information.
How can I evaluate the API?
We do not offer a free tier, but monthly plans start at $125 from https://app.spur.us/settings/plans. If you are interested in an enterprise license, please contact sales@spur.us.