LinkAce Search API
The Search API from LinkAce — 3 operation(s) for search.
The Search API from LinkAce — 3 operation(s) for search.
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/linkace:linkace-search-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: LinkAce Search API
version: '2.0'
license:
name: GPL-3.0-or-later
url: https://opensource.org/licenses/gpl-3.0.html
contact:
url: https://github.com/Kovah/LinkAce
description:
$ref: ./intro.md
servers:
- url: https://demo.linkace.org
description: Demo Server
tags:
- name: Search
paths:
/api/v2/search/links:
parameters:
- $ref: '#/components/parameters/DefaultAccept'
get:
summary: Search Links
tags:
- Search
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LinkPaginator'
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
operationId: get-api-v2-search-links
description: Search all links saved in LinkAce
security:
- api_token: []
parameters:
- $ref: '#/components/parameters/PaginatorAmount'
- schema:
type: string
in: query
name: query
description: Query used to search for Links
required: true
- schema:
type: boolean
in: query
name: search_title
description: Enables searching in the title
- schema:
type: boolean
in: query
description: Enables searching in the description
name: search_description
- schema:
type: boolean
in: query
name: private_only
description: Search for private links only
- schema:
type: boolean
in: query
name: broken_only
description: Search for broken links only (Status is not "Ok")
- schema:
type: boolean
in: query
name: empty_lists
description: Search for links without any lists attatched
- schema:
type: boolean
in: query
name: empty_tags
description: Search for links without any tags attatched
- schema:
type: string
in: query
name: only_lists
description: Comma-separated list of list IDs a link must have
- schema:
type: string
in: query
name: only_tags
description: Comma-separated list of tag IDs a link must have
- schema:
type: string
default: title:asc
enum:
- title:asc
- title:desc
- url:asc
- url:desc
- created_at:asc
- created_at:desc
in: query
name: order_by
description: 'Order the results by the following format: "field_to_order:order_direction", e.g. "title:asc"'
/api/v2/search/lists:
parameters:
- $ref: '#/components/parameters/DefaultAccept'
get:
summary: Search Lists for Link Editing
tags:
- Search
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListPaginator'
examples:
Example for Query "articles":
value:
'11': Scientific Articles
'23': Web Development Articles
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
operationId: get-api-v2-search-lists
description: Search Lists to be used for Link editing.
security:
- api_token: []
parameters:
- $ref: '#/components/parameters/PaginatorAmount'
- schema:
type: string
in: query
name: query
description: Query used to search for Lists
required: true
/api/v2/search/tags:
parameters:
- $ref: '#/components/parameters/DefaultAccept'
get:
summary: Search Tags for Link Editing
tags:
- Search
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TagPaginator'
examples:
Example for Query "programming":
value:
'83': programming
'138': programming-books
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
operationId: get-api-v2-search-tags
description: Search tags to be used for Link editing.
security:
- api_token: []
parameters:
- $ref: '#/components/parameters/PaginatorAmount'
- schema:
type: string
in: query
name: query
description: Query used to search for Tags
required: true
components:
schemas:
LinkWithoutRelations:
title: 'Model: Link'
type: object
x-examples:
Example Response for DuckDuckGo.com:
id: 85
user_id: 1
url: https://duckduckgo.com
title: DuckDuckGo — Privacy, simplified.
description: The Internet privacy company that empowers you to seamlessly take control of your personal information online, without any tradeoffs.
icon: fa fa-link
visibility: 1
status: 1
check_disabled: false
lists: []
tags: []
created_at: '2020-03-09T19:33:23.000000Z'
updated_at: '2020-03-09T19:33:23.000000Z'
deleted_at: null
properties:
id:
type: integer
minimum: 1
example: 84
user_id:
type: integer
example: 1
minimum: 1
url:
type: string
format: uri
example: https://duckduckgo.com
title:
type: string
description:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
pattern: fa fa-link
visibility:
$ref: '#/components/schemas/Visibility'
status:
type: integer
enum:
- 1
- 2
- 3
check_disabled:
type: boolean
created_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
updated_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
deleted_at:
type:
- string
- 'null'
format: date-time
example: '2020-03-09T19:33:23.000000Z'
x-tags:
- model
TagPaginator:
title: 'Paginator: Tags'
type: object
properties:
total:
type: integer
to:
type: integer
prev_page_url:
type:
- string
- 'null'
per_page:
type: string
path:
type: string
next_page_url:
type:
- string
- 'null'
last_page_url:
type: string
example: http://linkace.localhost/api/v2/tags?page=7
last_page:
type: integer
from:
type: integer
first_page_url:
type: string
example: http://linkace.localhost/api/v2/tags?page=1
data:
type: array
items:
$ref: '#/components/schemas/Tag'
current_page:
type: integer
x-tags:
- model
Tag:
title: 'Model: Tag'
type: object
x-examples:
Example of a Tag:
id: 118
user_id: 1
name: alternative
visibility: 1
created_at: '2019-02-24T20:39:25.000000Z'
updated_at: '2019-02-24T20:39:25.000000Z'
deleted_at: null
properties:
id:
type: integer
user_id:
type: integer
name:
type: string
visibility:
type: integer
enum:
- 1
- 2
- 3
created_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
updated_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
deleted_at:
type:
- string
- 'null'
format: date-time
example: '2020-03-09T19:33:23.000000Z'
x-tags:
- model
List:
title: 'Model: List'
type: object
x-examples:
Example of a List:
id: 3
user_id: 1
name: CSS Frameworks
description: null
visibility: 1
created_at: '2020-01-24T13:13:02.000000Z'
updated_at: '2020-01-24T13:13:02.000000Z'
deleted_at: null
links: https://example.com/api/v2/list/3/links
properties:
id:
type: integer
user_id:
type: integer
name:
type: string
description:
type:
- string
- 'null'
visibility:
$ref: '#/components/schemas/Visibility'
created_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
updated_at:
type: string
format: date-time
example: '2020-03-09T19:33:23.000000Z'
deleted_at:
type:
- string
- 'null'
format: date-time
example: '2020-03-09T19:33:23.000000Z'
links:
type: string
description: Contains the API URL to get the actual links of a list.
x-tags:
- model
ValidationError:
title: 'Model: ValidationError'
type: object
properties:
message:
type: string
example: The given data was invalid.
errors:
type: object
properties:
form_key:
type: array
items:
type: string
uniqueItems: false
x-tags:
- model
LinkPaginator:
title: 'Paginator: Links'
type: object
properties:
total:
type: integer
to:
type: integer
prev_page_url:
type:
- string
- 'null'
per_page:
type: string
path:
type: string
next_page_url:
type:
- string
- 'null'
last_page_url:
type: string
example: http://linkace.localhost/api/v2/links?page=7
last_page:
type: integer
from:
type: integer
first_page_url:
type: string
example: http://linkace.localhost/api/v2/links?page=1
data:
type: array
items:
$ref: '#/components/schemas/LinkWithoutRelations'
current_page:
type: integer
x-tags:
- model
Visibility:
type: integer
enum:
- 1
- 2
- 3
description: 'Defines the visibility: 1 - public, 2 - internal, 3 - private'
x-tags:
- model
ListPaginator:
title: 'Paginator: Lists'
type: object
properties:
total:
type: integer
to:
type: integer
prev_page_url:
type:
- string
- 'null'
per_page:
type: string
path:
type: string
next_page_url:
type:
- string
- 'null'
last_page_url:
type: string
example: http://linkace.localhost/api/v2/lists?page=7
last_page:
type: integer
from:
type: integer
first_page_url:
type: string
example: http://linkace.localhost/api/v2/lists?page=1
data:
type: array
items:
$ref: '#/components/schemas/List'
current_page:
type: integer
x-tags:
- model
parameters:
DefaultAccept:
name: accept
description: Default header needed for every request
in: header
required: true
schema:
type: string
default: application/json
PaginatorAmount:
name: per_page
description: Amount of entries to return per page. Use -1 to return all items.
in: query
schema:
type: integer
minimum: -1
x-examples:
100 entries per page:
per_page: 100
all entries on first page:
per_page: -1
securitySchemes:
api_token:
type: http
scheme: bearer
description: API token received from the user settings