diff --git a/docs/backendPCredito.md b/docs/backendPCredito.md
new file mode 100644
index 00000000..e5cb70ac
--- /dev/null
+++ b/docs/backendPCredito.md
@@ -0,0 +1,172 @@
+## Import
+Foram importadas as bibliotecas:
+
+*FastAPI: Framework para construir APIs.
+*requests: Biblioteca para fazer requisições HTTP.
+*re*: Biblioteca para expressões regulares.
+*typing: Tipagem para listas, dicionários e união de tipos.
+*pydantic: Biblioteca para validação de dados.
+*datetime: Biblioteca para manipulação de datas.
+
+## Sobre o Back-end
+
+O back-end possui vários algoritmos de raspagem de dados onde eles recebem um dicionário como entrada e em seguida acessam
+a api do querido diário e retornam listas de dicionários contendo os dados obtidos do diário oficial da união através da api do querido diário.
+
+
+## Puxador_credito
+
+Este algoritmo recebe de entrada dois dados em um dicionário, o `published_since: date` como data e inicio da busca e com o `date` sendo o formato da hora no padrão americano e o `published_until: date` sendo a data para o fim da busca.
+
+ficando neste formato:
+
+```python
+{
+published_since: date,
+published_until: date
+}
+```
+
+O retorno deste algoritmo é uma lista de dicionarios com os seguintes dados encontrados:
+
+```python
+({
+"data": data,
+"empresa": empresa,
+"cnpj": cnpj,
+"objeto": objeto,
+"valor": valor_float
+})
+```
+
+
+
+## Como rodar o Back-end
+
+
+
Como utilizar o WebScrapper com a API do Querido diário
+
+
+Os WebScrapper são progamas em python que filtram os dados recebidos através da API do Querido diário
+
+
+
+### Requisitos:
++ Python 3.10 ou superior
++ Requests
++ Re
+
+A API pode ser acessada por este [link](https://queridodiario.ok.org.br/api/docs#/)
+
+### Configurando a API
+Primeiro é nescessario ditar os parâmetros na opção de gazetas:
++ ID do município que deseja realizar a busca
++ Intervalo de tempo em que deseja buscar
++ String que deseja
++ o numero de caractéres que irá retornar
++ Numero maximo de resultados
++ Numero maximo de resultaods por gazeta retornada
++ Ordenar a Data
+![image](https://github.com/user-attachments/assets/74b48bc4-5ba7-49fd-97c3-1593f1bf837f)
+
+
+Ao executar a APi ela retornará o seguinte link
+![image](https://github.com/user-attachments/assets/ebde8164-2ee5-4fb0-8aa6-14b82f64397b)
+
+Este link retorna um ou varios Json de acordo com os parâmetros buscados
+Temos:
++ O total de gazetas
++ Id do territorio
++ Data
++ Data em que foi processado
++ URL do diario em PDF
++ Nome do territorio
++ Sigla do estado
++ A string que foi buscada dentro de um excerpt
++ verifica se o diario é uma versão extra-oficial
++ link para o diario oficial em txt
+![image](https://github.com/user-attachments/assets/bfbb22ea-9022-4aa9-a624-abbf30eeeffc)
+
+
+### Utilizando o progama em python
+
+usarei de exemplo o codigo do puxador de verbas de escola
+
+Como parametro de query coloquei "Nº CRE/UE Capital Total" pois é assim que aparecem as verbas de escola no arquivo .txt
+![image](https://github.com/user-attachments/assets/517990ca-08ec-49fb-a65a-836e708e3e53)
+
+
+Utilizando a biblioteca Requests, colocando o link com o comando Request.get(link)
+~~~Python
+# Fazendo a solicitação GET para a API
+response = requests.get(
+ F'https://queridodiario.ok.org.br/api/gazettes?territory_ids=5300108&published_since=2023-06-26&published_until=2023-06-30&querystring=%22RECONHECIMENTO%20DE%20D%C3%8DVIDA%22&excerpt_size=500&number_of_excerpts=100000&pre_tags=&post_tags=&size=10000&sort_by=descending_date'
+)
+
+~~~
+
+Apos isso o resultado é tratado e reorganizado para que valores moneterios utilizem "." ao invez de "," para que sejam tratados em python
+
+~~~Python
+# Verificando se a solicitação foi bem-sucedida
+if response.status_code == 200:
+ # Convertendo a resposta para JSON
+ dados = response.json()
+
+ # Acessando a lista de gazettes dentro dos dados
+ gazettes = dados['gazettes']
+
+ # Conjunto para armazenar as datas já vistas
+ datas_vistas = set()
+
+ # Iterando sobre cada gazette na lista
+ for gazette in gazettes:
+ # Acessando a data de cada gazette
+ data = gazette['date']
+ # URL para o PDF do diário oficial
+ url = gazette['url']
+
+ # Verificando se a data já foi vista
+ if data not in datas_vistas:
+ # Adicionando a data ao conjunto de datas vistas
+ datas_vistas.add(data)
+
+ # Acessando a lista de excertos de cada gazette
+ excertos = gazette['excerpts']
+
+ # Iterando sobre cada excerto
+ for excerto in excertos:
+ # Substituindo quebras de linha múltiplas por um único espaço
+ excerto = re.sub(r'\s+', ' ', excerto)
+
+ # Usando expressão regular para encontrar o Decreto e Valor
+ decreto_match = re.search(r'DECRETO\s*N[ºo]\s*([\d.]+)', excerto, re.IGNORECASE)
+ valor_match = re.search(r'valor\s*de\s*R\$\s*([\d,.]+)', excerto, re.IGNORECASE)
+
+ if decreto_match and valor_match:
+ # Extraindo o decreto encontrado
+ decreto = decreto_match.group(1).strip()
+
+ # Extraindo o valor encontrado
+ valor = valor_match.group(1)
+ # Removendo caracteres não numéricos, exceto vírgulas e pontos
+ valor_limpo = re.sub(r'[^\d,.]', '', valor)
+ # Removendo pontos extras como separadores de milhar
+ valor_limpo = valor_limpo.replace('.', '')
+ # Trocando a vírgula por ponto para ter o formato correto para float
+ valor_limpo = valor_limpo.replace(',', '.')
+ # Convertendo o valor para float
+ valor_float = float(valor_limpo)
+
+ # Adicionando as informações extraídas à lista de resultados
+ results.append({
+ "data": data,
+ "decreto": decreto,
+ "valor": valor_float
+ })
+
+ # Retornando a lista de resultados
+ return results
+ else:
+ # Se a solicitação falhar, retorna o código de status
+ return response.status_code
\ No newline at end of file