Open documentation ↗Overview
API to easily extract data from websites. # Base URL All URLs referenced in the documentation have the following base: ``` https://api.link.fish ``` The REST API is only served over HTTPS. To ensure data privacy, unencrypted HTTP is not supported. # Authentication HTTP requests to the REST API are protected with [HTTP Basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). You will use the email address of your link.fish account as the username and your API access token as the password for HTTP Basic authentication. If you do not have an account yet, go to [https://link.fish/api](https://link.fish/api) and create one first. You will receive the API access token automatically via email after you signed up. To generate a new token and invalidate the current one log into your link.fish account at [https://app.link.fish](https://app.link.fish) and go to: "Plugins" -> "API Dashboard" There you can also see how many credits you used already. # Errors The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format: ``` { "status": {HTTP STATUS CODE} "message": "{ERROR MESSAGE}" } ``` Like for example when the authorization is not provided or wrong: ``` { "status": 401 "message": "Unauthorized" } ``` # Request IDs Each API request has an associated request identifier. You can find it in the response headers, under X-LF-Request-Id. In case you have problems please provide this identifier that we can help you as good and fast as possible. Example: ``` X-LF-Request-Id: f7f0036f-5277-421a-b143-f7a151571d18 ``` # Item format The data is by default deeply nested. So if it should be checked if there is an offer with a price, the whole tree has to be checked. To make that simpler, it is also possible to return the data "flat". If selected it will flatten the tree by copying all the data to the main level under a property with the name of its type and link the data internally. Information: We created a node module which allows converting between the two formats. It did not get open sourced yet. If you are in need, simply contact us via [email protected]. # Response Content Type By default, all data gets returned as JSON. If the data should be returned as XML add the following header: ``` Accept: application/xml ``` # Credits Depending on the request made a different amount of credits get charged. How many which request costs can be found on the [API pricing page](http://link.fish/api/#pricing). Additionally, does a header named "X-LF-Credits-Charged" get added to each successful response with information about the credits. Example: ``` X-LF-Credits-Charged: 1 # Credits used for current requests X-LF-Credits-Subscription-Max: 1000 # Total credits available in subscription X-LF-Credits-Subscription-Used: 512 # Credits still left in current month ``` You can check anytime how many credits you did use already by logging into your link.fish account at [https://app.link.fish](https://app.link.fish) and checking under: "Plugins" -> "API Dashboard" If you have problems, questions or improvement advice please send us an email to [email protected]
link.fish API is a development API from link.fish. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 8 endpoints.
At a glance
- Authentication
- HTTP Basic
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Development
- Base URL
https://api.link.fish/- Version
- 2018-07-05
- Endpoints
- 8
- OpenAPI
- Specification ↗
- Spec updated
- 2020-08-10
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.link.fish/Urls/apps" \
-H "Accept: application/json" \
-H "Authorization: Basic BASE64_USER_PASSWORD"const response = await fetch("https://api.link.fish/Urls/apps", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Basic BASE64_USER_PASSWORD",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.link.fish/Urls/apps",
headers={
"Accept": "application/json",
"Authorization": "Basic BASE64_USER_PASSWORD",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /Urls/apps | Get mobile apps |
| GET | /Urls/browser-data | Extract data (browser) |
| GET | /Urls/browser-screenshot | Generate screenshot (browser) |
| GET | /Urls/data | Extract data |
| GET | /Urls/data-raw | Return data of JSON/XML |
| GET | /Urls/data-tabular | Return tabular data |
| GET | /Urls/geo-coordinates | Get geo coordinates |
| GET | /Urls/social-media | Get social media accounts |
Questions
Does the link.fish API API need an API key?
Yes. The link.fish API API uses HTTP Basic authentication; the documentation explains how to get credentials.
Does the link.fish API API support HTTPS?
Yes, the link.fish API API is served over HTTPS.
How many endpoints does the link.fish API API have?
Its OpenAPI description lists 8 endpoints in version 2018-07-05. All of them are shown on this page.
What are alternatives to the link.fish API API?
Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from APIs.guru (CC0).