Snippets
Searchbar.org API Reference
Este documento detalha as principais rotas da API para usuário desenvolvedor e integração com o Searchbar.
Antes de começar
A Url base da API do Searchbar é
https://api.searchbar.org/v1
Erros Genéricos
Código | Descrição |
---|---|
401 | Usuário não autorizado ou token inválida |
400 | Request mal formado |
422 | Payload/json com campos faltantes |
Todos os requests possuem Rate Control (a fim de evitar ataques DDoS). Portanto, considere o limite de 3 requests simultâneos, aguardando a resposta para iniciar novos requests.
Autenticação
Para ter acesso à API Searchbar é necessário obter uma token de autorização, que deve ser incluída como Bearer Token no cabeçalho "Authentication" em todos os demais requests.
"Authorization" : "Bearer [sua_token_de_authorização]"
POST /account/login
{
"email": "seuemail@exemplo.com",
"password": "suasenha"
}
Parâmetro | Tipo | Descrição |
---|---|---|
String | O email da sua conta Searchbar | |
password | String | A senha da sua conta Searchbar |
Exemplo Retorno
{
"user": "meuemail@exemplo.com",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCJ6IkpXVCJ9.eyJpZCI6IjViZWM2MzIxN2IartcwMjJlMDU3OGNlMyIsInRva2VuVHlwZSI6InByaXZhdGUiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE1OTE2NzYwNjksImV4cCI6MTU5MTc2MjQ2OX0.Gotjepi8xfa8oakzVg2eMkEm3GMpCuNvmkdcJejJEyc",
"publicToken": "eyJhbGciOiJIUzI1NiPirnR5cCI6IkpXVCJ9.eyJpZCI6IjViZWM2MzIxN2IwYTcwMfg45sU3OGNlMyIsInRva2VuVHlwZSI6InB1YmxpYyIsImlhdCI6MTU5MTY3NjA2OSwiZXhwIjoxNTkxNzYyNDY5fQ.Ve68IS19aMrddWf800V1eDCKa_vy8Kqvek5UDT0o7b0",
"expirationDate": "2020-04-21T04:14:29.000Z"
}
Parâmetro | Tipo | Descrição |
---|---|---|
user | String | O email da sua conta Searchbar |
token | String | Sua token privada para utilização da API. Não publique ou compartilhe a sua token privada. Expira após 24hrs |
publicToken | String | Sua token pública para utilização em ambientes públicos e no seu site. Não Expira. |
expirationDate | ISO Date | Data da expiração da sua token privada. Após esse período, é necessário novo login. |
GET /account/site
Retorna os sites cadastrados e indexados na sua conta.
[
{
"name": "Site Principal",
"sitemap": "https://meusite.com.br/sitemap.xml",
"site": "https://meusite.com.br",
"active": true
}
]
Parâmetro | Tipo | Descrição |
---|---|---|
name | String | Alias do site |
sitemap | String | Caso seja informado um sitemap, ou o crowler encontre algum automaticamente, o endereço do Arquivo sitemap.xml é retornado |
site | String | URL base do Site indexado |
active | Boolean | Ativo ou Inativo |
POST /account/site
Define o site principal da sua conta.
Cuidado: este request atualiza todas as páginas da sua conta, exceto as inseridas manualmente pelo usuário.
{
"site":"https://meunovosite.com.br"
}
Parâmetro | Tipo | Descrição |
---|---|---|
site | String | URL do site a ser indexado |
GET /page/
Efetua uma busca por texto nas páginas indexadas na sua conta
GET /page/?q=termo&offset=0&size=10
Parâmetro | Tipo | Descrição |
---|---|---|
q | String | Query a ser buscada |
offset | Number | Define o offset de paginação para retornar a busca |
size | Number | Define a quantidade de resultados por página retornada (máximo 100) |
Exemplo de Retorno
{
{
"term": "termo",
"total": 61,
"from": "0",
"to": 10,
"results": [
{
"_index": "pages",
"_type": "page",
"_id": "5edf0eded584ee21c924c732",
"_score": 2,
"_source": {
"url": "https://meunovosite.com.br/about-us/",
"account": "5bec63217b0a7022e0578ce3",
"status": "PROCESSED",
"origin": "SITEMAP",
"weight": 1,
"description": "This is the page result description...",
"title": "Page Title"
},
"highlight": {
"description.special": [
"This is a <em>highlighted</em> text description..."
]
}
}
}
}
}
Parâmetro | Tipo | Descrição |
---|---|---|
term | String | Termo buscado |
total | Number | Quantidade total de páginas encontradas que atendem ao termo buscado |
from | Number | Início da paginação atual |
to | Number | Fim da paginação atual |
results | Array | Lista de Resultados |
POST /page/
Insere páginas customizadas ou atualiza páginas existentes.
Importante: Este recurso possui limite de 50 páginas adicionáveis no mesmo request e o Payload não deve ultrapassar 500 KBs.
{
"pages": [
{
"url": "http://example.com/1",
"title": "This is a title example",
"description": "This is the description from the page. It can be a large text."
},
{
"url": "http://example.com/2",
"title": "This is a title example 2",
"description": "This is the description from the page. It can be a large text.",
"tags": ["blog", "news"],
"image": "https://upload.wikimedia.org/wikipedia/commons/b/b6/Image_created_with_a_mobile_phone.png"
},
{
"url": "http://example.com/3",
"title": "This is a title example 3 ",
"description": "This is the description from the page. It can be a large text.",
"weight": "2"
}
]
}
Parâmetro | Tipo | Descrição |
---|---|---|
pages | Array | Array de Pages |
url | String | URL da página a ser adicionada (Obrigatório) |
title | String | Título da página a ser adicionada (Obrigatório) |
description | String | Descrição da página a ser adicionada |
tags | String Array | Tags opcionais para classificar páginas |
weight | Number | Peso da página. Páginas multiplicam seu score com o seu peso para se tornarem artificialmente mais relevantes. |
DELETE /page/
Remove a lista de páginas enviadas ou remove todas as páginas
{
"deleteAll": false,
"deleteList": [
"http://example.com/1",
"http://example.com/2",
"http://example.com/3",
"http://example.com/5"
]
}
Parâmetro | Tipo | Descrição |
---|---|---|
deleteAll | Boolean | Quando true, remove todas as páginas indexadas na conta |
deleteList | Array | Lista com as URLs das páginas a serem deletadas |
You can clone a snippet to your computer for local editing. Learn more.